Emergent,
choreographed,
microservices …
FTW
Syed Affan Ahmed • 11-Oct-2019
@aintiha
Analog Excellence
Microservices using
the pub-sub pattern
About myself
PhD. in CS, from USC --- Underwater Sensor Networks
Associate Prof. and Director of SysNet Lab (FAST-ISB)
Director Engineering at PLUMgrid
Head of Engineering at AN10
Member National Steering Committee for NCBC
Heading the OpenStack Pakistan User group
Overview
- Monolithic vs Microservices
- Flavors of Microservice Arch.
- High Level Arch for Orion and
Digital Transformation Solution
Application Architectures:
Monolithic vs
Microservices
Monolithic Applications
Single code base/language
Single Team
Change cycles are coupled, long testing cycle => difficult for
CI/CD
Full application, coarse-grained scaling
Why the Microservices push?
Why the Microservices push?
Small teams, independent decisions, loosely coupled
Continuous delivery of new features
Fine grained scaling
Why the Microservices push?
Small teams, independent decisions, loosely coupled
Continuous delivery of new features
Fine grained scaling
Benefits
Why the Microservices push?
Small teams, independent decisions, loosely coupled
Continuous delivery of new features
Fine grained scaling
Benefits
Why the Microservices push?
Small teams, independent decisions, loosely coupled
Continuous delivery of new features
Fine grained scaling
Benefits
Why the Microservices push?
Small teams, independent decisions, loosely coupled
Continuous delivery of new features
Fine grained scaling
Benefits
The Flavors of
Microservice Architecture
How the interconnection is implemented!
Pub-Sub and Microservices
● Asynchronous model, no polling for information
● Streaming processing, naturally
● Scaling producer/consumers easy*
● Easily handles event spikes
● Program flow is an emergent behavior = choreography
* With certain messaging systems, like Kafka
Practically, a hybrid
model works best.
Order tracking
Microservices… and sliced bread!
Microservices… and sliced bread!
Microservices… and sliced bread!
Enterprise Applications
built using microservices
Application-Data decoupling
● Data storage and availability
decoupled from Application logic
● Protocol Adapters for interfacing
with INX or 3rd party devices
Scalability and Data Ingestion
C*, Kudu, Spark, and ELK:
Big Data Technologies
● Multi-node
● Cluster-based and scalable
● Fast visualizations
Kafka as messaging
Queue
● High performance ingestion
● Enable Micro-service
Architecture
Streaming Data Processing
Power of the platform through Streaming workers
Each worker has some “powers” , configured via rules
Result of worker output can be accessed via endpoints
Each worker, is built as a
microservice
Each microservice is a
platform feature
Digital Transformation
using WFE
Transforming Digital Operations
Executable WFE
Empowers C-level management
SOA architecture
https://www.linkedin.com/pulse/digital-transformation-journey-how-iot-becomes-ioe-affan-syed/
Ask away !!
Supplementary slides
Kafka based pub-sub
Consumer Groups for scaling

Emergent, choreographed, microservices … FTW