App Mesh makes it easy to run microservices by providing consistent visibility and network traffic controls for every microservice in an application. App Mesh separates the logic needed for monitoring and controlling communications into a proxy that runs next to every microservice. This removes the need to coordinate across teams or update application code to change how monitoring data is collected or traffic is routed. This allows you to quickly pinpoint the exact location of errors and automatically reroute network traffic when there are failures or when code changes need to be deployed.
You can use App Mesh with AWS Fargate, Amazon ECS, Amazon EKS, and Kubernetes on EC2 to better run containerized microservices at scale. App Mesh uses Envoy, an open source proxy that is compatible with a wide range of AWS partner and open source tools for monitoring microservices.
Consistent microservice communications
App Mesh separates the logic needed for monitoring and controlling communications into a proxy that manages all network traffic for each microservice. The proxy standardizes how every microservice in your application communicates and removes the need to coordinate across teams or update application code to change how monitoring data is collected or traffic is routed. App Mesh configures each proxy to export monitoring data and implement communications control logic for every microservice.
Open source proxy
App Mesh uses the open source Envoy proxy to manage all traffic into and out of a microservice container. App Mesh configures this proxy to automatically handle all of the microservice's communications. Envoy has a vibrant ecosystem of community-built integrations that work with App Mesh.
Visibility (coming soon)
App Mesh consistently collects metrics, logs, and traces for all of the communications between your microservices so you can quickly pinpoint the exact location of errors. You can export this data to AWS partner and open source tools for monitoring microservices.
Compatible AWS services (coming soon):
Amazon CloudWatch* – monitoring and logging service for complete visibility of resources and applications.
AWS X-Ray* – tracing service for an end-to-end view of application performance.
Compatible AWS partner and open source tools (coming soon):
Datadog* – hosted monitoring, logging, and visualization platform.
Prometheus* – open source monitoring and logging tool.
Grafana* – open source monitoring and logging data visualization.
App Mesh lets you configure microservices to connect directly to each other instead of requiring code within the application or using a load balancer. When each microservice starts, its proxy connects to App Mesh and receives configuration data about the locations of other microservices in the application. You can use controls in App Mesh to route traffic between applications based on microservice versions, request attributes, and availability zones.
App Mesh configures each microservice’s proxy to use desired retries, timeouts, and error codes. App Mesh can enforce access controls, quotas, and limits for communications between microservices. These capabilities make it easier to deploy new versions of your microservices and help tune applications to be resilient to failures.
Container orchestration compatibility
App Mesh works with microservices managed by Amazon ECS, Amazon EKS, and Kubernetes running on EC2. You include the provided App Mesh proxy as part of the task or pod definition for each microservice and configure the microservice's application container to communicate directly with the proxy. When the microservice starts, the proxy automatically checks in with and is configured by App Mesh.
AWS App Mesh is a managed and highly available service. App Mesh allows you to manage microservices communications without needing to install or manage infrastructure for communications management.
Learn about AWS App Mesh pricing
Instantly get access to the AWS Free Tier