SlideShare a Scribd company logo
COPYRIGHT – 1 BILLION TECH | CONFIDENTIAL
ENTERPRISEINTEGRATIONINCLOUD
NATIVE MICROSERVICESARCHITECTURES
GUEST
LECTURE
27TH
JAN 2021
ABOUT ME
 Vice President – Technology, One Billion Tech
 Heads Global Technology Office (GTO) at One Billion Tech
 In the IT industry for 25+ years
 Former Head Of Technology, ICTA Sri Lanka
 LinkedIn: https:/
/www.linkedin.com/in/crishantha/
 Blog: https:/
/medium.com/@crishantha
 Twitter: @crishantha
AGENDA
 Cloud Native Architectures
 Enterprise Integration
 Microservices Architectures
 Building applications in Cloud Native Microservices environments
WHYTHIS TOPIC?
 Today’s applications are deployed to
everything from mobile devices to cloud
based clusters running thousands of
multi-core processes
 Users expect milliseconds response
times and close to 100% up-time.
 Traditional architectures simply won’t
cut anymore.
 Microservices + Cloud Native is the
new norm
CLOUD NATIVE ARCHITECTURES
CLOUD NATIVE ARCHITECTURES
 “Cloud Native” is an approach of building and running applications that exploits the
advantages of Cloud Computing delivery model.
 Main Requirements for a Cloud Native Architecture:
●
Should run smoothly within cloud native run-time environments (Docker / Kubernetes)
●
Low startup time
●
Low resource consumption
●
Resiliency
●
The ability to port to a different cloud offering with minimal changes
WHY CONTAINER BASED ARCHITECTURES?
WHY CONTAINER BASED ARCHITECTURES?
CONTAINER ORCHESTRATION - KUBERNETES
 The most popular container orchestration
framework is Kubernetes
 Kubenetes cluster consists of multiple
“nodes”
 There are two type of “nodes”. (Master Node
and Worker Nodes)
 Worker nodes consists of one or more
“pods”
 “Pods” are the smallest and the most basic
building block of Kubernetes cluster
 One “pod” can have one or more containers
running within them.
ENTERPRISE INTEGRATION
Source: https://towardsdatascience.com
EVOLUTION OF ENTERPRISE SYSTEMS
Reference: Microservices: The resurgence of SOA principles and an alternative to the monolith (PWC)
EVOLUTION OF ENTERPRISE SYSTEMS
MONOLITHIC ARCHITECTURE
 Monolithic solutions are built,
tested and deployed as one large
body of code, typically across a
set of servers or virtual machine
instances.
SERVICE ORIENTED ARCHITECTURE
Source: ICTA Sri Lanka
SERVICE ORIENTED ARCHITECTURE
Source: Open Source SOA
ENTERPRISE INTEGRATION PATTERNS
MICROSERVICES ARCHITECTURES
MICROSERVICES ARCHITECTURE
Reference: Getting Started with Microservices – By Arun Gupta
 “Microservices are self-
contained units of
functionality with loosely
coupled dependencies on
other services and are
designed, developed, tested
and released independently”
 ISOLATION
●
The most important feature
●
Involves independent and complete control of the resource (Bounded Context)
 AUTONOMY
●
Takes the full responsibility of the service
●
The service can be changed with no or minimal impact to other services
●
The maximum autonomy happens with event based inter service communications
 SRP – Single Responsibility Principle
●
The scope of the service responsibility has only one reason to change
●
“micro” – The scope of responsibility
KEY FEATURES OF MICROSERVICES
 STATE
●
Microservices need to own their state
exclusively
●
The data is strongly consistent within the
microservice
●
The data is eventually consistent between
microservices
 MOBILITY
●
The possibility of moving services around at
runtime while they are being used (using
container architectures)
KEY FEATURES OF MICROSERVICES
DUMB PIPES, SMART ENDPOINTS
 MSA has a lightweight message bus or a gateway with minimal routing capabilities and acting
as a “dumb pipe” and all the business logic resides within Endpoints and they have become
“Smart Endpoints”
SERVICE ORCHESTRATION
Orchestration at Microservice Level (RECOMMENDED)
SEPARATE DATA STORES
HORIZONTAL SCALING
HORIZONTAL SCALING
SERVICE COMPOSITIONS – SYNCHRONOUS (ACTIVE)
SERVICE COMPOSITIONS – ASYNCHRONOUS (REACTIVE)
EVENT SOURCING IN REACTIVE
 Persists each state changing events of a service
as a sequence of events. All such events are
stored in an event bus and consumers can
derive a state of a particular service event by
processing the event sourcing log
TRANSACTIONS IN MICROSERVICES
 MSA encourages “transaction-less” coordination between microservices
 Transactions should be applicable for only within the scope of the microservice
 Handling transactions orchestrated with multiple microservices can be challenging
 Example: Credit card bill payment
●
Step 1: Debit Savings bank
●
Step 2: Credit Credit Card Account
SAGA PATTERN
Source: Microservices for the Enterprise, Apress (2018)
 Saga Pattern Is a pattern for managing failures, where each action has a compensating action
for rollback.
POLYGLOT PERSISTENCE
 With the decentralized data management with Saga, you can take advantage of having its own
persistence mechanism for each microservice
 This is one advantage of distributed transaction handling (Saga) over Two phased commit
(2PC) or any other asynchronous transaction handling
 Polyglot persistence means each microservice having its own data store / database
MICROSERVICE INVOCATION STYLES
 There are multiple invocation styles
●
Point to Point Style
●
API Gateway Style
●
Message Broker Style
POINTTO POINT INVOCATION
 Works only for simple microservices
 When the number of microservices
increases, things can get complex
 Main drawbacks:
●
Not having a central place to execute
non-functional requirements (security,
throttling, monitoring, service discovery)
●
Most of the time these non-functional
requirements are duplicated within
microservices
API GATEWAY INVOCATION
 Works as a lightweight message gateway
eliminating issues had with the point-
point style
 Working as a single entry point for all
client service invocations
 Implements common non-functional
requirements
●
Lightweight message routing
●
Filtering
●
Message transformations
●
Security, monitoring and throttling
MESSAGE BROKER INVOCATION
 Used for asynchronous / reactive
messaging
 Uses protocols such as AMQP, MQTT
 Apache Kafka is a well known message
brokering framework
 To reduce complexity, Microservices Architectures divided its architecture into two main
architectural components,
●
Inner Architecture
●
How you design a microservice itself
●
Domain Drive Design (DDD)
●
Outer Architecture
●
How it communicates with other Microservices
●
Service Discovery, Routing, Error Handing, Observability, Access Control
MICROSERVICE ARCHITECTURE
MSA INNER ARCHITECTURE
DOMAIN DRIVEN DESIGN (DDD)
 Domain Driven Design helps us to scope out Microservices
 The scoping is done using Bounded Contexts
 Each bounded context encapsulates related functionalities into domain models defines
integration points to other bounded contexts.
 Each bounded context has an explicit interface, where it defines what models to share with
other contexts
 These modular boundaries are clearly align with a Microservice
 That means, we can say a “Bounded Context = Microservice”
BOUNDED CONTEXT
 Domain = Inventory Management
 Bounded Contexts = Order Processing, Inventory, Supplier Management
●
Order Processing – Encapsulates the functionality related to processing an order
●
Inventory – Takes care of updating the stocks upon receiving items from suppliers and
releasing the delivery
●
Supplier Management – Encapsulates the functionality related to managing suppliers. Upon
releasing an item for delivery, supplier management checks whether it has enough stocks in
the inventory. If not notifies the corresponding suppliers.
BOUNDED CONTEXT - EXAMPLE
BOUNDED CONTEXT - EXAMPLE
Source: Microservices for the Enterprise, Apress (2018)
MSA OUTER ARCHITECTURE
SERVICE MESH
Source: http:/
/philcalcado.com/2017/08/03/pattern_service_mesh.html
 Service Mesh is not a “distributed
ESB”
 It does not contain any business logic
like you find in ESB
 It does contain infrastructure level
features such as tracing, routing,
circuit breaking, load balancing,
service discovery, etc
SIDE CAR PATTERN
 Service Mesh overcomes the
microservices inter-service
communication challenges by having
the “Side Car Pattern”
 It consists of “proxies” to intercept all
incoming and outgoing network
traffic.
 Service Mesh divides tasks into two
planes.
●
Data Plane – Consists of
Microserives + Side Car
●
Control Plane – Consists of
components of service discovery,
routing, telemetry, access control,
etc)
SIDE CAR PATTERN
Source: https:/
/www.imz-ural.com/blog/waffles-the-sidecar-dog
SIDE CAR PATTERN
 Reducing the complexity in
microservices code by abstracting
infrastructure related functionalities
to a different layer
 Reduces the code complications: You
do not need to write any
configuration code within
microservices.
 Provides loose coupling between the
microservice and the infrastructure
SERVICE MESH ARCHITECTURES - ISTIO
 Istio has been the most popular open
source service mesh framework in the
market.
 It uses “Envoy” as its Side Car proxy
by default
PUBLIC CLOUD SERVICE MESH OFFERINGS
INTER SERVICE COMMUNICATIONS - GRPC
Source: Kasun Indrasri (GOTO 2020): Cloud Native Communication Patterns with GRPC
AFTER ALL, NOTHING IS EASY.
ALTERNATIVE: THE STRANGLER PATTERN?
Source: martinfowler.com
REFERENCES

Thank You

More Related Content

What's hot

Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutionsEric Cattoir
 
Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...Judy Breedlove
 
Power of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentPower of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentOpenSense Labs
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in PracticeKasun Indrasiri
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsSatya Syam
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureMohammad Dameer
 
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"Daniel Bryant
 
Why WSO2 for Digital Transformation?
Why WSO2 for Digital Transformation? Why WSO2 for Digital Transformation?
Why WSO2 for Digital Transformation? WSO2
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service MeshAspen Mesh
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises Kasun Indrasiri
 
Open Service Federation Framework
Open Service Federation FrameworkOpen Service Federation Framework
Open Service Federation FrameworkWSO2
 
Hybrid integration platform reference architecture
Hybrid integration platform reference architectureHybrid integration platform reference architecture
Hybrid integration platform reference architectureChanaka Fernando
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaAraf Karsh Hamid
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices ArchitectureParia Heidari
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
Integration Microservices
Integration MicroservicesIntegration Microservices
Integration MicroservicesKasun Indrasiri
 
Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...
Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...
Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...Digital Transformation EXPO Event Series
 
DEVNET-1184 Microservices Patterns
DEVNET-1184	Microservices PatternsDEVNET-1184	Microservices Patterns
DEVNET-1184 Microservices PatternsCisco DevNet
 
Deep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer ArchitectureDeep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer ArchitectureWSO2
 

What's hot (20)

Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutions
 
Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...
 
Power of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentPower of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal Development
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
 
Why WSO2 for Digital Transformation?
Why WSO2 for Digital Transformation? Why WSO2 for Digital Transformation?
Why WSO2 for Digital Transformation?
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service Mesh
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Open Service Federation Framework
Open Service Federation FrameworkOpen Service Federation Framework
Open Service Federation Framework
 
Hybrid integration platform reference architecture
Hybrid integration platform reference architectureHybrid integration platform reference architecture
Hybrid integration platform reference architecture
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Integration Microservices
Integration MicroservicesIntegration Microservices
Integration Microservices
 
Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...
Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...
Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...
 
DEVNET-1184 Microservices Patterns
DEVNET-1184	Microservices PatternsDEVNET-1184	Microservices Patterns
DEVNET-1184 Microservices Patterns
 
Deep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer ArchitectureDeep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer Architecture
 

Similar to Enterprise Integration in Cloud Native Microservices Architectures

APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...apidays
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...WSO2
 
Microservices Design Principles.pdf
Microservices Design Principles.pdfMicroservices Design Principles.pdf
Microservices Design Principles.pdfSimform
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API ManagementWSO2
 
[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API...
[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API...[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API...
[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API...WSO2
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYdannyijwest
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY IJwest
 
WSO2Con ASIA 2016: Understanding Microservice Architecture
WSO2Con ASIA 2016: Understanding Microservice ArchitectureWSO2Con ASIA 2016: Understanding Microservice Architecture
WSO2Con ASIA 2016: Understanding Microservice ArchitectureWSO2
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Judy Breedlove
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Sagara Gunathunga
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for EnterprisesWSO2
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo Landini
 
Horizontal Scaling for Millions of Customers!
Horizontal Scaling for Millions of Customers! Horizontal Scaling for Millions of Customers!
Horizontal Scaling for Millions of Customers! elangovans
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoTFrancesco Rago
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesJim (张建军) Zhang
 
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...Cognizant
 

Similar to Enterprise Integration in Cloud Native Microservices Architectures (20)

APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 
Microservices Design Principles.pdf
Microservices Design Principles.pdfMicroservices Design Principles.pdf
Microservices Design Principles.pdf
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
 
[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API...
[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API...[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API...
[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API...
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
WSO2Con ASIA 2016: Understanding Microservice Architecture
WSO2Con ASIA 2016: Understanding Microservice ArchitectureWSO2Con ASIA 2016: Understanding Microservice Architecture
WSO2Con ASIA 2016: Understanding Microservice Architecture
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
 
Microservices
MicroservicesMicroservices
Microservices
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
Horizontal Scaling for Millions of Customers!
Horizontal Scaling for Millions of Customers! Horizontal Scaling for Millions of Customers!
Horizontal Scaling for Millions of Customers!
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 
Microservices
MicroservicesMicroservices
Microservices
 
Api Management with Service Mesh
Api Management with Service MeshApi Management with Service Mesh
Api Management with Service Mesh
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
 

More from Crishantha Nanayakkara

Sri Lanka Government Enterprise Architecture
Sri Lanka Government Enterprise ArchitectureSri Lanka Government Enterprise Architecture
Sri Lanka Government Enterprise ArchitectureCrishantha Nanayakkara
 
1BT_Tech_Talk_AWS_Cross_Account_Access
1BT_Tech_Talk_AWS_Cross_Account_Access1BT_Tech_Talk_AWS_Cross_Account_Access
1BT_Tech_Talk_AWS_Cross_Account_AccessCrishantha Nanayakkara
 
Towards Cloud Enabled Data Intensive Digital Transformation
Towards Cloud Enabled Data Intensive Digital TransformationTowards Cloud Enabled Data Intensive Digital Transformation
Towards Cloud Enabled Data Intensive Digital TransformationCrishantha Nanayakkara
 
Domain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureDomain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureCrishantha Nanayakkara
 
Enterprise architecture in the current e-Government context in Sri Lanka
Enterprise architecture in the current e-Government context in Sri LankaEnterprise architecture in the current e-Government context in Sri Lanka
Enterprise architecture in the current e-Government context in Sri LankaCrishantha Nanayakkara
 
Lanka Gate Core Components - Government CIO Workshop Dec 2013
Lanka Gate Core Components - Government CIO Workshop Dec 2013Lanka Gate Core Components - Government CIO Workshop Dec 2013
Lanka Gate Core Components - Government CIO Workshop Dec 2013Crishantha Nanayakkara
 

More from Crishantha Nanayakkara (20)

Sri Lanka Government Enterprise Architecture
Sri Lanka Government Enterprise ArchitectureSri Lanka Government Enterprise Architecture
Sri Lanka Government Enterprise Architecture
 
Application Deployement Strategies
Application Deployement StrategiesApplication Deployement Strategies
Application Deployement Strategies
 
Azure for AWS Developers
Azure for AWS DevelopersAzure for AWS Developers
Azure for AWS Developers
 
AWS Systems Manager
AWS Systems ManagerAWS Systems Manager
AWS Systems Manager
 
AWS Big Data Landscape
AWS Big Data LandscapeAWS Big Data Landscape
AWS Big Data Landscape
 
1BT_Designing_Microservices
1BT_Designing_Microservices1BT_Designing_Microservices
1BT_Designing_Microservices
 
1BT_Tech_Talk_AWS_Cross_Account_Access
1BT_Tech_Talk_AWS_Cross_Account_Access1BT_Tech_Talk_AWS_Cross_Account_Access
1BT_Tech_Talk_AWS_Cross_Account_Access
 
AWS Security Hub
AWS Security HubAWS Security Hub
AWS Security Hub
 
Resiilient Architectures on AWS
Resiilient Architectures on AWSResiilient Architectures on AWS
Resiilient Architectures on AWS
 
Reactive Microservices
Reactive MicroservicesReactive Microservices
Reactive Microservices
 
Expectaions in IT industry
Expectaions in IT industryExpectaions in IT industry
Expectaions in IT industry
 
Towards Cloud Enabled Data Intensive Digital Transformation
Towards Cloud Enabled Data Intensive Digital TransformationTowards Cloud Enabled Data Intensive Digital Transformation
Towards Cloud Enabled Data Intensive Digital Transformation
 
Container Architecture
Container ArchitectureContainer Architecture
Container Architecture
 
Domain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureDomain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
Enterprise architecture in the current e-Government context in Sri Lanka
Enterprise architecture in the current e-Government context in Sri LankaEnterprise architecture in the current e-Government context in Sri Lanka
Enterprise architecture in the current e-Government context in Sri Lanka
 
Modern Trends in IT
Modern Trends in ITModern Trends in IT
Modern Trends in IT
 
ICTA Meetup 12 - Message Brokers
ICTA Meetup 12 - Message BrokersICTA Meetup 12 - Message Brokers
ICTA Meetup 12 - Message Brokers
 
ICTA Meetup 11 - Big Data
ICTA Meetup 11 - Big DataICTA Meetup 11 - Big Data
ICTA Meetup 11 - Big Data
 
Lanka Gate Core Components - Government CIO Workshop Dec 2013
Lanka Gate Core Components - Government CIO Workshop Dec 2013Lanka Gate Core Components - Government CIO Workshop Dec 2013
Lanka Gate Core Components - Government CIO Workshop Dec 2013
 

Recently uploaded

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...Alluxio, Inc.
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024Ortus Solutions, Corp
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfAMB-Review
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion Clinic
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownloadvrstrong314
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
 

Recently uploaded (20)

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 

Enterprise Integration in Cloud Native Microservices Architectures

  • 1. COPYRIGHT – 1 BILLION TECH | CONFIDENTIAL ENTERPRISEINTEGRATIONINCLOUD NATIVE MICROSERVICESARCHITECTURES GUEST LECTURE 27TH JAN 2021
  • 2. ABOUT ME  Vice President – Technology, One Billion Tech  Heads Global Technology Office (GTO) at One Billion Tech  In the IT industry for 25+ years  Former Head Of Technology, ICTA Sri Lanka  LinkedIn: https:/ /www.linkedin.com/in/crishantha/  Blog: https:/ /medium.com/@crishantha  Twitter: @crishantha
  • 3.
  • 4. AGENDA  Cloud Native Architectures  Enterprise Integration  Microservices Architectures  Building applications in Cloud Native Microservices environments
  • 5. WHYTHIS TOPIC?  Today’s applications are deployed to everything from mobile devices to cloud based clusters running thousands of multi-core processes  Users expect milliseconds response times and close to 100% up-time.  Traditional architectures simply won’t cut anymore.  Microservices + Cloud Native is the new norm
  • 7. CLOUD NATIVE ARCHITECTURES  “Cloud Native” is an approach of building and running applications that exploits the advantages of Cloud Computing delivery model.  Main Requirements for a Cloud Native Architecture: ● Should run smoothly within cloud native run-time environments (Docker / Kubernetes) ● Low startup time ● Low resource consumption ● Resiliency ● The ability to port to a different cloud offering with minimal changes
  • 8.
  • 9. WHY CONTAINER BASED ARCHITECTURES?
  • 10. WHY CONTAINER BASED ARCHITECTURES?
  • 11. CONTAINER ORCHESTRATION - KUBERNETES  The most popular container orchestration framework is Kubernetes  Kubenetes cluster consists of multiple “nodes”  There are two type of “nodes”. (Master Node and Worker Nodes)  Worker nodes consists of one or more “pods”  “Pods” are the smallest and the most basic building block of Kubernetes cluster  One “pod” can have one or more containers running within them.
  • 14. Reference: Microservices: The resurgence of SOA principles and an alternative to the monolith (PWC) EVOLUTION OF ENTERPRISE SYSTEMS
  • 15. MONOLITHIC ARCHITECTURE  Monolithic solutions are built, tested and deployed as one large body of code, typically across a set of servers or virtual machine instances.
  • 20. MICROSERVICES ARCHITECTURE Reference: Getting Started with Microservices – By Arun Gupta  “Microservices are self- contained units of functionality with loosely coupled dependencies on other services and are designed, developed, tested and released independently”
  • 21.  ISOLATION ● The most important feature ● Involves independent and complete control of the resource (Bounded Context)  AUTONOMY ● Takes the full responsibility of the service ● The service can be changed with no or minimal impact to other services ● The maximum autonomy happens with event based inter service communications  SRP – Single Responsibility Principle ● The scope of the service responsibility has only one reason to change ● “micro” – The scope of responsibility KEY FEATURES OF MICROSERVICES
  • 22.  STATE ● Microservices need to own their state exclusively ● The data is strongly consistent within the microservice ● The data is eventually consistent between microservices  MOBILITY ● The possibility of moving services around at runtime while they are being used (using container architectures) KEY FEATURES OF MICROSERVICES
  • 23. DUMB PIPES, SMART ENDPOINTS  MSA has a lightweight message bus or a gateway with minimal routing capabilities and acting as a “dumb pipe” and all the business logic resides within Endpoints and they have become “Smart Endpoints”
  • 24. SERVICE ORCHESTRATION Orchestration at Microservice Level (RECOMMENDED)
  • 28. SERVICE COMPOSITIONS – SYNCHRONOUS (ACTIVE)
  • 29. SERVICE COMPOSITIONS – ASYNCHRONOUS (REACTIVE)
  • 30. EVENT SOURCING IN REACTIVE  Persists each state changing events of a service as a sequence of events. All such events are stored in an event bus and consumers can derive a state of a particular service event by processing the event sourcing log
  • 31. TRANSACTIONS IN MICROSERVICES  MSA encourages “transaction-less” coordination between microservices  Transactions should be applicable for only within the scope of the microservice  Handling transactions orchestrated with multiple microservices can be challenging  Example: Credit card bill payment ● Step 1: Debit Savings bank ● Step 2: Credit Credit Card Account
  • 32. SAGA PATTERN Source: Microservices for the Enterprise, Apress (2018)  Saga Pattern Is a pattern for managing failures, where each action has a compensating action for rollback.
  • 33. POLYGLOT PERSISTENCE  With the decentralized data management with Saga, you can take advantage of having its own persistence mechanism for each microservice  This is one advantage of distributed transaction handling (Saga) over Two phased commit (2PC) or any other asynchronous transaction handling  Polyglot persistence means each microservice having its own data store / database
  • 34. MICROSERVICE INVOCATION STYLES  There are multiple invocation styles ● Point to Point Style ● API Gateway Style ● Message Broker Style
  • 35. POINTTO POINT INVOCATION  Works only for simple microservices  When the number of microservices increases, things can get complex  Main drawbacks: ● Not having a central place to execute non-functional requirements (security, throttling, monitoring, service discovery) ● Most of the time these non-functional requirements are duplicated within microservices
  • 36. API GATEWAY INVOCATION  Works as a lightweight message gateway eliminating issues had with the point- point style  Working as a single entry point for all client service invocations  Implements common non-functional requirements ● Lightweight message routing ● Filtering ● Message transformations ● Security, monitoring and throttling
  • 37. MESSAGE BROKER INVOCATION  Used for asynchronous / reactive messaging  Uses protocols such as AMQP, MQTT  Apache Kafka is a well known message brokering framework
  • 38.  To reduce complexity, Microservices Architectures divided its architecture into two main architectural components, ● Inner Architecture ● How you design a microservice itself ● Domain Drive Design (DDD) ● Outer Architecture ● How it communicates with other Microservices ● Service Discovery, Routing, Error Handing, Observability, Access Control MICROSERVICE ARCHITECTURE
  • 41.  Domain Driven Design helps us to scope out Microservices  The scoping is done using Bounded Contexts  Each bounded context encapsulates related functionalities into domain models defines integration points to other bounded contexts.  Each bounded context has an explicit interface, where it defines what models to share with other contexts  These modular boundaries are clearly align with a Microservice  That means, we can say a “Bounded Context = Microservice” BOUNDED CONTEXT
  • 42.  Domain = Inventory Management  Bounded Contexts = Order Processing, Inventory, Supplier Management ● Order Processing – Encapsulates the functionality related to processing an order ● Inventory – Takes care of updating the stocks upon receiving items from suppliers and releasing the delivery ● Supplier Management – Encapsulates the functionality related to managing suppliers. Upon releasing an item for delivery, supplier management checks whether it has enough stocks in the inventory. If not notifies the corresponding suppliers. BOUNDED CONTEXT - EXAMPLE
  • 43. BOUNDED CONTEXT - EXAMPLE Source: Microservices for the Enterprise, Apress (2018)
  • 45. SERVICE MESH Source: http:/ /philcalcado.com/2017/08/03/pattern_service_mesh.html  Service Mesh is not a “distributed ESB”  It does not contain any business logic like you find in ESB  It does contain infrastructure level features such as tracing, routing, circuit breaking, load balancing, service discovery, etc
  • 46. SIDE CAR PATTERN  Service Mesh overcomes the microservices inter-service communication challenges by having the “Side Car Pattern”  It consists of “proxies” to intercept all incoming and outgoing network traffic.  Service Mesh divides tasks into two planes. ● Data Plane – Consists of Microserives + Side Car ● Control Plane – Consists of components of service discovery, routing, telemetry, access control, etc)
  • 47. SIDE CAR PATTERN Source: https:/ /www.imz-ural.com/blog/waffles-the-sidecar-dog
  • 48. SIDE CAR PATTERN  Reducing the complexity in microservices code by abstracting infrastructure related functionalities to a different layer  Reduces the code complications: You do not need to write any configuration code within microservices.  Provides loose coupling between the microservice and the infrastructure
  • 49. SERVICE MESH ARCHITECTURES - ISTIO  Istio has been the most popular open source service mesh framework in the market.  It uses “Envoy” as its Side Car proxy by default
  • 50. PUBLIC CLOUD SERVICE MESH OFFERINGS
  • 51. INTER SERVICE COMMUNICATIONS - GRPC Source: Kasun Indrasri (GOTO 2020): Cloud Native Communication Patterns with GRPC
  • 52. AFTER ALL, NOTHING IS EASY.
  • 53. ALTERNATIVE: THE STRANGLER PATTERN? Source: martinfowler.com