5. Implement by our own
• Load Balancing
• Service Discovery
• Routing
• Resiliency
• Observability
• Security on Service
Level
• Communication
Protocols
• Configuration
• Deployment
• …
Implement our
own
6. Hard things happen
• Big Ball of Mud
microservice
• Hard to start
• Hard to debug
• Hard to deploy
11. 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
12. 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
22. 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
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