Do you need service meshes in your tech stack?
This on-line guide aims to answer pertinent questions for software architects and technical leaders, such as: what is a service mesh?, do I need a service mesh?, how do I evaluate the different service mesh offerings? In software architecture, a service mesh is a dedicated infrastructure layer for facilitating service-to-service communications between microservices, often using a sidecar proxy.
3. A service mesh manages all service-to-
service communication within a
distributed (potentially microservice-
based) software system. It accomplishes
this typically via the use of “sidecar”
proxies that are deployed alongside each
service through which all traffic is
transparently routed.
KEY TAKE AWAY NO 1
I N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
4. Proxies used within a service mesh are
typically “application layer” aware
(operating at Layer 7 in the OSI
networking stack). This means that
traffic routing decisions and the labeling
of metrics can draw upon data in HTTP
headers or other application layer
protocol metadata.
KEY TAKE AWAY NO 2
I N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
5. A service mesh provides dynamic service
discovery and traffic management,
including traffic shadowing (duplicating)
for testing, and traffic splitting for canary
releasing, incremental rollout, and A/B
type experimentation.
KEY TAKE AWAY NO 3
I N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
6. A service mesh also supports the
implementation and enforcement of cross
cutting requirements, such as security
(providing service identity and TLS) and
reliability (rate limiting, circuit-breaking).
KEY TAKE AWAY NO 4
I N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
7. As a service mesh is on the critical path
for every request being handled within
the system, it can also provide additional
“observability,” such as distributed
tracing of a request, frequency of HTTP
error codes, global and service-to-service
latency.
KEY TAKE AWAY NO 5
I N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
8. There are clear benefits provided
by the use of a service mesh, but
the tradeoffs of added complexity
and the requirement of additional
runtime resources should be
analyzed.
KEY TAKE AWAY NO 6
I N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
9. Service mesh technology is rapidly
becoming part of the (cloud native)
application platform “plumbing.” The
interesting innovation within this space is
happening in relation to the higher-level
abstractions and the human-focused
control planes.
KEY TAKE AWAY NO 7
I N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
10. Popular service meshes include: Linkerd,
Istio, Consul, Kuma, and Maesh.
Supporting technologies within this space
include: Layer 7-aware proxies, such as
Envoy, HAProxy, and NGINX; and service
mesh orchestration, visualization, and
understandability tooling, such as
SuperGloo, Kiali, and Dive.
KEY TAKE AWAY NO 8
I N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D EI N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
11. Timeline
SERVICE MESHES ON INFOQ
2011
Twitter began
work on the Scala-
powered Finagle
2013
Airbnb
released
SmartStack
2014
Netflix
released an
entire suite of
JVM-based
utilities
including
Prana
05/ 2017
the releases of
Istio
07/ 2018
Linkerd 2.0
11/2018
Consul Connect
and SuperGloo
05/2019
service mesh
interface
(SMI)
09/2019
Maesh and
Kuma
infoq.com/articles/service-mesh-ultimate-guideI N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
12. SERVICE MESHES- USE CASES
Z I M C O R E H U B S | D E S I G N T H I N K I N G
DYNAMIC
SERVICE
DISCOVERY
AND ROUTING
SERVICE-TO-
SERVICE
COMMUNICATION
RELIABILITY
OBSERVABILITY OF
TRAFFIC
COMMUNICATION
SECURITY
infoq.com/articles/service-mesh-ultimate-guideI N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
13. SERVICE MESHES- ANTIPATTERNS
Z I M C O R E H U B S | D E S I G N T H I N K I N G
TOO MANY
TRAFFIC
MANAGEMENT
LAYERS
SERVICE MESH
SILVER BULLET
ENTERPRISE
SERVICE BUS
(ESB) 2.0
BIG BANG
DEPLOYMENT
infoq.com/articles/service-mesh-ultimate-guideI N F O Q . C O M / A R T I C L E S / S E R V I C E - M E S H - U L T I M A T E - G U I D E
14. Q: WHAT IS A SERVICE MESH?
A: A service mesh is a technology that manages
all service-to-service, “east-west,” traffic within a
distributed (potentially microservice-based)
software system.
INFOQ.COM/ARTICLES/SERVICE-MESH-ULTIMATE-GUIDE
FAQ
15. Q: HOW DOES A SERVICE MESH DIFFER FROM
AN API GATEWAY?
A: A service mesh manages all service-to-
service, “east-west,” traffic within a distributed
(potentially microservice-based) software
system.
FAQ
INFOQ.COM/ARTICLES/SERVICE-MESH-ULTIMATE-GUIDE
16. Q: IF I AM DEPLOYING MICROSERVICES, DO I
NEED A SERVICE MESH?
A: Not necessarily. A service mesh provides one
way of implementing service discovery. Other
solutions include language-specific libraries
(such as Ribbon and Eureka, or Finagle)
FAQ
INFOQ.COM/ARTICLES/SERVICE-MESH-ULTIMATE-GUIDE
17. Q: DO I NEED A SERVICE MESH TO IMPLEMENT
SERVICE DISCOVERY WITH MICROSERVICES?
A: No. A service mesh provides one way of
implementing service discovery. Other solutions
include language-specific libraries (such as
Ribbon and Eureka, or Finagle)
FAQ
INFOQ.COM/ARTICLES/SERVICE-MESH-ULTIMATE-GUIDE
18. SOME RESOURCES
SERVICE MESH
PODCAST
Idit Levine Discussing
Gloo, Service Mesh
Interface, and Web
Assembly Hub
Oliver Gould on the
Three Pillars of Service
Mesh, SMI, and Making
Technology Bets
SERVICE MESH
INFLUENCERS
Kasun Indrasiri
Bilgin Ibryam
Kelsey Hightower
SERVICE MESH
TUTORIALS
Layer 5 Meshery
Solo’s SuperGloo
KataCoda Istio tutorial
SERVICE MESH
EMAG
Service Mesh: Past,
Present, and Future
https://www.infoq.co
m/minibooks/service-
mesh/
INFOQ.COM/ARTICLES/SERVICE-MESH-ULTIMATE-GUIDE
19. Share your knowledge
WRITE FOR INFOQ
DANIEL BRYANT
InfoQ News Manager
CHARLES HUMBLE
Editor in Chief
Send us an email at
editors@infoq.com
INFOQ.COM/ARTICLES/SERVICE-MESH-ULTIMATE-GUIDE