Service Mesh with App Mesh

At re:invent 2018, we announced AWS App Mesh, a service mesh that provides application-level networking to make it easy for your services to communicate with each other across multiple types of compute infrastructure. App Mesh standardizes how your services communicate, giving you end-to-end visibility and ensuring high-availability for your applications.

Service meshes like AWS App Mesh help you to run and monitor HTTP and TCP services at scale. Whether your application consists of AWS Fargate, Amazon EC2, Amazon ECS, Amazon Elastic Container Service for Kubernetes, or Kubernetes clusters or instances, App Mesh provides consistent routing and traffic monitoring functionality, giving you insight into problems and the ability to re-route traffic after failures or code changes.

App Mesh uses the open source Envoy proxy, giving you access to a wide range of tools from AWS partners and the open source community. Since all traffic in and out of each service goes through the Envoy proxy, all traffic can be routed, shaped, measured, and logged. This extra level of indirection lets you build your services in any desired languages without having to use a common set of communication libraries.

In this tutorial, we’ll walk you through many popular App Mesh use cases.

The first two sections, “Create the k8s app”, and “Create the App Mesh Components” should be performed in order.

They will take you through building an easy to understand standalone k8s microservices-based application, and then enabling App Mesh service mesh functionality for it.