Enroute High Level Goals
- Deep Value and High Performance: Enroute is built on cloud-native high performance and feature rich Envoy Proxy (written in C++).
- Consistent Policy: Enforce consistent policy across Kubernetes Native microservices or Standalone services running outside Kubernetes
- Extensible: Use Filters/Plugins to add custom functionality and control traffic on the fly.
Kubernetes Ingress Controller or Standalone Gateway for use without Kubernetes
- Run [Any]Where: Any Cloud, Any Platform, Any Service
- Kubernetes Native Ingress Controller: Use CRDs to configure Layer-7 policies for your services
- Standalone: Use simple REST APIs or
enroutectlto configure standalone gateway
- Horizontal Scale-Out: Infinitely scalable fabric, add more gateways to configure multiple stateless gateways with same config.
- High Performance: Enroute’s run time is built on high performance Envoy Proxy written in C++
- Extensible Plugin/Filters: Easily control traffic on the fly for Standalone and Kubernetes Ingress by attaching global or route-level plugins/filters.
- Load Balancing Algorithms: - Round Robin, Least Request, Random, Ring Hash
- Traffic Management: - Circuit Breakers, Automatic Retries
- Health Checks: HTTP, TCP, gRPC, Custom
- Service Discovery: Discover cloud services or integrate with external service discovery based mesh like consul.
- Serverless*: AWS Lambda Support
- WebSockets: Use or upgrade connections to use web sockets
- Native gRPC: Load balance to gRPC services with all applicable traffic management features
- Security and Authentication: JWT Validation*, OAuth OIDC*
- Distributed Tracing: Zipkin
- TLS Termination: Cipher selection, Multiple Cert Support, ECDSA, RSA
- Observability: Prometheus, Grafana
- Progressive Delivery: Canary Releases, Header Based Routing*, Traffic Shadowing
- Rate Limiting: Global Rate Limits, Per-User different rate limits for Authenticated/Un-Authenticated Users
- Forward Proxy: Connect to an intermediate HTTP Proxy before connecting to an upstream.
- OpenAPI Support: Ingest OpenAPI Spec in Standalone and Kubernetes Ingress
enroutectlCLI: Simplified CLI configuration support
- Protocol Support: TCP, HTTP/1.0, HTTP/1.1, HTTP/2, gRPC, WebSockets
- Custom Request Filters: Support for additional custom filters to meet use-cases
- Extend using Lua, Wasm, Golang: Easily customize your data path runtime using Lua, Wasm* or Golang