One of the core principles we designed Ambassador around was the notion of self-service, where service owners can control how their services get published to end users. Ambassador supports a number of different deployment models for service owners:

Basic HTTP routing, where the service owner specifies which URL maps to a given service. (Ambassador also supports the equivalent for gRPC and WebSockets based services.)

More sophisticated routing mechanisms, based on headers, HTTP method, and the like.

Canary releases, which lets you route a subset of incoming traffic to a specific version of a service, letting you incrementally roll out updates with greater safety

Ambassador 0.32 supports shadow traffic

Today, we’re excited to announce Ambassador 0.32, which adds support for shadow traffic. Shadow traffic is another deployment pattern where production traffic is shadowed (or mirrored) to another service. This lets you test a service on real production data, with zero production impact.

Thanks to the Envoy Proxy, Ambassador automatically collects and publishes metrics on both the shadow and non-shadowed services, letting you easily do a side-by-side comparison of the behavior of the services.

Other Features

With Ambassador 0.32, we also are releasing a few other features, including:

The ability to present a specific TLS context to the authentication service. (Thanks to Divya Vavili)

Support for running multiple Ambassadors on the same cluster. This is useful for testing multiple different Ambassador configurations.

Improved documentation on rate limiting.

The diagnostics service now shows what AuthService configuration is active

Testing Ambassador 0.32

Ambassador 0.32 installs in three different ways.

You can get Ambassador 0.32 running with a single Docker command: docker run -it -p 8080:80 --name=ambassador --rm quay.io/datawire/ambassador:0.32.0 --demo The Getting Started guide covers how to install in Kubernetes using a standard Kubernetes manifest. You can install via Helm:



helm upgrade --install --wait my-release datawire/ambassador helm repo add datawire https://www.getambassador.io helm upgrade --install --wait my-release datawire/ambassador

Upgrading Ambassador 0.32

Ambassador relies on Kubernetes deployments for updates. To update Ambassador, change your Kubernetes manifest to point to quay.io/datawire/ambassador:0.32.0 and run kubectl apply on the updated manifest. Kubernetes will apply a rolling update and update to 0.32.

Conclusion

We’d like to thank the folks in the community who have worked on testing or contributing to 0.32. If you run into any problems with the update, please open an issue or join our Gitter chat for some help. We’ll also be at KubeCon EU this week, so stop by our booth for a sticker and say hi!

And, if Ambassador is working well for you, we’d love to hear about it. Drop us a line in the comments below, or @datawireio on Twitter.