Today, we’re excited to announce Ambassador 0.14, the next major release of our Kubernetes-native API Gateway built on the Envoy proxy.
Traditional API Gateways have contained a significant amount of availability infrastructure: a highly available persistence store, for example. However, the emergence of Kubernetes dramatically changes the requirements for an API Gateway. Kubernetes provides all the availability infrastructure that is needed for any highly available service — and it’s also been battle tested.
With Ambassador 0.14, we’ve redesigned it to take full advantage of the Kubernetes infrastructure — while providing all the functionality of a traditional API Gateway (e.g., authentication, route mapping, metrics). With this release, Ambassador lets anyone quickly add authentication, dynamic routing, and more to their existing Kubernetes service(s).
With this release, Ambassador now supports:
High availability, zero downtime upgrades
Ambassador 0.14 eliminates its dependency on PostgreSQL. Instead, Ambassador now stores all state information in Kubernetes. This approach enables Ambassador to use Kubernetes to do a zero downtime, safe rollout with automatic health checking.
Ambassador uses a Kubernetes deployment controller for deployment, enabling horizontal pod auto scaling by Kubernetes for scalability and availability. (Or, just manage this by hand.)
Ambassador now uses a declarative configuration syntax similar to Kubernetes. This allows you to store all of your Ambassador configuration under source control.
Full control of Envoy
Ambassador is built on Envoy. And while we want to make every Envoy feature easy-to-use and accessible via Ambassador’s configuration, that doesn’t always make sense. So we’ve added a way for you to customize the
envoy.json file yourself so you can do anything that Envoy can do.
Ambassador is now designed to fail on. If the Ambassador process fails, the proxy process remains live and continues to route traffic. Ambassador also includes Kubernetes readiness and liveness probe, so that Kubernetes will automatically restart the container if Ambassador fails.
Ambassador now includes integrated diagnostics that help you quickly troubleshoot what’s going on with your configuration.
Ambassador now supports method-based routing. This is handy if you’re adopting a CQRS-style architecture, and want to route POST requests to
/foo to one service, while GET requests to
/foo go to another service.
Authentication, TLS termination, and observability
Give Ambassador a try
We’d love for you to give this new Ambassador a try — our updated quick start should get you going in just 5 minutes.