Azure Load Balancer vs Application Gateway is same as if we talk
about TCP vs HTTP load balancer, to
understand this you need to first understand differences between Layer 4 and Layer 7 Load
Balancing
Let’s go back to OSI model.
Layer 4 load balancing operates
at the intermediate transport layer, which deals with delivery
of messages with no regard to the content of the messages. Transmission Control
Protocol (TCP) is the Layer 4 protocol for Hypertext Transfer
Protocol (HTTP) traffic on the Internet. Layer 4 load
balancers simply forward network packets to and from the upstream server
without inspecting the content of the packets. They can make limited routing
decisions by inspecting the first few packets in the TCP stream
Layer 7 load balancing operates at the high‑level application layer, which deals with the actual content of each message. HTTP is the predominant Layer 7 protocol for website traffic on the Internet. Layer 7 load balancers route network traffic in a much more sophisticated way than Layer 4 load balancers, particularly applicable to TCP‑based traffic such as HTTP. A Layer 7 load balancer terminates the network traffic and reads the message within. It can make a load‑balancing decision based on the content of the message (the URL or cookie, for example).
Let’s look at a simple example. A user visits a high‑traffic
website. Over the course of the user’s session, he or she might request static
content such as images or video, dynamic content such as a news feed, and even
transactional information such as order status. Layer 7 load balancing
allows the load balancer to route a request based on information in the request
itself, such as what kind of content is being requested. So now a request for
an image or video can be routed to the servers that store it and are highly
optimized to serve up multimedia content. Requests for transactional
information such as a discounted price can be routed to the application server
responsible for managing pricing. Example NGINX are the load‑balancing
solutions used by high‑traffic websites such as Dropbox, Netflix, and Zynga.
Azure Load balancing provides a higher level of availability and
scale by spreading incoming requests across multiple virtual
machines. Azure Application Gateway is a web traffic load balancer that
enables you to manage traffic to your web applications. Traditional load
balancers operate at the transport layer (OSI layer 4 - TCP and UDP) and route
traffic based on source IP address and port, to a destination IP address and
port.
Application Gateway can make routing decisions based on additional
attributes of an HTTP request, for example URI path or host headers. For
example, you can route traffic based on the incoming URL. So
if /images is in the incoming URL, you can route traffic to a specific
set of servers (known as a pool) configured for images. If /video is
in the URL, that traffic is routed to another pool that's optimized for videos.
This type of routing is known as application layer (OSI layer 7) load balancing.
In your use case, you can use both, it’s a matter of your needs.
Load balancer just forwards traffic to your vms, while application gateway can
do path based routing, SSL offloading, has WAF capabilities, and so on. But it
costs a lot more and is clunky.
Post a Comment
Post a Comment
Thanks for your comment !
I will review your this and will respond you as soon as possible.