Microsoft's Azure Application Gateway is a platform-managed, scalable, and highly available application delivery controller as a service with integrated web application firewall.
N/A
HAProxy Community Edition
Score 9.3 out of 10
N/A
HAProxy Community Edition is a free, open source reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is presented as suited for very high traffic web sites.
The best practice for a cloud environment is to use the tools provided by the cloud provider. That's why for Azure cloud, Azure Application Gateway is the most cost-effective solution that you can use. You can use a single Azure Application Gateway instance for load balancing WAF, URL-based routing, and more.
It prevents a single server failure from being a downtime event by adding redundancy to every layer of your architecture. A load balancer facilitates redundancy for the backend layer (web/app servers), but for a true high availability setup, you need to have redundant load balancers as well. So it is well suited for all production related servers and less suited for individual servers that do not require redundancy.
Uploading images by multiple end-users from several applications like web, mobile, etc.
When there is a high volume of data requests, it helps to queue them based on the type of request. So it's easy to serve and reduce the loading time from the application layer.
An application gateway is useful when it can identify the type of details the user is requesting.
My understanding is a lack of support for UDP traffic
One mistake in the haproxy.cfg prevents the entire thing from starting rather than only affecting the part of the config file that may have a typo of some other syntax problem.
Most of the Application Gateway's features and services can be managed and re-configured via either the Azure Portal GUI or via the Azure Cloud Shell, thus allowing both CLI modes, i.e. Azure CLI (Bash) and Azure Powershell. The v2 version of Application Gateway has significantly improved performance during initial configuration or during re-configuration changes, thus making it much more usable for IT admins, as compared to v1.
It is very easy to use. I was able to find a lot of documents for it on the internet. Very good community support. There are lots of examples available to try. We mostly use a command-line user interface to interact with it. The CLI is also super easy to use and very easy to interact with
We haven't used customer support. We mostly used the community version. We build a multi-node HAProxy cluster with HA to the proxy itself using opensource plugins available. With the support available on the internet and the documents available we don't need to use much customer support.
HAProxy is an excellent load balancer that can also be used in cloud environments (and we do!), and is relied by hyper-large enterprises globally as well. However, HAProxy is a little bit more rudimentary in feature space, it does the core job well and securely, but doesn't provide any fancy additional features. Also, it takes more effort to deploy HAProxy than simply using an in-built feature in the Azure stack.
We chose HA Proxy because it is cheaper than a hardware balancer, it is an open-source solution with a large community behind it and with constant updates. It also allows custom scripts according to needs.HA Proxy is a solution used in many internet sites like GitHub, Reddit, Twitter, and Tuenti.
Significantly lower investment vs competitors. In the case of F5s we have Virtual Editions so we're paying for the hardware to run it on top of the several thousand dollar licenses that are required for each pair and we currently have a pair of F5s per client so there's a huge potential for cost savings there.
Requires our network engineers to learn a new skill or our Systems engineers to take on the responsibility of managing the load balancers. It's not a huge difference either way, but it does impact the way we have done business in the past.