Service Mesh For Dummies 2022
Service Mesh For Dummies 2022
Service Mesh For Dummies 2022
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Service
Mesh
VMware 2nd Special Edition
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Service Mesh For Dummies®, VMware 2nd Special Edition
Published by
John Wiley & Sons, Inc.
111 River St.
Hoboken, NJ 07030-5774
www.wiley.com
Copyright © 2022 by John Wiley & Sons, Inc., Hoboken, New Jersey
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any
form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise,
except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without the
prior written permission of the Publisher. Requests to the Publisher for permission should be
addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ
07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Trademarks: Wiley, For Dummies, the Dummies Man logo, The Dummies Way, Dummies.com,
Making Everything Easier, and related trade dress are trademarks or registered trademarks of John
Wiley & Sons, Inc. and/or its affiliates in the United States and other countries, and may not be
used without written permission. All other trademarks are the property of their respective owners.
John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book.
For general information on our other products and services, or how to create a custom For
Dummies book for your business or organization, please contact our Business Development
Department in the U.S. at 877-409-4177, contact info@dummies.biz, or visit www.wiley.com/go/
custompub. For information about licensing the For Dummies brand for products or services,
contact BrandedRights&Licenses@Wiley.com.
Publisher’s Acknowledgments
Some of the people who helped bring this book to market include the following:
Project Editor: Elizabeth Kuball Production Editor:
Acquisitions Editor: Ashley Coffey Saikarthick Kumarasamy
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Table of Contents
INTRODUCTION................................................................................................ 1
About This Book.................................................................................... 1
Foolish Assumptions............................................................................. 2
Icons Used in This Book........................................................................ 2
Beyond the Book................................................................................... 3
Table of Contents v
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
CHAPTER 4: Introducing VMware Tanzu Service Mesh.............. 35
Exploring VMware Tanzu Service Mesh............................................ 35
Introducing Global Namespaces....................................................... 39
Service discovery............................................................................ 39
End-to-end mTLS............................................................................ 42
Application publishing and high availability............................... 42
Actionable SLOs (intelligent autoscaling).................................... 43
Traffic management (progressive upgrades)............................. 45
Access control policies.................................................................. 46
API operations and security.......................................................... 46
PII data leakage protection........................................................... 47
East–west threat detection........................................................... 48
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Introduction
M
odern, cloud-native applications are composed of a col-
lection of microservices, each performing a specific
function. A typical modern application might consist of
hundreds or thousands of microservices, all of which need to
communicate with each other to give users what they want.
Introduction 1
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Each chapter is written to stand on its own, so if you see a topic
that piques your interest, feel free to jump ahead to that chapter.
You can read this book in any order that suits you (though we
don’t recommend upside down or backward).
Foolish Assumptions
It’s been said that most assumptions have outlived their useless-
ness, but we assume a few things nonetheless!
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Tips are appreciated, never expected — and we sure hope you’ll
appreciate these useful nuggets of information.
These alerts point out the stuff your mother warned you about.
Well, probably not, but they do offer practical advice to help you
avoid potentially costly or frustrating mistakes.
Introduction 3
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Recognizing the need for business agility
Chapter 1
The Rise of Microservices
and Cloud-Native
Architecture
T
his chapter explores the need for business agility, how appli-
cation architectures are evolving, the increasing importance
of the network in modern cloud-native architectures, and the
rise of containers and Kubernetes.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Much of this transformation is achieved in software. Enterprises
are hiring a growing number of developers to turn innova-
tive ideas into reality. Today’s digital creators and revenue
generators — application developers — are evolving to achieve
not only faster development cycles, but also faster delivery times
and more frequent deployments.
Service-oriented architecture
SOA is a software architecture in which distinct components of
the application provide services to other components via a com-
munication protocol over a network. SOA integrates distributed,
separately maintained software components that communicate
with each other using an enterprise service bus (ESB) messaging
protocol over an Internet Protocol (IP) network.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
of its applications and represents them in the network as web
services. There are two main roles in SOA:
SOA is still the most commonly used architecture with the adop-
tion of microservices growing fast.
»» Component reusability
»» Improved scalability and availability
»» Easy maintenance
The biggest limitation of the traditional implementation of SOA
is the ESB, which is a single point of failure that potentially
impacts the entire system. Every service communicates over the
ESB, so if one of the services slows down, the ESB can be bogged
down by requests for that service.
Microservices
A microservice architecture implements a modern SOA architec-
ture that solves the challenges discussed in the preceding section.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
more. The services are independent of each other, which means
that each service can be written in a different programming lan-
guage, use a different framework, and use different databases.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
TABLE 1-1 Differences between SOA and Microservices
SOA Microservices
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Microservices give your team control over the full stack they
require to deliver a feature. The benefit of this separation is
a reduction in the amount of coordination required with
other teams. The workflow is independent from other
teams, and the risk of negatively affecting other teams is
minimized. As SOA relies on multiple services to fulfill a
business request, systems built on SOA are likely to be
slower than microservices and revised less frequently than
microservices.
»» Independent scalability: With microservices, you can scale
each service according to its workload demands and
performance needs. However, in the case of a monolithic
application, scaling horizontally across more servers can lead
to overprovisioning and underutilization when the workload
demand drops.
»» Easier rollback: If each feature only requires a change to a
single microservice, then that feature can be rolled back
without affecting the workflows of other teams.
Microservices can also improve security by reducing the
attack surface of the application and increase reliability by
reducing the possibility of an outage due to a single fault.
»» Ability to release independently and more frequently:
Microservices limit the scope of changes and reduce the
amount of coordination required between teams. Teams can
release according to their own schedules instead of being
bound to the single cadence of a monolith. A showstopper
bug found in a monolith holds back the whole release,
whereas in microservices the individual services can be
released independently.
»» Independent communication: In microservices, services
communicate independently. If one of the services has a
memory fault, then only that microservice is affected. All the
other microservices will continue to handle requests without
interruptions.
»» Easier upgrade path: Upgrading the framework used by a
large application is nontrivial and can be risky, even under
the best of conditions. Upgrades are much harder when you
need to coordinate sweeping, interlinked changes across
multiple teams. Smaller, independent services give you the
option of only upgrading the services that require the update
or allowing you to perform a rolling upgrade for one service
at a time and/or one team at a time.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Protection from change: Monoliths have lines of code that
may be unchanged for months or even years. However,
some parts of the code require more maintenance than
other parts. The ability to separate the parts of the code that
frequently churn from the parts of the code that don’t
change can reduce the risk of accidental regressions.
»» Defined scope: An independent service is much easier to
define and understand, especially if the service is maintained
by the same team. Even if the service needs to be refactored
down the road, the same team can keep the design consis-
tent. A monolith may become inconsistent as the architec-
ture evolves, due to decisions made by the different teams
that maintain the application over time.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Looking at How Kubernetes
and Microservices Work Together
The advent of Linux containers and container orchestration from
Kubernetes has fundamentally transformed the way applica-
tions are developed and vastly improved deployment velocity
by focusing on orchestrating containers through each stage of
a well-automated pipeline. Individual services can be packaged
as containers along with their dependencies (such as language-
specific frameworks and libraries) and deployed into Kubernetes,
thereby simplifying the path to production. Development teams
can now manage their pipelines independent of the language or
framework that runs inside the container. Kubernetes provides
application availability, elasticity, and overall management of
complex distributed, polyglot applications.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Understanding microservices
architecture challenges
Chapter 2
Service Mesh: A New
Paradigm
T
his chapter covers the challenges introduced by a microser-
vices architecture and how a service mesh solves these
challenges.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Many network connections to inspect and secure, which
increases network latency and operational costs and hinders
operational agility
»» Disjointed security, auditing, and compliance, which makes
achieving compliance a difficult and time-consuming task
FIGURE 2-1: Microservices can deliver the promise of agility, but it can also
introduce operational challenges.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Introducing Service Mesh
A service mesh is a modern connectivity and security run-time
platform that takes care of:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Proxies behave both as forward and reverse proxies, depending on
the direction of the communication: a forward proxy impersonates
the caller service or client, while a reserve proxy impersonates the
receiver service or server.
Service mesh projects like Consul, Istio, Kuma, and others have
gained momentum over the past several years. Istio, which was
initiated by Google, currently has the most momentum in the
open-source, cloud-native space, with more than 29,800 stars,
17,428 commits, and 780 contributors in the Istio GitHub repos-
itory and numerous companies building service mesh products
that are based on Istio, including Aspen Mesh, Cisco, F5, NGINX,
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
RedHat OpenShift, SUSE Rancher, Turfin Orca, Twistlock, and
VMware.
Projects like Consul, Istio, Kuma, and others add a control plane
to manage the sidecar proxies. In Istio, for example, you can apply
a configuration to the mesh with YAML (“YAML Ain’t Markup
Language”) files, using a declarative API. This means you can
provide an end-state definition rather than a series of steps.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Developer time is very expensive, so moving to a modern
connectivity and security run-time platform separated from the
application run time itself can save a lot of time and cost for the
business.
Introducing Istio
Istio’s architecture is divided into two levels: the data plane, which
is based on the Envoy proxy, and a control plane to manage the
life cycle and configure the proxies. Istio injects the sidecar prox-
ies into all the Kubernetes pods forming the desired service mesh.
Istio also uses Envoy proxies to provide access in and out of the
mesh (with the function of ingressing and egressing traffic to and
from the mesh), thereby providing a very clear demarcation line
for the entry and exit points of the service mesh. Traffic coming
into the mesh or leaving it via an Envoy proxy — which acts as
an ingress or egress gateway (or both) where traffic originates
outside the service mesh and goes via the egress gateway — will
return via the ingress gateway.
FIGURE 2-4: Envoy proxies provide entry and exit points in the service mesh.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
The Istio control plane (istiod) provides service discovery, con-
figuration, and certificate management (see Figure 2-5). Istiod
converts high-level routing rules that control traffic behavior into
Envoy-specific configurations, and propagates them to the side-
cars at run time.
FIGURE 2-5: The Istio architecture consists of the data plane and the service
mesh control plane.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Managing communication
»» Enabling observability
»» Providing security
Chapter 3
Service Mesh Use Cases
S
ervice mesh use cases tend to fall into four main areas:
service-to-service communication, observability, availabil-
ity and resiliency, and security. This chapter explores these
use cases.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
in more organizations is to have many small clusters rather than
a few big ones. At a minimum, most organizations separate their
nonproduction services from their production services by placing
them in different clusters. In more complex scenarios, organiza-
tions might choose multiple clusters to separate services across
tiers, locales, teams, or infrastructure providers. The most com-
mon reasons for separating clusters include the following:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Scale and availability: Placing services in specific locations
to address availability, latency, and locality needs. Location
usually comes up when considering the following:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
FIGURE 3-1: Proxies send metrics to the Service Mesh Control Plane in a
service mesh.
Observability
Application observability is a diverse topic, and different
application teams may have different requirements, which
are generally related to troubleshooting (because something
doesn’t work, because it is not performant, and so on). At a
glance, developers and application operators need to use traf-
fic metrics and application programming interface (API) call
traces between the different microservices that compose their
applications.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
To do this, application operators have to instrument microser-
vices and set up metric aggregators like Prometheus and dash-
boards like Grafana. There are different ways to instrument
microservices. With service meshes that follow the sidecar-proxy
architecture (see Chapter 2), the proxy automatically captures all
the traffic in and out of the microservices and exports the metrics
to the service mesh control plane, where developers and applica-
tion operators can check and use these metrics. Relying on Envoy
sidecars means that the observability instrumentation is trans-
parent to applications and automatically provided, not requir-
ing any code changes or application redeployments, regardless
of the programming language or frameworks used to build the
applications.
Metrics
The four golden signals of metrics monitoring are latency, traffic,
errors, and saturation. If you can only measure four metrics of
your user-facing system, focus on these four to understand the
behavior of your application:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
and breakdowns, including by destination service, source ser-
vice, metrics, and more. Operators should have dashboards for
full clusters, namespaces, groups of services, and so on. Ideally,
these dashboards should include golden metrics for microservices
and also metrics around the infrastructure that support those
microservices. This functionality helps platform operators to get
information on how the microservices are laid over the workload
nodes they run on and the different infrastructure performance
and health metrics like central processing unit (CPU), memory,
disk, and more. Through this relationship between infrastructure
and applications, platform operators can correlate microservices
problems with the infrastructure.
Distributed tracing
Distributed tracing is a method used to profile and monitor appli-
cations to understand service dependencies and the sources of
latency within the composite application. The concept has existed
for many years, but it has been particularly difficult to achieve in
a distributed microservices application, because transactions flow
through a mesh of many services.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
The breadth of remediation actions or preventive actions that a
service mesh provides to application operators depends entirely
on the service mesh implementation. However, there is a common
set (discussed in the following sections) that is found across the
most common open-source projects and commercial products.
Retries
Service meshes are able to handle network failures on behalf of the
microservices of your application. The service mesh can be config-
ured to automatically and transparently retry failed requests within
the parameters set up by the application operators. They can define
the timeout budgets for retries and jitter thresholds to restrict
the impact of the increased traffic caused by retries on upstream
services.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Circuit breakers
A sudden and intense spike in traffic, such as a distributed denial-of-
service (DDoS) attack, can quickly overload a network. Microservices-
based distributed applications would struggle to process the backlog
of requests coming all at once due to the sudden spike in traffic.
Rate limiting
Related to circuit breaking is rate limiting, a feature in service
meshes that allows application operators to enforce limits on
the rate of requests that match certain criteria. This feature can
be used to throttle traffic when it exceeds a rate of requests pre-
defined by the application operator.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Traffic steering
Traffic-steering rules enable application owners to control where
incoming traffic to a pool of instances of a microservice will be
sent. Rules are based on attributes such as authentication (send
Jason to Service A and send Linda to Service B), location (send
United Kingdom to Service A and send United States to Service B),
device (send watch to Service A and send mobile to Service B), or
anything else that is passed in the HTTP header. In Figure 3-3,
Android users are authenticating with Service B located on Pod 3,
whereas iPhone users are directed to authenticate with Service B
located on Pod 4.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Traffic steering has been accomplished in previous architectures
by hardcoding the rules into the application and using software
libraries. With service meshes, these rules are created by applica-
tion operators, with the life cycle managed independently of the
application, and enforced by the proxies.
Traffic-routing resiliency
There are normally two scenarios in which application operators
need to provide resiliency for routing traffic to services:
Although these use cases may sound similar, there are funda-
mental differences from an architecture perspective.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
FIGURE 3-4: An example of a canary release.
In the first use case, traffic is coming from outside the ser-
vice mesh (typically referred to as north–south traffic) and must
traverse the ingress gateway of the service mesh, as well as an
upstream load balancer. When two or more instances of the same
published microservice are available in different administrative
domains (for example, two or more clusters), the load balancer
can be programmed to route traffic to all instances, only to one
or to a group of instances, fail over to healthy instances (eject
the unhealthy ones), and so on, with different load-balancing
policies that can be configured by an application operator. Syn-
chronizing the configuration between the service mesh and the
external load balancer can be very painful because it’s basically
a manual process, or it can be automated using do-it-yourself
(DIY) tools.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
In the second use case, traffic is going across the different admin-
istrative domains within the service mesh (typically referred to as
east–west traffic) and traversing ingress and egress gateways of
the service meshes of each (for example, a cluster). Like the pre-
vious use case, the service mesh can be configured with different
load-balancing policies in the ingress gateways to route traffic to
different services or to all of them and so on. The main difference
from the previous use case is that, in this one, there is no exter-
nal load balancer and the routing function executes at the cluster
service mesh ingress gateways.
Security
Application operators must follow security and compliance
guidelines to mitigate insider threats and reduce the risk of a
data breach. This is generally achieved by ensuring that all com-
munications between applications are encrypted and mutually
authenticated. There are more advanced use cases, but these two
are hard requirements necessary to comply with regulatory and
security governance measures.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Service authentication and in-flight
data encryption
You may be familiar with TLS, which is used in the HTTP Secure
(HTTPS) protocol to allow browsers to trust web servers and
encrypt data that’s exchanged. When simple TLS is used, the
client determines that the server can be trusted by validating its
certificate. Mutual TLS (mTLS) is an implementation of TLS in
which both the client and the server present certificates to each
other and verify each other’s identities.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
allowed by default. Authorization policies are applied in the side-
car proxy, which will determine if a request should be allowed or
denied based on the policies.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Learning the basics of VMware Tanzu
Service Mesh
Chapter 4
Introducing VMware
Tanzu Service Mesh
A
service mesh addresses challenges associated with a
microservices architecture but also introduces new chal-
lenges (see Chapter 2). This chapter explains how VMware
Tanzu Service Mesh unleashes the real power of a service mesh
and addresses service mesh challenges.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Tanzu Service Mesh takes the concept of a service mesh and
elevates it to more of a distributed application framework that
extends far beyond service-to-service communications and pro-
vides advanced security capabilities, resiliency, and automated
operations for the application — regardless of which clouds its
services are running on.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
There are several reasons and use cases for an organization to
distribute an application’s services across multiple Kubernetes
clusters instead of using a single huge Kubernetes cluster, includ-
ing the following:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Istio deployment directly or utilize Tanzu Service Mesh’s applica-
tion programming interface (API) and create a global namespace
(discussed later in this chapter), which provides automated Istio
operations and adds additional layers of policy.
With Tanzu Service Mesh, the top layer, the Global Controller,
manages and controls the local Istio control planes, programming
them and managing their life cycle (see Figure 4-2). The Istio
control planes on the client clusters are federated by the Global
Controller and only communicate back to the Global Controller —
never with one another.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
even across clouds, they communicate directly with one another
from proxy to proxy.
Service discovery
Microservices brought the promise of agility to software devel-
opment. Applications are reduced to individual pieces called
microservices, and these microservices communicate using APIs.
Microservices enable continuous deployment and upgrade of
individual functionality separately and independently from the
other parts of the application.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
(RPCs) in memory. Microservices communicate over the network,
which introduces overhead and complexity when developing
cloud-native applications in a distributed architecture, because
you must take care of things such as:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
So, how do services find each other if not based on IP addresses?
If Service A needs to communicate with Service B, how would
Service A “know” the IP address of the ingress point to Service
B? You may be thinking this is easy — the Domain Name System
(DNS). Since the dawn of IP addressing, the DNS has been the
“phone book” for IP networks. But with microservices, there’s
a big challenge — someone or something needs to update the
DNS records because IP addresses and service locations change
constantly.
Service discovery is the first interaction with the mesh, and it’s
the only way developers should attach their applications to it.
Now you can start layering more sophisticated services on top.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
End-to-end mTLS
All service mesh technologies can attach a unique x509 certifi-
cate to each microservice. These certificates are then used by the
services to authenticate and establish Mutual Transport Layer
Security (mTLS) encryption and authorization access policies. But
for this to work, the certificates need to be part of the same trust
chain. It’s simpler to achieve trust when two services are running
on the same Kubernetes cluster using the same single certificate
authority (CA) in the cluster to issue certificates to the services.
But in a multi-cluster/multi-cloud deployment, it’s challenging
to create a trust between independent control planes.
Application publishing
and high availability
Most service mesh implementations are focused on service-to-
service communications, sometimes referred to as east–west
communications. Tanzu Service Mesh treats east–west and north–
south communications as attributes of the application that need
to be managed as part of the same mesh. For this purpose, Tanzu
Service Mesh is integrated with VMware NSX Advanced Load Bal-
ancer and Amazon Route 53 DNS services to control the north–
south policies as part of a global namespace.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
imported by the application operator on the ingress controller
of the clusters where that service exists. This provides users of
the application with access to the published service running in
the global namespace in a highly available manner. Also, when
deploying the published service in a new Kubernetes cluster or
cloud that’s part of the global namespace, the application auto-
matically expands by configuring the GSLB to point to the new
location without any human intervention or code change, thereby
saving time and resources for the business.
Actionable SLOs
(intelligent autoscaling)
One of the challenges of ensuring a high quality of service is being
able to measure the factors that reflect the quality of user experi-
ence, such as latencies and error rates.
Tanzu Service Mesh provides these metrics out of the box, with-
out needing additional plug-ins or code changes. Metric levels are
displayed in real-time graphs in the Tanzu Service Mesh Console
user interface. Tanzu Service Mesh provides an interface where
you can configure service-level objective (SLO) targets and select
the service-level indicators (SLIs) that determine service health.
With Tanzu Service Mesh SLO, you can observe and monitor the
health of your services inside a global namespace or, for services
directly in their cluster namespaces, in the user interface, as well
as through the API.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
SLOs are offered in two ways in Tanzu Service Mesh:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
You can configure monitored SLOs to monitor the behavior of one
or more services and inspect associated performance graphs. With
actionable SLOs, you can monitor and also influence autoscaler
decisions when SLIs are violated.
Traffic management
(progressive upgrades)
Traffic management has many use cases, including traffic shift-
ing based on user headers, resiliency features (such as circuit
breakers), and different upgrade strategies. With Tanzu Service
Mesh, you can use the native capabilities in Istio that make use of
YAML (YAML Ain’t Markup Language) declarative manifests on
a cluster-by-cluster basis or, with Tanzu Service Mesh being a
multi–Kubernetes cluster multi-cloud solution, you can use these
capabilities in a scalable distributed cross-cloud manner. For the
purpose of operating and managing upgrades, Tanzu Service
Mesh has a capability known as progressive upgrades, which man-
ages canary and blue-green across clusters at scale.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
You can also test a version with Tanzu Service Mesh progressive
upgrades by simulating an upgrade without going “all in” and
switching out versions.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
around operationalizing and securing the API calls, including the
following:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
For example, if Service A is compromised and credit card numbers
are being pulled in a way that violates the PII data policy, Tanzu
Service Mesh will either alert the security operators or block the
transaction, depending on how the policy is configured. Even if
this capability is used just to model where PII data is passing,
it’s very useful for organizations with regulatory requirements.
In Tanzu Service Mesh there are predefined rules to identify spe-
cific PII data patterns, and you can also create custom rules to
detect PII.
FIGURE 4-6: Tanzu Service Mesh provides zero trust security and PII data
leak protection.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Tanzu Service Mesh can apply threat detection for the Open
Web Application Security Project (OWASP) Top Ten web appli-
cation security risks to east–west traffic. This means that every
proxy in the service mesh can detect and stop an OWASP 10
attack. You can also program custom attacks by importing
attack signatures.
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Exploring helpful blogs and books
Chapter 5
Ten Resources to Help
you Get Started with
Service Mesh
R
eady to get started? We’ve put together the following list of
materials and tutorials to help you enhance your under-
standing of Istio and Tanzu Service Mesh.
Blogs
The open-source projects and VMware publish numerous blogs
to help you familiarize yourself with service mesh use cases and
technology. Check out the following:
»» Istio: https://istio.io/latest/blog
CHAPTER 5 Ten Resources to Help you Get Started with Service Mesh 51
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Kuma: https://kuma.io/blog
»» Linkerd: https://linkerd.io/blog
»» Open Service Mesh: https://openservicemesh.io/blog
»» VMware Network and Security Virtualization: https://
blogs.vmware.com/networkvirtualization
»» VMware Tanzu: https://tanzu.vmware.com/blog
Books
When you’re ready to take a deeper dive into service mesh, why
not get a blueprint from technical experts to help you understand
what’s going on “under the hood”? Here are some good places to
start:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» IstioCon 2022: The community conference for Istio service
mesh. Learn more at https://events.istio.io/
istiocon-2022.
»» Meetup: Join a local meetup at www.meetup.com/topics/
service-mesh and engage in dialogue with the Istio user
community at www.meetup.com/topics/istio.
»» ServiceMeshCon: A vendor-neutral conference on service
mesh. Find out more at https://events.linuxfoundation.
org/servicemeshcon-europe.
Documentation
The various open-source service mesh projects publish a wide
range of resources to help you get grounded on the projects and
info on how you can contribute. Check out the following resources:
»» Istio: https://istio.io
»» Kuma: https://kuma.io
»» Linkerd: https://linkerd.io
»» Open Service Mesh: https://release-v1-0.docs.
openservicemesh.io
Discussion Groups
Join a discussion group to post questions and actively contribute
to the various open-source service mesh projects and follow them
on Twitter:
»» Istio: https://discuss.istio.io
»» Istio on Twitter: https://twitter.com/istiomesh
CHAPTER 5 Ten Resources to Help you Get Started with Service Mesh 53
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Kuma on Twitter: https://twitter.com/kumamesh
»» Linkerd on Twitter: https://twitter.com/linkerd
»» Open Service Mesh on Twitter: https://twitter.com/
openservicemesh
»» Katacoda: www.katacoda.com/courses/istio
»» Modern Apps Ninja: Tanzu for Kubernetes Operation:
https://modernapps.ninja/course/
intrototko_tk5598/
»» VMware Tanzu for Kubernetes Operations: https://
labs.hol.vmware.com/HOL/catalogs/lab/10414
»» VMware: Tanzu Service Mesh Hands-on-Lab: https://
labs.hol.vmware.com/HOL/catalogs/lab/8509
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Why not take a class to enrich your understanding of service
mesh? There are many free and low-cost options, including the
following:
»» Coursera: www.coursera.org/search?query=service
%20mesh
»» DevOps School: https://devopsschool.com/courses/
istio
»» edX: www.edx.org/course/introduction-to-service-
mesh-with-linkerd
»» KodeKloud: https://kodekloud.com/courses/
istio-service-mesh
»» LinkedIn: www.linkedin.com/learning/
kubernetes-service-mesh-with-istio
»» NobleProg: www.nobleprog.com/cc/istio and www.
nobleprog.com/cc/linkerd
»» Pluralsight: www.pluralsight.com/courses/
istio-managing-apps-kubernetes
»» Udemy: www.udemy.com/topic/istio
»» Virtual Pair Programmers: www.virtualpairprogrammers
.com/training-courses/Istio-training.html
CHAPTER 5 Ten Resources to Help you Get Started with Service Mesh 55
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Videos and Tutorials
Watch the following videos and tutorials from the Just Me and
Opensource YouTube channel (www.youtube.com/c/wenkatn-
justmeandopensource) to go in-depth with Istio:
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» VMware Tanzu for Kubernetes Operations on VMware
Cloud on AWS Reference Design: https://docs.vmware.
com/en/VMware-Tanzu/services/tanzu-reference-
architecture/GUID-reference-designs-tko-on-vmc-
aws.html
»» VMware Tanzu for Kubernetes Operations on vSphere
Reference Design: https://docs.vmware.com/en/
VMware-Tanzu/services/tanzu-reference-
architecture/GUID-reference-designs-tko-on-
vsphere.html
»» VMware Tanzu for Kubernetes Operations on vSphere
with NSX-T Reference Design: https://docs.vmware.
com/en/VMware-Tanzu/services/tanzu-reference-
architecture/GUID-reference-designs-tko-on-
vsphere-nsx.html
CHAPTER 5 Ten Resources to Help you Get Started with Service Mesh 57
These materials are © 2022 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
WILEY END USER LICENSE AGREEMENT
Go to www.wiley.com/go/eula to access Wiley’s ebook EULA.