Why Ambassador?

Ambassador is an open source, Kubernetes-native microservices API gateway built on the Envoy Proxy. Ambassador is built from the ground up to support multiple, independent teams that need to rapidly publish, monitor, and update services for end users. Ambassador can also be used to handle the functions of a Kubernetes ingress controller and load balancer (for more, see this blog post).

Cloud-native applications today

Traditional cloud applications were built as using a monolithic approach. These applications were designed, coded, and deployed as a single unit. Today's cloud-native applications, by contrast, consist of many individual (micro)services. This results in an architecture that is:

  • Heterogeneous: Services are implemented using multiple (polyglot) languages, they are designed using multiple architecture styles, and they communicate with each other over multiple protocols.
  • Dynamic: Services are frequently updated and released (often without coordination), which results in a constantly-changing application.
  • Decentralized: Services are managed by independent product-focused teams, with different development workflows and release cadences.

Ambassador and cloud-native applications

Ambassador is engineered for cloud-native applications.

Heterogeneous services

Ambassador is commonly used to route traffic to a wide variety of services. Ambassador:

  • Supports configuration on a per-service basis, enabling fine-grained control of timeouts, rate limiting, authentication policies, and more.
  • Natively supports a wide range of L7 protocols, including HTTP, HTTP/2, gRPC, gRPC-Web, and WebSockets.
  • Can route raw TCP for services that use protocols not directly supported by Ambassador

Dynamic services

Service updates result in a constantly changing application. The dynamic nature of cloud-native applications introduce new challenges around configuration updates, release, and testing. Ambassador:

  • Enables testing in production, with support for canary routing and traffic shadowing.
  • Exposes high resolution observability metrics, providing insight into service behavior.
  • Uses a zero downtime configuration architecture, so configuration changes have no end user impact.

Decentralized workflows

Independent teams can create their own workflows for developing and releasing functionality that are optimized for their specific service(s). With Ambassador, teams can:

Ambassador is engineered for Kubernetes

Ambassador takes full advantage of Kubernetes and Envoy Proxy.

  • All of the state required for Ambassador is stored directly in Kubernetes, eliminating the need for an additional database.
  • The Ambassador team has added extensive engineering efforts and integration testing to insure optimal performance and scale of Envoy and Kubernetes.

For more information

Deploy Ambassador today and join the community Slack Channel.

If you're interested in commercial support and additional features, see Ambassador Pro.

Interested in learning more?