My main use case for HAProxy is for my project, which focuses on full high availability. I use HAProxy for load balancing between my two apps while connecting to Keepalived. HAProxy is very helpful for myself and my team, utilized primarily for load balancing as it is powerful for that purpose.
HAProxy Enterprise Basic - Red Hat Enterprise Linux 9 AMI
HAProxy TechnologiesExternal reviews
External reviews are not included in the AWS star rating for the product.
Centralized SSL handling and load distribution have reduced downtime and improved operational efficiency
What is our primary use case?
What is most valuable?
The best feature that HAProxy offers is load balancing, as the ability to balance both transport TCP and application HTTP or HTTPS layers gives much flexibility. SSL termination is also essential, handling SSL efficiently as HAProxy supports dynamic certificate storage. Moreover, health check functionality is significant, as HAProxy constantly checks backend servers to ensure they are healthy and pulls them out of rotation if not, preventing server traffic issues.
One of the biggest wins with HAProxy has been SSL termination, as before using HAProxy, I had to install and renew SSL certificates on each backend server individually, which was time-consuming and error-prone. By moving all SSL termination to the load balancer, I now manage certificates in a single place, and I can also utilize Let's Encrypt with HAProxy's built-in ACME support, making renewal automatic. For example, we had a small cluster of app servers for a client project where each server served the same domain. Originally, every server had its own cert, leading to issues when scaling up or replacing instances, but after offloading SSL to HAProxy, the backend servers only need to communicate via plain HTTP, while HAProxy handles all the TLS handshakes.
What needs improvement?
HAProxy is already a robust solution, but there are a few areas for potential improvement, especially regarding configuration complexity. The configuration syntax is powerful yet can become overwhelming for newcomers; a more beginner-friendly interface or a native GUI without relying on third-party tools would ease the onboarding process. Built-in observability could be enhanced; while HAProxy features great logging and stats, utilizing Grafana, Prometheus, or external tools for in-depth insights is still necessary. Native service discovery could be improved; although dynamic scaling works, it generally requires DNS or runtime API scripting. More features in the Community Edition would be beneficial, as the Enterprise version contains advanced security, WAF, and bot protection that would be advantageous for smaller teams if included in the community build.
Another area that could see improvement is documentation and onboarding resources. HAProxy's documentation is very detailed but can feel dense for newcomers, and finding practical, step-by-step examples often requires sifting through mailing lists, GitHub issues, or blog posts. More modernized guide tutorials and real-world playbooks would simplify getting started for beginners, so enhancing technical improvements to make HAProxy more approachable through better docs and a stronger community ecosystem would significantly assist in broader adoption.
Additionally, an important area for improvement is tighter integration with cloud ecosystems, particularly AWS. Native AWS service discovery would be advantageous; currently, one usually relies on DNS or external scripts to register new EC2 instances in HAProxy, but direct hooks into AWS Auto Scaling Groups, ECS, or EKS would facilitate automatic joining and leaving of instances without added glue code. Furthermore, direct integration with AWS Certificate Manager or Secrets Manager could reduce manual steps surrounding SSL, TLS, and backend credentials management. Enhancing cloud-native integration, especially with AWS services, could significantly strengthen HAProxy's plug-and-play appeal in cloud environments.
For how long have I used the solution?
I have been using HAProxy for maybe two or three months, as I just explored HAProxy and the configuration.
What do I think about the stability of the solution?
In my experience, HAProxy is remarkably stable; we haven't encountered crashes or unexpected downtime. Once running, it simply continues to operate without issues, and any downtime we've faced was linked only to planned upgrades or configuration changes, not the software itself. This reliability serves as a key reason for our choice, providing us with confidence even when faced with heavy traffic.
What do I think about the scalability of the solution?
From my experience, HAProxy's scalability is excellent; as our traffic expands, it handles load increases effortlessly.
How are customer service and support?
Our interaction has primarily been with community resources rather than the official support team. Since we are utilizing the open-source edition, community forums, mailing lists, and GitHub have been invaluable, with typically someone having encountered the same problems we faced. We haven't needed to submit a ticket to HAProxy Technologies' support team, but based on feedback I've seen, they are responsive and knowledgeable. For now, the combination of the open-source community and documentation has sufficed in resolving our issues, so I would rate community support as strong, but if guaranteed SLAs or direct assistance are required, then enterprise support would be the go-to option.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
Before adopting HAProxy, we relied on NGINX as our primary reverse proxy and load balancer. NGINX served our basic use cases adequately, but we faced challenges as our traffic increased. The first challenge was flexibility; HAProxy offered more advanced load-balancing algorithms and health checks than we configured in NGINX. Next, dynamic configuration was a concern, as reloading config in NGINX led to occasional connection drops. HAProxy's hitless reloads and runtime API represented a notable improvement. Lastly, in heavy traffic tests, HAProxy demonstrated superior performance when handling concurrent connections, yielding lower latency and higher throughput in our setup. The shift wasn't due to any deficiencies in NGINX—it's still a solid option—but HAProxy simply aligned better with our scaling and reliability requirements as our infrastructure evolved.
How was the initial setup?
Since adopting HAProxy, we've seen some remarkable improvements backed by numbers, particularly in downtime reduction. Before using HAProxy, we experienced small outages almost monthly due to backend servers going offline during cert renewals, but after centralizing load balancing and SSL management in HAProxy, those incidents have dropped to near zero with our uptime becoming consistent. Our average response time during peak load dropped by about 20 percent with connection pooling and Keepalived.
What was our ROI?
We've definitely seen a clear return on investment from using HAProxy, even while sticking with the open-source edition. Time savings have been significant; previously, SSL cert renewals across multiple servers took a couple of hours each quarter. With centralized SSL termination and automated renewals now in place, that time requirement has dropped to nearly zero hours, translating to dozens of hours saved per year. Operational efficiency has improved; we no longer have staff consistently monitoring backend servers during deployment or scaling events, as HAProxy's health checks and hitless reloads allow us to push changes with minimal manual intervention. This has freed up our operations team for higher-value work. Lastly, improved uptime stands out, with our uptime statistics rising from around 98% to consistently above 99.900, meaning reduced SLA penalties while keeping our clients happier.
What's my experience with pricing, setup cost, and licensing?
Our experience with pricing, setup costs, and licensing has been quite straightforward. Since we use the open-source edition, there are no licensing fees, with the main cost being the infrastructure running on EC2 instances in AWS, which helps maintain low expenses. Regarding the setup cost, the primary investment centers on time and expertise; while HAProxy is incredibly powerful, the initial setup requires a bit of a learning curve. However, once the configuration templates are established, adding new applications or backends becomes easy. We haven't opted for HAProxy Enterprise yet, so there are no licensing complexities. In summary, using the open-source version incurs low financial costs but requires an upfront effort to set up, resulting in an overall cost-effective experience.
Which other solutions did I evaluate?
We evaluated a few other options before deciding on HAProxy. The primary alternatives were AWS ELB and Application Load Balancer; while they are convenient and integrated, they are also less flexible and their costs add up when compared to operating HAProxy on our own instances.
What other advice do I have?
My advice for others considering HAProxy is to not be dissuaded by its learning curve; it's wise to start with a simple load-balancing setup and gradually incorporate advanced features such as ACLs, SSL termination, or rate limiting as confidence grows. Additionally, leveraging community resources and example configurations can save substantial time. Furthermore, if you're managing mission-critical workloads, it may be worthwhile to contemplate whether HAProxy Enterprise could provide the additional support and features desired. My guidance is to initially keep things simple, rely on documentation or the community, and expand into the more powerful features once the foundational stability is established. I rate HAProxy 9 out of 10.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Useful for for small and quick load-balancing tasks
What is our primary use case?
I use the tool mostly for small and quick load-balancing tasks. Additionally, I integrate it with Docker because the integration is quite fine.
What is most valuable?
What I like best about the product is its simplicity and speed. When you need to set up a load balancer quickly, HAProxy offers options like sticky sessions and round-robin. It's also fast to configure, including adding SSL for security. While it may have fewer options than other solutions like F5, HAProxy gets the job done for basic load-balancing tasks.
The reliability features of HAProxy were particularly useful in a scenario where I needed to test load balancing between two Tomcats. Since these domains were inaccessible, I set up a third Docker with HAProxy, which had access to the Tomcat domains. I then configured HAProxy to handle the load balancing. This setup allowed the client to interact with HAProxy.
The solution's integration with other elements is easy.
What needs improvement?
Improving the documentation with multiple examples and scenarios would be beneficial. Most users encounter similar situations, so having a variety of scenarios readily available on the tool's website would be helpful. For instance, if I were part of the HAProxy team, I'd create a webpage with different scenarios and provide files for each scenario. This way, users wouldn't have to start from scratch every time.
For how long have I used the solution?
I have been using the product for six years.
What do I think about the stability of the solution?
I rate the tool's stability a nine out of ten.
What do I think about the scalability of the solution?
I've only deployed a single instance and focused on monitoring it.
How are customer service and support?
I haven't had direct experience with their technical support team. Whenever I encounter issues, I usually turn to Stack Overflow. I've found that other users often have similar problems, and I can usually find solutions there.
What's my experience with pricing, setup cost, and licensing?
The tool is open-source.
What other advice do I have?
I rate the overall product an eight out of ten. It is good and famous.
Which deployment model are you using for this solution?
A versatile tool for load balancing and traffic management in different environments
What is our primary use case?
The main use cases are for load balancing and limiting traffic. It is utilized as a front-end server for balancing HTTP traffic, as well as for balancing traffic between application servers and database servers like Redis and Elasticsearch. HAProxy is employed for both HTTP and TCP load balancing purposes, ensuring optimal resource utilization and preventing overloading of any single server.
How has it helped my organization?
When dealing with scenarios that require splitting or monitoring Redis clusters with external masters and two slaves, HAProxy becomes essential. This is because HAProxy can significantly reduce delays in Redis communication when switching roles between servers. This reduction in delay improves application load time and prevents unnecessary downtime during server switchovers. It is a crucial tool in ensuring smooth service provision without any interruptions.
What needs improvement?
There is room for improvement in HAProxy's dynamic configuration. Currently, dynamic changes are lost when reloading the service, and it would be beneficial if dynamic configuration changes could be applied without losing the configuration or reloading the service, ensuring backups and preserving the static configuration.
For how long have I used the solution?
I have been using it for six years.
What do I think about the stability of the solution?
I would rate its stability capabilities nine out of ten.
What do I think about the scalability of the solution?
It provides impressive scalability. I would rate it ten out of ten.
How are customer service and support?
In a specific situation where a question was posted on a forum, the issue was successfully resolved within a day or the following day. I would rate their customer support services nine out of ten.
How would you rate customer service and support?
Positive
Which solution did I use previously and why did I switch?
We worked with NGINX, but these two solutions are not entirely comparable as they serve different primary purposes. NGINX functions both as a web server and a reverse proxy server, while HAProxy is primarily a load-balancing proxy. They both have load-balancing capabilities, but their main focus and functionalities are distinct.
How was the initial setup?
The initial setup can be challenging. I would rate it six out of ten.
What about the implementation team?
For simpler cases, the deployment process can take around one hour. For more complex scenarios, it can extend up to one week.
What's my experience with pricing, setup cost, and licensing?
We are using HAProxy as an open-source.
Which other solutions did I evaluate?
NGINX is easier to configure and is well-suited for load balancing against an application server. However, HAProxy is more versatile and can be fine-tuned for various scenarios, particularly in load-balancing multiple application servers. In terms of deployment, HAProxy is easy to integrate into a green-blue deployment approach. It allows for simpler configuration and sending commands to its sockets.
What other advice do I have?
Based on customer stability and varying use cases, I recommend choosing this solution. I would rate it nine out of ten.