Live data from Hacker News

HAProxy 2.4

haproxy.com

1–10 of 70 posts

Re: HAProxy 2.4

#3
post #2

If I have a cloud provider, why might I use HAProxy over the provider's load balancing solution?

More control, maybe less cost? If your cloudy provider has an awful solution like the one I was using, you'd get better uptime by doing it yourself.

I haven't heard many problems with AWS or Google load balancing, but sometimes there's issues where people talk about 'pre-warming'... more control would probably help there.

If you're running HAProxy on AWS, be sure your AWS firewall rules are stateless, otherwise you may well run into the unpublished connection tracking limits.

Re: HAProxy 2.4

#4
post #2

If I have a cloud provider, why might I use HAProxy over the provider's load balancing solution?

One potential use case: proxying targets with no fixed IP addresses for services which require fixed IP addresses. For example, exposing RDS databases via privatelink. It would be nice if AWS would address this natively, but HAProxy will do.

Re: HAProxy 2.4

#5
post #2

If I have a cloud provider, why might I use HAProxy over the provider's load balancing solution?

You'd have more specific than "every single cloud provider" but in general HAProxy is way more advanced than most other proxies.

Stickiness, rate limiting, gzip compression, configurable logging, caching, Lua scripting, load balancing to domain names, more options for health lifecycle. It even has a control socket to instantly manage the server without restart. HAProxy is actually the inventor the PROXY protocol which a number of other systems have now copied.

The convenience of cloud proxies is no small matter, but on a feature-by-feature basis HAProxy easily dominates.

Re: HAProxy 2.4

#6
post #2

If I have a cloud provider, why might I use HAProxy over the provider's load balancing solution?

disclaimer: I work at HAProxy Technologies

More control/flexibility (i.e. cloud provider usually gives you a limited number of "checkboxes" that they want you to be able to modify), generally better observability (HAProxy timing metrics [1] and session state at disconnection codes [2] are very helpful for debugging), and granular control over timeouts [3]. You also get builtin rate limiting [4], which from what I have seen with most cloud load balancers usually requires an up-charge through their "WAF" product.

Better health checking, circuit breaking, and layer4/layer7 retries [5].

Another consideration is whether you have spiky traffic patterns. For AWS load balancers at least, they need time to "warm up" to larger traffic levels. If you manage your own load balancing tier you can scale on demand.

[1] https://www.haproxy.com/documentation/hapee/latest/onepage/#...

[2] https://www.haproxy.com/documentation/hapee/latest/onepage/#...

[3] https://www.haproxy.com/documentation/hapee/latest/onepage/#...

[4] https://www.haproxy.com/blog/four-examples-of-haproxy-rate-l...

[5] https://www.haproxy.com/blog/haproxy-layer-7-retries-and-cha...

Re: HAProxy 2.4

#9
post #2

If I have a cloud provider, why might I use HAProxy over the provider's load balancing solution?

You'd have more specific than "every single cloud provider" but in general HAProxy is way more advanced than most other proxies. Stickiness, rate limiting, gzip compression, configurable logging, caching, Lua scripting, load balancing to domain names, more options for health lifecycle. It even has a control socket to instantly manage the server without restart. HAProxy is actually the inventor the PROXY protocol whic…

Well said, to add to this, HAProxy is also closing the gap on convenience with its recent addition of AWS EC2 service discovery [1] and Consul service discovery integrations [2].

[1] https://www.haproxy.com/blog/announcing-haproxy-data-plane-a...

[2] https://www.haproxy.com/blog/announcing-haproxy-data-plane-a...

Post reply on HN