SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Introduction to
Microservices
2
What is Microservices Architecture?
Loosely
Coupled
Fine
Grained
Lightweig
ht
SOA
variant
Highly scalable,
resilient and
Configurable Design
Web/mobile/IOT Devices
Type
Format
Size
Registration
service
Visit Mgmt Service
Ordering Service
Rest API
(Req/Response)
API
Gateway
Microservice Architectural style is an approach to
developing a single application as a suite of small
services, each running in its own process and
communicating with lightweight mechanisms, often
an HTTP resource API.
Rest
API
Rest
API
Rest
API
Decomposition of
Business Concerns
based on DDD Principle
Evolution of Software Architecture
Microservice Vs Monolithic Architecture
https://i.pinimg.com/originals/03/19/8f/03198fb151de525f30d5d1073dfa039e.png
Why not Monolith?
UI
Appointment
Registration
Billing
App Server
Single
Database
 Hard to understand and
modify
 Overloaded web container
 Development slowdown
 Change requires full rebuild,
test and deploy
 Single technology built design
 Scalability Risk with data
growth
Why Microservices?
Small and Focused on one
Business Functionality (Domain
Driven Design)
Functional & Team Scaling
(Independent Development,
Release and Deployment)
Fault Isolation vs. Bring all down
Well defined Module boundaries
across domain functionalities with
explicit interface declaration
Polyglot Persistence
(Decentralized)
Rewrite can be limited to one
service
Compliance to NDHB Standards
Decentralized choreography vs
centralized orchestration
Loosely Coupled
Maintainability, Reliability,
Extensibility, Scalability
Uber Example based on Microservice Architecture
Microservices Architecture | Detailed Layout
Microservices Architecture Ecosystem
• Business Microservices
• API Gateway
• Discovery Server
• Configuration Server
• Identity Management Server
• Authentication Server
• Logs Aggregator Server
• Logs Analyzer
• Admin Server
• Databases
• Message Queues
• Load Balancers
• Reverse Proxies
Microservices Architecture – Technology Framework
Technologies, frameworks ...
NetflixRibbon Used to implement client side load balancing. Spring cloud
config service
Used to provide centralized configuration for all
microservices
ELK Used to provide centralized logging in microservices
architecture
Zuul Gateway Used to provide public API routing
Sleuth Used to provide corelation id between inter-
microservice comunication
Consul Discovery service from Hashicorp with Spring Cloud
support.
Hystrix Communication resilience wrapper from Netflix
provides impl. for circuit breaker, timeout,
bulkheads, fallback, etc.
Resilience4J Communication resilience wrapper library that
provides impl for various resilient patterns
including circuit breaker, bulkheads, etc.
OpenFeign A HTTP client from Netflix that provides client side
load balancing, and can work with Hystrix.
Apache
HTTPClient
A HTTP client from Netflix that provides support for
basic resilience patterns like timeouts, retrys, etc.
Microservices Communication
Microservices Communication Patterns
Microservices Inter Service Communication Plan
A. Synchronous / HTTP calls
• API gateway to discovery server
• All to discovery server
• All to config server
• API gateway to identity management server
B. Asynchronous / Messaging
Microservice A to B through message queues (RabbitMQ,Kafka,Spring AMQP etc.)
C. Event-Sourcing
Microservices (e.g. A,B), Event Store, API Gateway, Message Bus
D. Event-Sourcing with CQRS
Microservices (e.g. A,B), Write /Read Event Stores, API Gateway, Message Bus
Microservices with Synchronous / HTTP
A
Microservices with Asynchronous / Messaging
B
Microservices with CQRS & Event Sourcing
Microservices with Axon Network
Microservices Coordination – Choreography Vs Orchestration
CHOREOGRAPHY ORCHESTRATION
Monolith to Microservice Architecture (Bolt on approach)
THE STRANGLER PATTERN
Microservice CQRS based Event Sourcing architecture – Patient
Registration
Patient Registration Microservice...
Responsibility: Manages Registration Processes
Owns: Patient Database
Responsibility: Looks up PHID from Person Health registry
Triggers: Patient event store
• User
Authentication
service
• Registration
service
• PHID Registry
Lookup Service
• Billing Service Responsibility: Manages Insurance Patient Registration
Owns – Billing database, Triggers – Bill Payment event store
• Update Patient
Service
• Merge/UnMerge
Patient Service
19
Business Entities
Person
Patient
Source of Payment
Facility
Care provider
Business Concerns
Walk in Patient Registration
Registration on Patient Portal
Update Registration
Link PHID with Hospital Registration
Number
Bulk Registrations
Merge Patient
Insurance Patient Registration
Responsibility: Updates Patient
Owns – Patient database, Triggers – Patient event store
Responsibility: Merges/Unmerges Patient
Triggers – Patient event store
Responsibility: Authenticates user and assigns system functionality based on
Roles and Permissions
Owns: User database
Microservice CQRS based Event Sourcing architecture – Patient
Registration
Patient Registration Microservice siness Entities ...
Staff
Roo
m
Bill
Business Concerns
...
Commands
CreatePatientCommand
UpdatePatientCommand
MergePatientCommand
UnMergePatientComman
d
LinkPHIDWithFacilityRegi
strationCommand
Events
PatientCreatedEvent
PatientUpdatedEvent
PatientMergedEvent
PHIDCreatedEvent
etc.
Queries
getPatientByCareProvide
r
getPatientBased
Microservice CQRS based Event Sourcing architecture – Visit
Microservice
Visit Microservice Entities ...
Staff
Room
Bill
Business Concerns
...
Commands:
CreatePatientEncounterCom
mand
UpdatePatientEncounterCo
mmand
ActivatePatientEncounterCo
mmand
DeactivatePatientEncounter
Command
PatientEncounterVisitCancella
tionCommand
CreateEpisodeCommand
ActivateEpisodeCommand
UpdateEpisodeCommand
DeactivateEpisodeCommand
Events
PatientEncounterCreatedEve
nt
PatientEncounterUpdatedEv
ent
PatientEncounterActivatedE
vent
PatientEncounterDeactivate
dCommand
VisitCancellationEvent
EpisodeCreatedEvent
EpisodeUpdatedEvent
EpisodeDeactivatedEvent
Queries
GetPatientEncounterByuniq
ueHealthIdentificationNumb
er
getAllPatientActiveEncoun
ters
getAllPatientDeactivatedEnco
unters
getPatientEpisodeByuniqueHe
althIdentificationNumber
getAllPatientActiveEpisodes
getAllPatientDeactivatedEpiso
des
getPatientCohortGroupsByDis
easeCode
API Gateway
Cloud Configuration Server
ELK – Distributed Logging
Sleuth Trace ID
THANKS!
Dr Pankaj Gupta
Head – ACCESS Health Digital
digital.health@accessh.org
Twitter: @pankajguptadr, @accesshdigital
LinkedIn: drpankajgupta, accesshdigital

Weitere ähnliche Inhalte

Was ist angesagt?

Microservices
MicroservicesMicroservices
MicroservicesSmartBear
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Edureka!
 
Comparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesComparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesMirantis
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewBob Killen
 
Serverless Architecture and Best Practices
Serverless Architecture and Best PracticesServerless Architecture and Best Practices
Serverless Architecture and Best PracticesAmazon Web Services
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
 

Was ist angesagt? (20)

Microservices
MicroservicesMicroservices
Microservices
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
02 api gateway
02 api gateway02 api gateway
02 api gateway
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
DevOps and Tools
DevOps and ToolsDevOps and Tools
DevOps and Tools
 
Springboot Microservices
Springboot MicroservicesSpringboot Microservices
Springboot Microservices
 
Comparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesComparison of Current Service Mesh Architectures
Comparison of Current Service Mesh Architectures
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Angular PWA
Angular PWAAngular PWA
Angular PWA
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
Serverless Architecture and Best Practices
Serverless Architecture and Best PracticesServerless Architecture and Best Practices
Serverless Architecture and Best Practices
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Serverless
ServerlessServerless
Serverless
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
 

Ähnlich wie Microservices

[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 Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...apidays
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationBizTalk360
 
Apache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesApache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesKai Wähner
 
[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
 
API Management Microservices beyond HIP
API Management Microservices beyond HIPAPI Management Microservices beyond HIP
API Management Microservices beyond HIPSmartWave
 
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
 
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration MicroservicesWSO2
 
Innovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessInnovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessAmazon Web Services
 
API Days Singapore
API Days SingaporeAPI Days Singapore
API Days Singaporeconfluent
 
apidays LIVE Singapore - Moving to an Event Driven Microservices Architecture...
apidays LIVE Singapore - Moving to an Event Driven Microservices Architecture...apidays LIVE Singapore - Moving to an Event Driven Microservices Architecture...
apidays LIVE Singapore - Moving to an Event Driven Microservices Architecture...apidays
 
Service mesh in action with onap
Service mesh in action with onapService mesh in action with onap
Service mesh in action with onapHuabing Zhao
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsStijn Van Den Enden
 
Microservices oracle-meetup
Microservices oracle-meetupMicroservices oracle-meetup
Microservices oracle-meetupNitu Parimi
 
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...Chris Richardson
 
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
 
Enabling a Real-Time, Agile, Event-Driven Enterprise
Enabling a Real-Time, Agile, Event-Driven EnterpriseEnabling a Real-Time, Agile, Event-Driven Enterprise
Enabling a Real-Time, Agile, Event-Driven EnterpriseSolace
 
Operating Microservices at Hyperscale — Tech in Asia PDC 2019
Operating Microservices at Hyperscale — Tech in Asia PDC 2019Operating Microservices at Hyperscale — Tech in Asia PDC 2019
Operating Microservices at Hyperscale — Tech in Asia PDC 2019Donnie Prakoso
 

Ähnlich wie Microservices (20)

[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 Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integration
 
Apache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesApache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice Architectures
 
[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 ...
 
API Management Microservices beyond HIP
API Management Microservices beyond HIPAPI Management Microservices beyond HIP
API Management Microservices beyond HIP
 
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...
 
sMash_for_zOS-users
sMash_for_zOS-userssMash_for_zOS-users
sMash_for_zOS-users
 
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
 
Innovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessInnovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your Business
 
API Days Singapore
API Days SingaporeAPI Days Singapore
API Days Singapore
 
apidays LIVE Singapore - Moving to an Event Driven Microservices Architecture...
apidays LIVE Singapore - Moving to an Event Driven Microservices Architecture...apidays LIVE Singapore - Moving to an Event Driven Microservices Architecture...
apidays LIVE Singapore - Moving to an Event Driven Microservices Architecture...
 
Service mesh in action with onap
Service mesh in action with onapService mesh in action with onap
Service mesh in action with onap
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applications
 
Microservices oracle-meetup
Microservices oracle-meetupMicroservices oracle-meetup
Microservices oracle-meetup
 
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
 
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...
 
Enabling a Real-Time, Agile, Event-Driven Enterprise
Enabling a Real-Time, Agile, Event-Driven EnterpriseEnabling a Real-Time, Agile, Event-Driven Enterprise
Enabling a Real-Time, Agile, Event-Driven Enterprise
 
Operating Microservices at Hyperscale — Tech in Asia PDC 2019
Operating Microservices at Hyperscale — Tech in Asia PDC 2019Operating Microservices at Hyperscale — Tech in Asia PDC 2019
Operating Microservices at Hyperscale — Tech in Asia PDC 2019
 
Microservice Powered Orchestration
Microservice Powered OrchestrationMicroservice Powered Orchestration
Microservice Powered Orchestration
 

Mehr von ACCESS Health Digital (20)

Governance healthcare financial lever
Governance healthcare financial lever Governance healthcare financial lever
Governance healthcare financial lever
 
Startup bootcamp 3
Startup bootcamp 3Startup bootcamp 3
Startup bootcamp 3
 
Startup bootcamp 2
Startup bootcamp 2Startup bootcamp 2
Startup bootcamp 2
 
Oops concepts
Oops conceptsOops concepts
Oops concepts
 
Java part 3
Java part  3Java part  3
Java part 3
 
Java part 2
Java part  2Java part  2
Java part 2
 
Java part 1
Java part 1Java part 1
Java part 1
 
Hl7 & FHIR
Hl7 & FHIRHl7 & FHIR
Hl7 & FHIR
 
Federated architecture
Federated architectureFederated architecture
Federated architecture
 
E objects implementation
E objects implementationE objects implementation
E objects implementation
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Database concepts
Database conceptsDatabase concepts
Database concepts
 
Computer networks
Computer networksComputer networks
Computer networks
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
MDDS & NDHB Principles
MDDS & NDHB PrinciplesMDDS & NDHB Principles
MDDS & NDHB Principles
 
Health information exchange (HIE)
Health information exchange (HIE)Health information exchange (HIE)
Health information exchange (HIE)
 
Health insurance information platform (hiip)
Health insurance information platform (hiip)Health insurance information platform (hiip)
Health insurance information platform (hiip)
 
Closed loop medication administration
Closed loop medication administrationClosed loop medication administration
Closed loop medication administration
 
Health delivery information system [HDIS] MVP
Health delivery information system [HDIS] MVPHealth delivery information system [HDIS] MVP
Health delivery information system [HDIS] MVP
 
HCIT is different
HCIT is differentHCIT is different
HCIT is different
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Microservices

  • 2. What is Microservices Architecture? Loosely Coupled Fine Grained Lightweig ht SOA variant Highly scalable, resilient and Configurable Design Web/mobile/IOT Devices Type Format Size Registration service Visit Mgmt Service Ordering Service Rest API (Req/Response) API Gateway Microservice Architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. Rest API Rest API Rest API Decomposition of Business Concerns based on DDD Principle
  • 3. Evolution of Software Architecture
  • 4. Microservice Vs Monolithic Architecture https://i.pinimg.com/originals/03/19/8f/03198fb151de525f30d5d1073dfa039e.png
  • 5. Why not Monolith? UI Appointment Registration Billing App Server Single Database  Hard to understand and modify  Overloaded web container  Development slowdown  Change requires full rebuild, test and deploy  Single technology built design  Scalability Risk with data growth
  • 6. Why Microservices? Small and Focused on one Business Functionality (Domain Driven Design) Functional & Team Scaling (Independent Development, Release and Deployment) Fault Isolation vs. Bring all down Well defined Module boundaries across domain functionalities with explicit interface declaration Polyglot Persistence (Decentralized) Rewrite can be limited to one service Compliance to NDHB Standards Decentralized choreography vs centralized orchestration Loosely Coupled Maintainability, Reliability, Extensibility, Scalability
  • 7. Uber Example based on Microservice Architecture
  • 9. Microservices Architecture Ecosystem • Business Microservices • API Gateway • Discovery Server • Configuration Server • Identity Management Server • Authentication Server • Logs Aggregator Server • Logs Analyzer • Admin Server • Databases • Message Queues • Load Balancers • Reverse Proxies
  • 10. Microservices Architecture – Technology Framework Technologies, frameworks ... NetflixRibbon Used to implement client side load balancing. Spring cloud config service Used to provide centralized configuration for all microservices ELK Used to provide centralized logging in microservices architecture Zuul Gateway Used to provide public API routing Sleuth Used to provide corelation id between inter- microservice comunication Consul Discovery service from Hashicorp with Spring Cloud support. Hystrix Communication resilience wrapper from Netflix provides impl. for circuit breaker, timeout, bulkheads, fallback, etc. Resilience4J Communication resilience wrapper library that provides impl for various resilient patterns including circuit breaker, bulkheads, etc. OpenFeign A HTTP client from Netflix that provides client side load balancing, and can work with Hystrix. Apache HTTPClient A HTTP client from Netflix that provides support for basic resilience patterns like timeouts, retrys, etc.
  • 12. Microservices Inter Service Communication Plan A. Synchronous / HTTP calls • API gateway to discovery server • All to discovery server • All to config server • API gateway to identity management server B. Asynchronous / Messaging Microservice A to B through message queues (RabbitMQ,Kafka,Spring AMQP etc.) C. Event-Sourcing Microservices (e.g. A,B), Event Store, API Gateway, Message Bus D. Event-Sourcing with CQRS Microservices (e.g. A,B), Write /Read Event Stores, API Gateway, Message Bus
  • 15. Microservices with CQRS & Event Sourcing
  • 17. Microservices Coordination – Choreography Vs Orchestration CHOREOGRAPHY ORCHESTRATION
  • 18. Monolith to Microservice Architecture (Bolt on approach) THE STRANGLER PATTERN
  • 19. Microservice CQRS based Event Sourcing architecture – Patient Registration Patient Registration Microservice... Responsibility: Manages Registration Processes Owns: Patient Database Responsibility: Looks up PHID from Person Health registry Triggers: Patient event store • User Authentication service • Registration service • PHID Registry Lookup Service • Billing Service Responsibility: Manages Insurance Patient Registration Owns – Billing database, Triggers – Bill Payment event store • Update Patient Service • Merge/UnMerge Patient Service 19 Business Entities Person Patient Source of Payment Facility Care provider Business Concerns Walk in Patient Registration Registration on Patient Portal Update Registration Link PHID with Hospital Registration Number Bulk Registrations Merge Patient Insurance Patient Registration Responsibility: Updates Patient Owns – Patient database, Triggers – Patient event store Responsibility: Merges/Unmerges Patient Triggers – Patient event store Responsibility: Authenticates user and assigns system functionality based on Roles and Permissions Owns: User database
  • 20. Microservice CQRS based Event Sourcing architecture – Patient Registration Patient Registration Microservice siness Entities ... Staff Roo m Bill Business Concerns ... Commands CreatePatientCommand UpdatePatientCommand MergePatientCommand UnMergePatientComman d LinkPHIDWithFacilityRegi strationCommand Events PatientCreatedEvent PatientUpdatedEvent PatientMergedEvent PHIDCreatedEvent etc. Queries getPatientByCareProvide r getPatientBased
  • 21. Microservice CQRS based Event Sourcing architecture – Visit Microservice Visit Microservice Entities ... Staff Room Bill Business Concerns ... Commands: CreatePatientEncounterCom mand UpdatePatientEncounterCo mmand ActivatePatientEncounterCo mmand DeactivatePatientEncounter Command PatientEncounterVisitCancella tionCommand CreateEpisodeCommand ActivateEpisodeCommand UpdateEpisodeCommand DeactivateEpisodeCommand Events PatientEncounterCreatedEve nt PatientEncounterUpdatedEv ent PatientEncounterActivatedE vent PatientEncounterDeactivate dCommand VisitCancellationEvent EpisodeCreatedEvent EpisodeUpdatedEvent EpisodeDeactivatedEvent Queries GetPatientEncounterByuniq ueHealthIdentificationNumb er getAllPatientActiveEncoun ters getAllPatientDeactivatedEnco unters getPatientEpisodeByuniqueHe althIdentificationNumber getAllPatientActiveEpisodes getAllPatientDeactivatedEpiso des getPatientCohortGroupsByDis easeCode
  • 26. THANKS! Dr Pankaj Gupta Head – ACCESS Health Digital digital.health@accessh.org Twitter: @pankajguptadr, @accesshdigital LinkedIn: drpankajgupta, accesshdigital