Once we register our mesh, we should see a Mesh resource that documents the capabilities of this particular service mesh. This is particularly useful information to have when managing multiple meshes or discovering meshes that already exist.
SuperGloo also uses the Gloo service-discovery mechanisms which means we can discover services running on EC2, EKS or Consul on AWS and also automatically form subsets/groups of a particular service based on labels. This is very useful when splitting traffic between different versions of a deployment for a service.
To perform traffic shifting, we can use the SuperGloo API (implemented as a couple CRDs on Kubernetes for example) or the SuperGloo CLI. For example, routing traffic can be expressed like this:
We could also use the CLI:
Behind the scenes, these routing declarations will create the necessary AWS App Mesh VirtualNode, VirtualService, and VirtualRouter configurations so you can focus on driving the service mesh to do what you need. SuperGloo keeps the same abstractions for any of the other mesh technologies it supports.
To see the full example in action, take a look at this video:
https://www.youtube.com/watch?v=4QC5JXUAHV0
Get Started
Give AWS App Mesh and SuperGloo a try today. AWS App Mesh is general available and free to use on AWS properties like EC2, EKS, Fargate, ECS, etc. SuperGloo offers a nice experience for users of AWS App Mesh and takes care of a lot of the heavy lifting of creating/managing VirtualServices, VirtualNodes, and VirtualRouters so you can get the most value out of App Mesh with minimal friction.
SuperGloo is an open-source project sponsored by Solo.io.