2. Agenda
Blocks that build
Yes, we need to talk
Ok, But how
Talking it out
Look who is talking
Conversation control
Who is right
Can I get a visual please
Let us interact
Demo
Q & A
1
3. How deep we will dive
Overview of building blocks
Basics of different communication techniques
Pros and cons of each
Tools used for different communication styles
Illustrations
Usecase discussion
Interact with the group
Code example - One for each communication style
Q & A
1
4. Blocks that build
Multiple distributed components
Controllers
Gateway
Service Registry
Configuration Service
Business
Functional Components
Common stores
Datastore
Communication Bus
Distributed Cache
2
5. Yes, we need to talk
Service dependency chaining
Service A ---depends on---- Service B
Service B ---depends on---- Service C
Information sharing
Multiple services needs to know
Action Triggers
An activity triggering a set of actions
State Update
System with state knowledge
Order Inventory Ship
Updater State
Fault
Config
NW
Perf
Forward
Eco System
Multi-Service dependency chaining
Information sharing
NW Fault Trigger State updates
6. Ok, but how
1. Style based
Synchronous
Asynchronous
2. Receiver Endpoints
Single receiver
Multiple receivers
Service Mesh
3. Client to Service Communication
Direct communication to Service API
Communication via., an API Gateway
Order Inventory Ship
Multi-Service synchronous request / response
Order Inventory
Shipment Location
sync
M M M M
T1
M
T2 T3 T4
Async
7. Talking it out
Synchronous
Distributed with individual flow sequence
Sequential Service Orchestration
Parallel Service Orchestration
Security aspects
Asynchronous
Choreography of events
Orchestrated sequential events
Orchestrated Event choreography
GOSSIP
Req – wait – Resp
8. Look who is talking
Synchronous
REST / HTTP(s)
o Spring Boot REST
RPC
o gRPC – mono or multi lingual
o Apache Thrift
Asynchronous
Publish / Subscribe
o Rabbit MQ
o Kafka
Orchestration
Camunda BPM
Activiti
9. Synchronous conversation control
User authentication &
authorization
UAA service
Service level control
Feign REST Client
Declarative style
Services control the talk
Secure communication
Platform level control
Landing service availability
Pluggable Fall back
Hystrix based call flow
11. Who is right
Synchronous
Pros
Reliable
Fits read heavy systems
Consistency
Cons
Dependency based design
Chained actions
Tight Coupling
High Possibility of cascading effects
Asynchronous
Pros
Greater Autonomy for Microservices
Decouple service dependency
Achievable scale outs
Fits write heavy systems
Cons:
Complexity
Synchronous consumers need to change
17. Use case: Centralized Service
Orchestration
Domain: Telecom
Use case: Network Service provisioning
Orchestration: Service type based flow
Microservices: F C A P S
Steps:
Service data captured via., business UI
Data translates to metadata for service provisioning
Invokes service type based flow
Performs flow actions via., service adapters
Service test as part of flow
18. Use case: Event Driven Service
Orchestration
Domain: Infrastructure Management
Use case: NOC Automation
Orchestration: Customer specific Flows
Microservices: Ticketing, Escalation, Scheduler
Steps:
Network and Enterprise connector Bridge
Customer specific flows defined
Events trigger the flow
Flow triggers the microservice via., Event bus
Actionable steps defined in event type DB
Integration with trouble ticketing system via., Event bus