Service Mesh for
Microservices
Phuong Le – Engineering Manager (https://github.com/tungphuong)
Thang Chung – Solution Architect (https://github.com/thangchung)
Agenda
• Before Microservices
• Service Mesh Era
• Service Mesh Pioneers
• Q&A
Before Microservices
From SOA to MSA
Implement by our own
• Load Balancing
• Service Discovery
• Routing
• Resiliency
• Observability
• Security on Service
Level
• Communication
Protocols
• Configuration
• Deployment
• …
Implement our
own
Hard things happen
• Big Ball of Mud
microservice
• Hard to start
• Hard to debug
• Hard to deploy
How about this?
Any solution
so far ?
Solution for MSA today
Operator
(Platform
Engineer)
Developer
(Service
Owner)
Business Code
Ensuring reliability,
security and visibility
Service Mesh Era
A SERVICE
MESH offers
consistent
discovery, security,
tracing, monitoring
and failure handling
without the need for a
shared asset such as
an API gateway or
ESB.
https://www.thoughtworks.com/radar/techniques/service-
mesh
Service Mesh - Pros and Cons
• Pros:
- Developers can focus on business code
- Solved most of the problems in MSA like distributed
tracing, logging, security, access control etc.
- Real polyglot approach, e.g. PHP, Java, .NET Core,
NodeJS, Golang,…
• Cons:
- Adding extra hops
- Immature
How Service Mesh works?
How Service Mesh works? (cont.)
……
….
How Service Mesh works? (cont.)
……
….
How Service Mesh works? (cont.)
……
….
How Service Mesh works?(cont.)
……
….
ControlPlane
Data
Plane
How Service Mesh works?(cont.)
Service Mesh Pioneers
NELSON
CONTROL PLANE
DATA PLANE
Service Mesh Competitors
Istio Architecture
I want some more
• More about Microservice concept, design and
implementation:
- Real-world MSA Architecture at TopDev meetup on June 2018
- From MSA to Service Mesh at NashTech DevCafe on July 2018
https://www.facebook.com/devcafevn
Q&A
THANK YOU
www.nashtechglobal.com

Service Mesh for Microservices - Vietnam Mobile Day - June 2018

Editor's Notes

  • #6 Load Balancing Routing: path based routing – L7 intelligent proxy Auto Service Discovery Resiliency for inter-service communications: circuit-breaking, bulkhead, retries and timeouts, fault injection, fault handling, load balancing and failover, and Rate Limiting. Observability: metrics, monitoring, distributed logging, and distributed tracing Security: mTLS and key management Inter-service communication protocols: HTTP1.x, HTTP2, gRPC, or DataPack protocols Configuration information Deployment: native support for containers (Docker) and orchestration layer (Kubernetes, Docker Swarm…) 100% Uptime
  • #13 https://thenewstack.io/history-service-mesh
  • #15 https://medium.com/microservices-in-practice/service-mesh-for-microservices-2953109a3c9a
  • #16 Programming Language Agnostic => expose endpoint
  • #22 https://thenewstack.io/history-service-mesh
  • #23 https://medium.com/memory-leak/5-microservices-trends-to-watch-in-2018-aed135f70e51