HAProxy has been around since long before Kubernetes was even a twinkle in Google’s eyes, but now the “world’s fastest and most widely used software load balancer” has made the leap into cloud native computing with the introduction of HAProxy 2.0, which adds a Kubernetes Ingress controller, a Data Plane API, and much more in its efforts to enmesh itself even further into the fabric of modern infrastructure.
“The release of HAProxy 2.0 along with the new HAProxy Data Plane API and HAProxy Kubernetes Ingress Controller marks the culmination of a significant re-architecture of HAProxy to add the flexibility and features needed to optimize support for modern application architectures,” said Willy Tarreau, HAProxy community lead and HAProxy Technologies CTO, in a company statement.
Daniel Corbett, director of product at HAProxy, explained in an interview with The New Stack that many of the features have been in the works since earlier versions, with HAProxy 1.9 serving as “a bit of a technical preview” to 2.0, which has evolved according to market shifts and community feedback.
“We’ve seen this shift in the market over time from hardware-based load balancers to companies and users exploring software-based load balancers. We’re seeing a massive shift right now into containers and Kubernetes and microservices,” said Corbett. “We’ve been observing these trends and listening to user feedback within the general community, and so HAProxy 2.0 has a focus around these cloud and container-based environments. We’ve spent a lot of time working in conjunction with our community to make sure that the product is on the path to supporting cloud native environments.”
Included among HAProxy 2.0’s most notable features are cloud native threading and logging, layer 7 retries, full gRPC support, end-to-end HTTP/2 support, native support for exposing metrics to Prometheus, and the Kubernetes Ingress Controller, which brings HAProxy to Kubernetes by allowing Kubernetes clusters to route traffic to services, and offers support for TLS offloading, Layer 7 routing, rate limiting and whitelisting. In addition to all that, HAProxy 2.0 adds a Data Plane API and support for polyglot extensibility, which both lend to increased extensibility for HAProxy.
According to the company statement, the Data Plane API “represents another important advancement in extensibility for HAProxy, providing true dynamic configuration management in any environment” by exposing “a modern REST API for configuring HAProxy on the fly, including dynamically adding or removing frontends, backends and servers, creating ACL rules, inserting HTTP routing directives, and setting IP and port bindings.” Polyglot extensibility, meanwhile, means the addition of new Stream Processing Offload Engine (SPOE) libraries and examples, which make it easier to extend HAProxy in languages other than C (which HAProxy is written in), such as Golang, Python, Lua and .NET Core.
Nick Ramirez, senior content strategist at HAProxy Technologies, explained that HAProxy’s move into cloud native environments and effort to bolster extensibility has opened the software-based load balancer to a new world of opportunity.
“Traditionally people are familiar with using HAProxy on the edge of their network and these new architectures are moving proxies into these new architectures like Kubernetes,” said Ramirez. “It’s really thrilling for us to be able to meet them there and to give them these features that they’d been clamoring for, like the Data Plane API. Without an HTTP restful API, it’s really difficult for someone to integrate a proxy into something like a service mesh, so now that we have this, it’s just going to open all sorts of doors.”
Service meshes are not new territory for HAProxy, which was actually a part of SmartStack, an early service mesh created by Airbnb, Corbett pointed out. As such, it seems like an obvious next step.
“HAProxy has a history of being involved within service architecture. We’re interested in further expanding our support in these areas,” said Corbett. “HAProxy existed in the original service mesh and we’re going to see what we can do to integrate into the service mesh architectures of today.”
In addition to HAProxy 2.0, the company behind the open source load balancer also announced its inaugural community user conference, HAProxyConf 2019, which will take place in Amsterdam, the Netherlands on Nov. 12 and 13, 2019.
HAProxy is a sponsor of The New Stack.
Feature image via Pixabay.