Customer Case Study: Handling Thousands of Upstream Requests with Minimal Latency
Mobility, cloud, big data, and the Internet of Things are changing how businesses connect employees, applications, and devices. In the past, expensive, time-consuming custom code was the only way to integrate applications and services across a business. MuleSoft is changing that. Its Anypoint Platform™ is a complete solution for API-led connectivity that creates a seamless application network of apps, data, and devices, both on-premises and in the cloud. This hybrid integration platform includes iPaaS, ESB, and a unified solution for API management, design and publishing.
MuleSoft cloud runtime for Anypoint Platform is hosted on Amazon Web Services (AWS), and each customer deploys and runs its own applications on one or more workers, with each worker being a virtual machine. MuleSoft has thousands of workers running on it. MuleSoft’s challenge? Meet the performance and availability requirements of each customer with little visibility into the customer’s applications or upstream configurations. In addition, customers’ applications and needs change frequently. MuleSoft needed a better picture of customer traffic and the ability to respond dynamically in order to manage it most effectively.
“We were previously using the load balancing and reverse proxy features of the open source version of NGINX,” says Leschinsky. “However, customers’ applications are increasingly demanding. We needed more monitoring capabilities and more configuration flexibility. NGINX Plus offered exactly what we needed.”
NGINX Plus provides MuleSoft with an intelligent traffic gateway that is built on 10 years of battle-hardened software, proven in the world’s largest websites. Beyond simply authorizing external requests, NGINX Plus operates as a dynamic reverse proxy, determining where to route each request in real time.
All customer API traffic is directed to username.cloudhub.io, typically over HTTPS, and all domains resolve to the same cluster of IP addresses in AWS. Here, AWS’s Elastic Load Balancing accepts the traffic, performs Secure Socket Layer (SSL) decryption, and forwards the traffic to a pair of NGINX Plus traffic managers. NGINX Plus unpacks the requests and determines the identity of the target worker by querying Amazon Route53 using a DNS name constructed from the original request. It then forwards the request to the target worker over HTTPS or HTTP, depending on the security context of the request.
NGINX Plus enables MuleSoft to accurately forward requests to thousands of upstream workers with minimal latency.
>Specialized Expertise for Optimized Deployments
“One of the reasons we moved to NGINX Plus is its superior support,” says Leschinsky. “Their team is very technical and fast, delivering clean, proven solutions.” MuleSoft was able to quickly implement NGINX Plus with its current infrastructure. There was no need to replace or add hardware in order to achieve the ultra-high performance MuleSoft needed.
The NGINX support team also helps MuleSoft with optimizing its implementation. When the MuleSoft team ran into an SSL performance issue, NGINX engineers worked closely with them to help resolve it, delivering a new binary in less than two weeks. MuleSoft had been proactively looking at the issue, and the quick resolution meant customers were not impacted.
>Time and Cost Savings
NGINX Plus also saves MuleSoft a great deal of time and has helped the company avoid extra expenses. “We don’t have to spend more time ourselves to ensure high performance for our customers,” says Leschinsky. “NGINX Plus correctly handles backend additions and removals from pools and enables us to seamlessly upgrade instances of our platform. It is built so our customers never experience a blip in performance.”
With NGINX Plus, MuleSoft can easily ensure end-to-end SSL encryption of customer traffic. In the past, if a customer decided to use encryption, the MuleSoft team had to re-establish SSL connections at various points across the traffic path. Now, NGINX Plus opens an encrypted connection to the customer’s app and maintains it across the path without human intervention.
>Extending Flexibility and Performance
Leschinsky is impressed with the fact that NGINX Plus is stable and lightweight, handling the demanding environment easily, enabling customers to have a high-quality experience. Using reconfigurable DNS on the backend, Anypoint Platform can identify relevant characteristics of customer traffic on the fly and proxy it to the appropriate server. As a result, the platform can handle what customers choose to deploy.
“We want to give our customers the most flexibility for their applications,” Leschinsky says. “NGINX Plus’ robust features, scale, and versatility give customers more freedom in integrating their applications. At the same time, NGINX Plus gives us the agility we need to anticipate and meet customers’ needs as they arise – without fear of compromising availability or performance.”
Having proven the value of NGINX Plus in the cloud runtime, MuleSoft expanded its use of NGINX Plus within Anypoint Platform. Today, NGINX Plus is used in all Anypoint Platform services.
>NGINX Plus Lets Us Say ‘Yes’
“Our goal is to help customers transform their businesses by providing a powerful platform that enables API-led connectivity,” says Serge Leschinsky, DevOps engineer at MuleSoft. “NGINX Plus gives us lots of flexibility. We can be more responsive to customers. We can make their integrations easier and accommodate more requests. NGINX Plus lets us say ‘yes’ to what our customers want.”
MuleSoft is a registered trademark of MuleSoft, Inc. All other marks are those of respective owners.