Reader small image

You're reading from  Mastering Service Mesh

Product typeBook
Published inMar 2020
Reading LevelIntermediate
PublisherPackt
ISBN-139781789615791
Edition1st Edition
Languages
Right arrow
Authors (2):
Anjali Khatri
Anjali Khatri
author image
Anjali Khatri

Anjali Khatri is an enterprise cloud architect at DivvyCloud, advancing the cloud-native growth for the company by helping customers maintain security and compliance for resources running on AWS, Google, Azure, and other cloud providers. She is a technical leader in the adoption, scaling, and maturity of DivvyCloud's capabilities. In collaboration with product and engineering, she works with customer success around feature request architecture, case studies, account planning, and continuous solution delivery. Prior to Divvycloud, Anjali worked at IBM and Merlin. She has 9+ years of professional experience in program management for software development, open source analytics sales, and application performance consulting.
Read more about Anjali Khatri

Vikram Khatri
Vikram Khatri
author image
Vikram Khatri

Vikram Khatri is the chief architect of Cloud Pak for Data System at IBM. Vikram has 20 years of experience leading and mentoring high-performing, cross-functional teams to deliver high-impact, best-in-class technology solutions. Vikram is a visionary thought leader when it comes to architecting large-scale transformational solutions from monolithic to cloud-native applications that include data and AI. He is an industry-leading technical expert with a track record of leveraging deep technical expertise to develop solutions, resulting in revenues exceeding $1 billion over 14 years, and is also a technology subject matter expert in cloud-native technologies who frequently speaks at industry conferences and trade shows.
Read more about Vikram Khatri

View More author details
Right arrow

Exploring the Reliability Features of Linkerd

In this chapter, we will go through Linkerd's reliability features, such as automatic load balancing through dynamic requests routing, service profiles, retries, timeouts, and proactive error code hunting.

This chapter will explain the traffic management capabilities of a service mesh. Understanding this framework is necessary if you want to use networking resources that coordinate, restrict, and scale traffic throughout microservices.

We will be covering the following topics in this chapter:

  • Load balancing traffic between services in the booksapp application
  • Understanding and creating service profiles
  • Routing traffic between the booksapp application for a newly created service profile
  • Deploying service profiles for the booksapp application using Swagger specs
  • Understanding aggregated routing for the booksapp application
  • Enabling...

Technical requirements

This chapter is dependent on Chapter 15, Installing Linkerd. You will need to complete the hands-on exercises of Chapter 15, Installing Linkerd, that deal with the following, in order to work through this chapter:

  • Setting up Linkerd
  • Installing a control plane
  • Deploying the booksapp and emojivoto applications

Make sure that you are in the ~/linkerd/scripts directory for the exercises in this chapter:

$ cd ~/linkerd/scripts

Now, we're ready to begin!

Overview of the reliability of Linkerd

Reliability is a critical quality of any enterprise application. It is even more significant if the application is deployed in an ever-changing environment that meets business requirements through software innovation. Ibryam defines this concept as follows:

  • Fragile: The system is unable to survive under stress.
  • Robust: The system withstands stress to an extent, and then it breaks.
  • Resilient: The system adapts to stress and failures before it reaches the breaking point.
  • Anti-fragile: It feeds on stress and change and so it's much harder to create.

This is better understood with the help of the following diagram:

In parallel to reliability, a service mesh provides a resilient system through continuous improvement from sidecar proxies.

The use of specialized libraries such as Twitter's Finagle and Netflix's Hystrix help...

Summary

Applications can switch from being robust to resilient through the use of Linkerd's sidecar proxy, which provides adaptive load balancing, easy to understand debugging capabilities, timeouts, and retries. We explored each of these capabilities in this chapter.

With the help of a service profile through Kubernetes' custom resource definition, you can define routes to report aggregated metrics on unique requests based on defined patterns. The service profile name is a fully qualified name that can match with HTTP/2 :authority or HTTP1.X hosts. Linkerd's load balancing implementation is at the L7 (application streams) level instead of the default Kubernetes L4 (TCP connection) level. You can implement retry budgets to prevent retry storms from overwhelming backends.

The Linkerd dashboard or the Linkerd CLI can be used to observe the live traffic arriving in...

Questions

  1. Kubernetes does load balancing at the connection level (L4).

A) True
B)False

  1. Linkerd does load balancing at the application level (L7).

A) True
B)False

  1. Linkerd load balancing is out of the box, and it requires no special configuration.

A) True
B)False

  1. A Linkerd retry requires configuration.

A) True
B)False

  1. Linkerd's service profile can be generated automatically, even if the Swagger API is not available for the service

A) True
B)False

  1. The retry budget is about done for adaptive retries instead of a fixed number of retries.

A) True
B)False

  1. The service profile is needed to provide aggregate route metrics, especially if a parameter is part of the route, which makes it difficult to group a route path.

A) True
B)False

Further reading

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Mastering Service Mesh
Published in: Mar 2020Publisher: PacktISBN-13: 9781789615791
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (2)

author image
Anjali Khatri

Anjali Khatri is an enterprise cloud architect at DivvyCloud, advancing the cloud-native growth for the company by helping customers maintain security and compliance for resources running on AWS, Google, Azure, and other cloud providers. She is a technical leader in the adoption, scaling, and maturity of DivvyCloud's capabilities. In collaboration with product and engineering, she works with customer success around feature request architecture, case studies, account planning, and continuous solution delivery. Prior to Divvycloud, Anjali worked at IBM and Merlin. She has 9+ years of professional experience in program management for software development, open source analytics sales, and application performance consulting.
Read more about Anjali Khatri

author image
Vikram Khatri

Vikram Khatri is the chief architect of Cloud Pak for Data System at IBM. Vikram has 20 years of experience leading and mentoring high-performing, cross-functional teams to deliver high-impact, best-in-class technology solutions. Vikram is a visionary thought leader when it comes to architecting large-scale transformational solutions from monolithic to cloud-native applications that include data and AI. He is an industry-leading technical expert with a track record of leveraging deep technical expertise to develop solutions, resulting in revenues exceeding $1 billion over 14 years, and is also a technology subject matter expert in cloud-native technologies who frequently speaks at industry conferences and trade shows.
Read more about Vikram Khatri