The example app we’ll walk you through creating on App Mesh is called DJ
and is used for a cloud-based music service.
This application is composed of three microservices:
The dj
service makes requests to either the jazz-v1
or metal-v1
backends for artist lists:
jazz-v1
backend may return artists such as Miles Davis or Astrud Gilberto.metal-v1
backend may return artists such as Judas Priest or Megadeth.Today, dj
is hardwired to make requests to metal-v1
and jazz-v1
.
Each time there is a new metal
or jazz
release, we also need to release a new version of dj
as to point to its new version-specific endpoints. It works, but it’s not an optimal configuration to maintain for the long term.
We’re going to demonstrate how AWS App Mesh
can be used to simplify this architecture; by virtualizing the metal
and jazz
services, we can add dynamic configuration and route traffic to the versioned endpoints of our choosing, minimizing the need for complete re-deployment of the dj
service each time there is a new metal
or jazz
service release.
When we’re done, our app will look more like the following: