Open source, Kubernetes-native API Gateway for Microservices built on Envoy
- Highly Available
- Self-service configuration
Map services to arbitrary URLs in a single, declarative YAML file. Configure routes with CORS support, circuit breakers, timeouts, and more. Replace your Kubernetes ingress controller. Route gRPC, WebSockets, or HTTP. Load balance between your different services.
Easily integrate your own authentication service with Ambassador forper-request authentication.
Ambassador uses the high performanceEnvoy Proxy, which processes over 2M requests/second at Lyft. Ambassador runs as a sidecar to Envoy, ensuring that you get raw Envoy performance.
Ambassador uses the proven resilience capabilities of Kubernetes to ensure high availability. For example, Kubernetes is responsible for auto-restarting, auto-scaling, and updating (via a RollingUpdate) Ambassador. Unlike many other API gateways, Ambassador has no database -- it relies on ConfigMap to store state.
Easily and safely configure Ambassador without going through operations -- Ambassador is configured using Kubernetes annotations.
It's easy to get started:
Download and run Ambassador as a Docker container:
docker run -it -p 8080:80 --name=ambassador --rm quay.io/datawire/ambassador:0.40.1 --demo
That's it! Check out the diagnostics page at http://localhost:8080/ambassador/v0/diag/.
See Ambassador route requests live to our Quote of The Moment service at demo.getambassador.io: