Hoot: Get to Know Service Mesh – Video SeriesFebruary 19, 2020
Service Mesh is the a rising application network architecture pattern and the latest buzzword in our cloud-native ecosystem. Spawned by the need to solve service-to-service communication in an application architecture that is increasingly distributed and comprised of many small services networked together. Much like virtualization and containerization abstracted physical infrastructure from the operating system and then the application code, service mesh abstracts the networking behavior from the business logic of the application.
When it comes to service mesh, the most common questions include: What is it? Why do I need it? When do I need one? and Which one should I choose?
Get to Know Service Mesh, A Video Series
To help explain service mesh, we’ve put together this series to explore the different service meshes, explain the architectural approach, unique capabilities, contrast them and provide guidance on how to navigate the landscape in choosing a mesh(es) for your applications.
Covered in this series are the following. Each will have a dedicated episode:
- Istio by Google and IBM
- Linkerd by Buoyant
- HashiCorp Consul Connect
- AWS App Mesh
- Kong Kuma and Containous Maesh
- Choosing a Service Mesh for you
Episode 1 – Istio
Istio is an open source and platform-independent service mesh that provides traffic management, policy enforcement and telemetry collection. Developed by Google using Envoy Proxy as its sidecar proxy, Istio supports Kubernetes-based deployments today and is being adapted by the community to other environments.
Episode 2 – Linkerd
Created and maintained by Buoyant, Linkerd is an open source lightweight service mesh for handling service to service communications in Kubernetes-based environments for observability, reliability and security.
Episode 3 – HashiCorp Consul Connect
Hashicorp is a company that solves development, operations, and security challenges to revolutionize datacenter management with products like Consul, Nomad, Packer, Terraform, Vagrant, and Vault. HashiCorp Consul is a multi-cloud service networking platform to connect and secure services across any runtime platform and public or private cloud. Consul provides two solutions; Consul service discovery and Consul Connect service mesh.
Episode 4 – AWS App Mesh
AWS App Mesh is a service mesh available in AWS Cloud 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. App Mesh works with AWS Fargate, Amazon EC2, Amazon ECS, Amazon EKS, and Kubernetes running on AWS, and integrates with AWS Outposts for on-premises applications. App Mesh uses the open source Envoy proxy, making it compatible with a wide range of AWS partner and open source tools.
Episode 5 – Other Service Meshes: Kuma and Maesh
This episode is a double feature covering two of the latest service meshes to join the landscape; Maesh and Kuma.
- Maesh by Containous, is a straight-forward, easy to configure, and non-invasive service mesh that allows visibility and management of the traffic flows inside any Kubernetes cluster. Maesh is built using Traefix as the proxy sidecars.
- Kuma by Kong is a platform agnostic open-source control plane for Service Mesh and Microservices built with Envoy Proxy for the data plane. It can run and be operated natively across both Kubernetes and VM environments, making it easy to adopt by every team in the organization.
Episode 6 – Choosing a Service Mesh For You
To complete this series, the last episode features a talk by Christian Posta on how to choose a service mesh that’s right for you — aka the business needs of your application. In this talk he covers the characteristics and capabilities of a service mesh, compares how they are implemented across the different service mesh providers and how that applies to the networking capabilities provided to your application.