These tutorials exist to walk you through several sample concepts for practical application of a service mesh. Linkerd can be used on several platforms but, for simplicity, this section uses Kubernetes (via GKE or Minikube) so that you can see how these concepts apply against a real environment.
One of the most common questions when getting started with Linkerd is: what exactly is a service mesh? Why is a service mesh a critical component of cloud native apps, when environments like Kubernetes provide primitives like service objects and load balancers?
A service mesh is a layer that manages the communication between apps (or between parts of the same app, e.g. microservices). In traditional apps, this logic is built directly into the application itself: retries and timeouts, monitoring/visibility, tracing, service discovery, etc. are all hard-coded into each application.
However, as application architectures become increasingly segmented into services, moving communications logic out of the application and into the underlying infrastructure becomes increasingly important. Just as applications shouldn’t be writing their own TCP stack, they also shouldn’t be managing their own load balancing logic, or their own service discovery management, or their own retry and timeout logic. (For example, see Oliver Gould’s MesosCon talk for more about the difficulty of coordinating retries and timeouts across multiple services.)
The Linkerd service mesh provides critical features to multi-service applications running at scale:
The tutorials in this series include:
What is a service mesh, and how is it used by cloud native apps—apps designed for the cloud? In this tutorial, we’ll show you how to use Linkerd as a service mesh.
As a service mesh, Linkerd is designed to be run alongside application code, managing and monitoring inter-service communication
In this tutorial, we’ll show you how to use Linkerd as a service mesh to add TLS to all service-to-service HTTP calls, without modifying any application code.
In this tutorial, we’ll show you how to use Linkerd’s routing rules to automatically alter traffic flow through your application.