Service Mesh for the Developer Workflow SeriesFebruary 19, 2020
The Service Mesh is often presented as a solution for network engineering and system operability, increasing security, reliability, and observability. However, service mesh is also an incredibly useful tool for developers, and understanding how to leverage this technology can dramatically simplify a developer’s day to day workflow.
At the end of this series, you will understand the following:
- How to use metrics and distributed tracing effectively
- Reliability patterns like retries, timeouts, and circuit breaking
- How to leverage Canary deployments
- How to effectively debug distributed systems
This five episode video series includes the following topics:
- Introduction to Service Mesh for the Developer Workflow
- API Gateways
- Distributed Tracing
- Canary Deployments
- Microservice Debugging
Episode 1: Overview and Introduction
To kick things off, our speakers discuss what is a service mesh, how it works and the changing networking patters as we evolve to microservices or cloud-native architecture. In this session we are introduced to the growing importance of APIs, north-south, and east-west traffic paths.
Episode 2: API Gateways
As application architecture evolves to distributed microserivces living alongside traditional monoliths and serverless functions, APIs become even more important for developers for integrating different services across their application. How the APIs are exposed, managed and consumed are changing as the application environments are becoming increasingly decentralized and dynamic. This episode covers how new proxy technology like Envoy are addressing that and the new control planes developed to manage the modern data plane.
Episode 3: Distributed Tracing
Distributed tracing, is a method used to profile and monitor microservices applications, to help pinpoint where failures occur and what causes poor performance. As microservices architecture can consist of potentially hundreds of application services that are loosely coupled together, distributed across systems, dynamically scaling up, down, changing, and ephemeral — the notion of traditional application monitoring no longer applies. This talk explains the principles of distributed tracing, how service mesh can enable it and demonstrates how it can be used to monitor the behavior of a distributed application.
Episode 4: Canary Deployments
Episode 5: Debugging Microservices
Distributed microservices are great to quickly innovate and ship new features more often but they also present new challenges because existing developer tools were not designed for this type of environment. As the application architecture evolves to be distributed, loosely coupled and ephemeral services, so must the stress testing and debugging framework. This talk covers how we could look at a service mesh as not only as a layer to facilitate service to service communication but an enabling layer for new tools to proactively test, record failures and debug issues.
Episode 6: WebAssembly
Learn more about WebAssembly and the opportunities it brings to developers to customize Envoy proxy based technology, specially how to build HTTP filters for Consul Connect service mesh with WebAssembly. WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.