Linkerd 2 Developers Workshop 2023
What you'll learn
- Learn why Linkerd is a great service mesh
- Add your application to the Linkerd service mesh
- Configure retries using Linkerd ServiceProfiles
- Use Linkerd to conduct a blue-green deployment
Requirements
- Basic Containerization and Kubernetes knowledge
- Basic REST API knowledge
- Minimum Recommended Hardware: 4 logical CPUs, 10GB RAM, 50GB storage
Description
This course has everything you need to take advantage of the powerful Linkerd service mesh. You will learn the core concepts needed to understand how Linkerd integrates with your application. Then, you'll learn how and why to enable the advanced features of Linkerd. For each section, you'll get hands-on exercises to reinforce your new skills.
Learn the Service Mesh
Linkerd is a service mesh, which means that it allows you to manage and configure the network traffic in your application. Linkerd is a Cloud-Native tool that works inside a Kubernetes environment to create the service mesh.
Observability
A major advantage of Linkerd is the observability feature. Linkerd provides the golden signals (success rate, latency, traffic) in a convenient dashboard or on the command line. In large microservices environments with lots of dependencies, it can be hard to find the root cause of errors in your service. Linkerd helps you to identify root cause by giving you success rates for all resources with linkerd enabled.
Linkerd also allows you to configure traffic for the applications in your service mesh. You can add retries and timeouts using linkerd. These linkerd features allow you to increase the reliability of your system. If an incoming request results in an intermittent error, Linkerd's retries can automatically retry the request so that your user just sees a successful response.
Rust-based for speed and security
Linkerd's sidecar proxy is written in the Rust programming language for a couple reasons.
First, Rust makes Linkerd *fast*. Linkerd sidecar proxies are faster than other service meshes in the market. This means that Linkerd is cheaper to run and a better experience for your users than other meshes.
Second, Rust makes Linkerd memory-efficient. When you are paying your cloud provider per GB of RAM used, it's best to go with the most efficient service mesh.
Third, Linkerd sidecar proxies are not vulnerable to C-style memory vulnerabilities due to the safety guarantees of Rust. This means fewer work injects to update the proxy due to memory security issues such as Heartbleed.
Easy Deployment and Updates
To add Linkerd to your application, you add a single Kubernetes resource annotation. If Linkerd is running on your cluster, it will automatically add the required configuration data so that your application is enabled for linkerd.
Linkerd runs as a sidecar along your application. That means that Linkerd works with any application programming language. The sideecar pattern also means that you can update linkerd without impacting your main application container processes.
Advanced Deployment Strategies
Linkerd supports a Kubernetes Custom Resource Definition type called Traffic Splits that enables advanced functionality for distributing traffic to different backends. You can use it to implement canary deployments such as the Blue-Green deployment with Linkerd. You can also perform advanced techniques such as fault injection using the Linkerd TrafficSplit resource.
Who this course is for:
- Software developers or maintainers who want to use Linkerd with their applications
- Anyone who wants to get an understanding of how Linkerd works
Instructor
Mac is a technical leader and developer with 10+ years of experience delivering enterprise-grade web applications. During that time Mac has racked up countless hours of experience mentoring and training more junior developers.
As Director of Courses at Practical Cloud Training LLC, he is excited to share his real-world knowledge and experience with you.