Why You Must Experience Choosing The Right Load Balancer On Amazon: AWS Application Load Balancer Vs. NGINX Plus At Least Once In Your Lifetime
Anyone using highly scalable applications in Amazon Web
Services (AWS) now has some options for load balancing:
NGINX or NGINX Plus
AWS Elastic Load Balancer (ELB), now called Classic Load
Balancer
The new application loader, described by Amazon as an option
for Elastic load balancing.
The new option is described in a blog post and in product
documentation. In this publication, we'll examine the new features in Amazon
Load Balancer, then compare prices and features with open source NGINX and
NGINX Plus. We will also describe the role of Classic Load Balancer in relation
to these alternatives.
New features in the application load balancer
VIDEO 1.1 AWS TRAINING AND REVIEWS
The application load balancer (ALB), such as the Classic
Load Balancer, is well integrated into AWS. Amazon describes this as a layer 7
load balancer - though it lacks many advanced features that make people choose
a layer 7 load balancer in the first place.
Unlike Classic Load Balancer, ALB has several new features:
Routing based on content. Amazon claims content-based
routing for ALB. Currently, ALB can only route traffic based on the model
matches to the URL; rules can not select targets based on other criteria. One
implication is that each application (identified by a specific domain) requires
a dedicated ALB load balancer.
Support for applications containing containers. ALB improves
existing support for containers hosted on the Amazon EC2 container service.
More parameters. With content-based routing (limited) in
ALB, you can now collect metrics by microservice.
WebSocket support. The ALB supports persistent TCP
connections between a client and a server.
HTTP / 2 support. ALB supports HTTP / 2, a superior
alternative to delivering secure SSL / TLS content.
ALB is an important upgrade for AWS users who have struggled
with the limited feature set of Classic Load Balancer to meet the needs of
sophisticated users who need to be able to protect, optimize and control
traffic to their web applications. However, it does not combine the
capabilities of dedicated reverse proxies (such as NGINX) and load balancers
(such as NGINX Plus).
Instead of using Amazon ALB, users can deploy NGINX open
source or NGINX Plus in AWS to control and load balance traffic. They may want
to deploy Classic Load Balancer as an interface to high availability across
multiple availability zones. The table compares the features supported by ALB,
NGINX, and NGINX Plus.
Of course, you should evaluate your choice of load balancing
not by a feature checklist but by evaluating the features you need to deliver
your applications seamlessly with high security, maximum uptime, and full
control.
Treatment of traffic peaks
The Amazon Classic Load Balancer (formerly ELB) suffered a
weak response to maximum traffic. Load balancing instances have been
automatically scaled to the current level of traffic and can take several minutes
for the ELB to respond and deploy additional capacity when peaks occur. Users
had to use a manual, forms-based process to request additional features before
peak traffic (known as "preheating"). The ALB is likely to require
similar limitations and require similar processes to scale.
NGINX and NGINX Plus are deployed to default instances of
Amazon, and our sizing guide provides an indication of the maximum performance
potential of each instance type. The price of NGINX Plus is the same for all
instance sizes, so it is economical to deploy overcapacity to manage peaks, and
it is quick to implement more instances - no form to fill - whenever you need
more capacity.
Detection of failing servers with health checks
Our initial tests of Amazon ALB indicate that it does not
implement "passive" health controls. A server was not detected as
having failed after an asynchronous test verifies that it does not return the
expected status code.
We have discovered this by creating an ALB instance for a
case group. We configured a health check with a minimum frequency of 5 seconds
and a minimum of 2 checks failed and sent a constant stream of queries to the
ALB. When we stopped one of the instances, for some requests, ALB returned a
502 error for several seconds until the integrity check detected that the
instance was disabled.
Passive health checks prevent these types of errors from
being visible to end users.
ALB health checks can only determine the health of an
instance by inspecting the HTTP status code (such as 200 OK or 404 not found).
These health checks are not reliable; For example, some Web applications
override server-generated errors with easy-to-use pages, and some errors are
reported only in the body of a Web page.
NGINX Plus health checks are more powerful,
combining responses against the body a response as well as a status
code.Pricing Finally, the biggest question you will encounter is if you deploy
the new ALB service costs. Load balancing can be an important part of your AWSaccount, and the need to run one instance of the load balancer per application
can make it expensive. ALB has this limitation and the price seems even more
complex.
Unless you know exactly how many new connections, how many
concurrent connections, and how much data you will manage each month - which is
very difficult to predict - and you can run the LCU calculation the same way
Amazon does, you will fear your account AWS every month. NGINX Plus at AWS
offers complete predictability. For a fixed hourly cost plus AWS hosting costs,
you get a much more powerful load-balancing solution with full support.
Conclusion
NGINX Plus is a proven, superior solution for layer 7 load
balancing with Layer 4 load balancing capabilities. This works well in parallel
with Amazon's own ELB / Classic load balancer. ALB is a limited, unproven
volume and - for deployment volumes - an expensive solution. Caution suggests
waiting for other users regarding features, features, reliability, and expenses
before responding to any new solution. We encourage the continued and
increasing use of NGINX and NGINX Plus in the AWS environment, it is already a
very popular solution. If you are not yet a NGINX Plus user, you can try NGINX
Plus for free today.
Comments
Post a Comment