Patterns and best practices for getting most out of Istio, Linkerd, Consul, App Mesh or any service mesh, including those using Envoy and use of WebAssembly.
About the Service Mesh Patterns book
A service mesh is a layer in your infrastructure that facilitates communication between services… and so much more. Its value is enormous, and the value you derive from one is very much related to what role you play in the design, implementation, and operations of your cloud native applications and infrastructure.
This book is being written for
Identifying who this book is for has been one of the hardest challenges in writing it. The power of a service mesh is vast, and therefore, empowers individuals of many different roles. In short, this book is for anyone delivering workloads enabled by a service mesh and who wants to ensure their use of a service mesh provides the most possible value to the workloads and teams that rely on it.
Authors: Lee Calcote, Nic Jackson | |
---|---|
Service Mesh Pattern | Category |
Area I: It's a Mesh Out There | |
A world of multiple service meshes | Foundational |
Pattern: How a service mesh empowers an Operator: Retry Budgets | Foundational |
Pattern: How a service mesh empowers a service owner | Foundational |
Pattern: How a service mesh empowers a Developer | Foundational |
Pattern: Employing planes of a service mesh | Foundational |
Area II: Patterns of Initialization and Deployment | |
Pattern: How to get started with any service mesh; Local Deployment | Deployment |
Pattern: Sidecar Proxies | Deployment |
Pattern: Node Agents | Deployment |
Pattern: Proxyless Service Mesh | Deployment |
Pattern: Passive and Active Health Checking | Deployment |
Pattern: Workload Onboarding and Service Mesh Adoption | workloads |
Pattern: Expanding the Mesh to Brownfield Environments | workloads |
Pattern: Segmenting the Monolith (Strangler) | workloads |
Area III: Patterns of Configuration | |
Pattern: Data plane extensibility | Observability |
Pattern: Transparently Proxying TLS | Traffic Manangement |
Pattern: Foundational Traffic Routing | Traffic Manangement |
Pattern: Local and Global Rate Limiting | Traffic Manangement |
Pattern: Timeouts | Traffic Manangement |
Pattern: Retries | Traffic Manangement |
Pattern: Circuit Breaking | Traffic Manangement |
Pattern: Bulkheading with Resiliency | Resiliency |
Pattern: Canary Deployments | Traffic Manangement |
Pattern: Ingress | Traffic Manangement |
Pattern: Advanced Traffic Routing | Traffic Manangement |
Pattern: Protocol Aware Meshing | Traffic Manangement |
Pattern: Load balancing Algs | Traffic Manangement |
Pattern: Incorporating Business Logic in your data plane (WASM) | Traffic Manangement |
Pattern: Chaos Engineering with a Service Mesh | Resilience |
Pattern: Service Meshing at the Edge | Traffic Manangement |
Pattern: Service Mesh Adapter Pattern (Protocol conversion using WASM) | Traffic Manangement |
Area IV: Patterns of Operation | |
Pattern: Visualizing services | Observability |
Pattern: Using Envoy metrics | Observability |
Pattern: Using Request Logs | Observability |
Pattern: Using Traces | Observability |
Pattern: Managing configuration change | Troubleshooting |
Pattern: Advanced Data Plane Extensbility and Intelligence | Troubleshooting |
Pattern: Cloud bursting | Scaling |
Pattern: Multi-cluster failover | Scaling |
Pattern: Federation | Scaling |
Pattern: Egress Gateways | Security |
Pattern: Zero Trust: Securing in-cluster communication (mTLS) - Encryption | Security |
Pattern: Applying Connection-level Authorization | Security |
Pattern: Applying Request-level Authorization | Security |
Area V: Performance, Testing, and Debugging, Tuning, Troubleshooting | |
Pattern: Debugging the Control Plane | Troubleshooting |
Pattern: Debugging the Data Plane | Troubleshooting |
Pattern: Methodologies of Performance Tuning and Testing | Tuning / Performance |
Pattern: Managing the Performance of the Service Mesh | Tuning / Performance |
Pattern: Managing the Performance of the Workloads | Tuning / Performance |
Pattern: Using the Service Mesh for Functional Testing | Validating |
Pattern: How to use the Service Mesh as a Debugger | Debugging |
Pattern: TAPing into your requests | Debugging |
Area VI: Patterns in Practice: Employing Standards | |
Pattern: The need for abstracting the service mesh | Service Mesh Interface (SMI) |
Pattern: Baselining your workload performance | Service Mesh Performance (SMP) |
Pattern: Gauging the value of your service mesh deployment | Service Mesh Performance (SMP) |
Pattern: Federating Service Catalogs | Multi-Vendor Service Mesh Interoperation (Hamlet) |
Pattern: Common interface for integrating with service mesh functionality | Service Mesh Interface (SMI) |