NGINX.COM
Web Server Load Balancing with NGINX Plus

Overview

SolvIT Inc is a privately owned technology solutions provider with offices in the Detroit area. The company delivers IT services to a range of enterprises, including help desk, private cloud hosting, data acquisition and validation, and custom technology.

Challenge

An IT service provider offering a wide range of client‑facing services, SolvIT not only needs to offer customers high levels of reliability, scalability, and security, but also must support a number of legacy and modern applications for multiple concurrent users globally.

Originally, the company’s servers were in a physical data center using Fortinet hardware load balancers. Apache HTTP Server served large amounts of static content, but the footprint was large and configuration complex.

The SolvIT team subsequently migrated to Amazon Web Services (AWS); however, SolvIT still needed a solution that met its key requirements of load balancing, session persistence, and WebSocket to support real‑time bidirectional communication between their servers and clients. By combining load balancing with session persistence, SolvIT was seeking to distribute traffic efficiently across the infrastructure while making optimum use of server resources. Session persistence ensures that traffic was directed to the same backend server for the duration of each user session, enhancing the effectiveness of caching and precaching on those backend servers while helping to satisfy higher user demand.

SolvIT also wanted reliable network and application behavior, a robust health‑check capability to ensure a consistent customer experience, and dynamic configuration to account for autoscaling.

Although SolvIT had in‑house expertise to create bespoke solutions based on open source technologies, the time taken to fully engage with open source communities to deliver a solution was prohibitive. The company was therefore looking for a reliable, feature‑rich, easy-to-implement product.

Additionally, SolvIT’s customers run a wide range of legacy applications with varying levels of encryption, and some were vulnerable to security weaknesses that commonly accumulate in older, hard-to-update applications. Improving the security stance of these legacy applications presented an ongoing challenge.

Solution

SolvIT conducted rigorous testing of a range of competitive products, finding that NGINX Plus supported its requirements natively, delivering a rapid and trouble‑free deployment that solved a wide range of challenges far more elegantly than using dedicated hardware or the AWS Elastic Load Balancer (ELB) and Application Load Balancer (ALB) products.

SovIT is now able to address both simple needs such as web serving and load balancing as well as more complex ones such as advanced security and robust reliability and availability.

To meet web‑server requirements, SolvIT implemented NGINX Plus, replacing Apache HTTP Server across the board. In addition, the company used NGINX Plus to solve load‑balancing challenges including ensuring session persistence and WebSocket support.

In terms of addressing security requirements, NGINX Plus also handles SSL/TLS for legacy applications by proxying for them, thus reducing exposure of the backend servers and minimizing the attack surface, while adding flexibility and allowing traffic targets to be changed quickly for maintenance.

NGINX Plus provides customizable and powerful active health checks. NGINX Plus periodically checks the health of upstream servers by sending health‑check requests to each server and verifying the correct response. Additionally, SolvIT benefits from out-of-band application health checks (also known as synthetic transactions) and a slow‑start feature to add new and recovered servers into the load‑balanced group. These features enable NGINX Plus to detect and work around a much wider variety of problems, significantly improving the reliability of HTTP and TCP/UDP applications.

The footprint of NGINX Plus is significantly smaller [than competitors], and the configuration is much simpler. In situations where we simply need basic HTTP functionality, this is much preferred as using Apache HTTP server for this would result in more overhead both in resources and management/configuration. The learning curve for NGINX Plus is incredibly short.
– Patrick Synor, Cloud Architecture Manager at SolvIT

NGINX and NGINX Plus are full-featured load balancers for HTTP, TCP, and UDP

Results

Performance and Operational Visibility Improvements

With NGINX Plus, SolvIT has been able to implement session persistence at Layer 7, which allows for considerably improved load distribution compared to the previous limited option of basing session persistence on source IP address at Layer 4.

The intuitive NGINX Plus API and dashboard provide a high level of performance visibility across the stack, helping SolvIT to manage traffic proactively.

Robust health checks enable SolvIT to prevent unhealthy instances receiving user traffic. Servers which are running outdated deployments or are in any way still running old code are not available to customers.

In addition to the health checks, NGINX Plus protects legacy customer applications that have weak security by acting as a proxy that handles SSL/TLS encryption and decryption for the apps.

Load Balancing Simplified

SolvIT is now able to handle approximately 3,000 concurrent users on its two NGINX Plus instances, with an average of 3,000–3,500 connections each. As for bandwidth, these instances are each reaching sustained traffic rates of approximately 1.5 Mbps in and 1.5 Mbps out during business hours. The NGINX Plus servers peak at around 10% CPU utilization.

NGINX Plus’s load‑balancing functionality delivers multiple benefits. Through load balancing applications based on tag values of instances in AWS, the team can easily move, enable or disable, and redirect traffic simply by changing tags on instances.

SolvIT’s Cloud Architecture Manager Patrick Synor believes that “the combination of NGINX Plus along with our tag‑based traffic management model is light years ahead of the effort required to do the equivalent with Apache HTTP Server or another product”.

As NGINX Plus provides an active‑active load balancing solution with consistent session persistence, users are routed to the same application server that handled their previous request, no matter which NGINX Plus instance a user lands on.

We are able to quickly change targets of traffic for deployment environments such as production, maintenance, and more.
– Patrick Synor, Cloud Architecture Manager at SolvIT
Reduced Costs

For SolvIT the cost of licensing NGINX Plus is significantly less than that of hardware load balancers, and it is more harmonized with the AWS cloud architecture. In addition, the no‑commitment AMI version can be a strong fit for development, evaluation, and on‑demand workloads.

About SolvIT

SolvIT was founded in 1999 by Paul and Erica Miner as an IT consulting company. In 2003, SolvIT formed a help desk serving auto dealers nationwide, and hasn’t looked back, now employing more than 140 employees implementing solutions and assisting customers globally. Today, SolvIT specializes in managed IT services with a strong focus on cloud migrations and hosting. For more information about SolvIT, please visit https://www.go2si.com.

Challenges

Required load balancing and robust health checking with session persistence and security.


Overview

SolvIT Inc. is a managed IT solutions provider.


Headquarters
Rochester Hills, Michigan
Founded in 1999
Solutions