SlideShare a Scribd company logo
1 of 28
Microservices In Practice
Irakli Nadareishvili,
Director of Strategy, API Academy
CA Technologies
2 © 2015 CA. ALL RIGHTS RESERVED. inadarei
3 © 2015 CA. ALL RIGHTS RESERVED. inadarei
But, why?
4 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Microservices can greatly improve your capabilities in:
CONTINUOUS DELIVERY
PRODUCING EVOLVABLE AND SCALABLE ARCHITECTURE
ENABLING AGILE SOFTWARE DEVELOPMENT LIFECYCLE
1
2
3
5 © 2015 CA. ALL RIGHTS RESERVED. inadarei
6 © 2015 CA. ALL RIGHTS RESERVED. inadarei
COMMUNICATE USING LANGUAGE-AGNOSTIC APIS
ARE INDEPENDENTLY DEPLOYABLE VIA UNIVERSAL CONTAINERS
PRACTICE DECENTRALIZED DATA MANAGEMENT
1
2
3
Microservices is an architectural style, in
which a complex software application is de-
composed into smaller components ("micro
services") that:
7 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Challenge:
De-centralized Data Management
8 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Tool 1:
Think of Capabilities,
not: Data Models
9 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Bounded Contexts
10 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Eric Evans: Bounded Contexts
An application domain consists of multiple bounded
contexts. Residing within each BC are models that do not
need to be shared outside, as well as other models that are
shared externally.
11 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Bounded Context = Capabilities.
“In your organization, you should be
thinking not in terms of data that is
shared, but about the capabilities those
contexts provide the rest of the domain.”
– Sam Newman, Building Microservices
12 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Caution:
DDD and Bounded Context Identification
Are Far From Trivial or Easy Tasks
13 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Domain-Driven Design – More Information
Eric Evans: "Domain-Driven Design:
Tackling Complexity in the Heart of
Software" - 2003
Vaughn Vernon: "Implementing
Domain-Driven Design" - 2013
Scott Millett: "Patterns, Principles,
and Practices of Domain-Driven
Design" - 2015
14 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Tool 2:
Event Sourcing & CQRS
15 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Event Sourcing
Use an append-only store to record the full series of events
that describe actions taken on data in a domain, rather than
storing just the current state, so that the store can be used
to materialize the domain objects.
https://msdn.microsoft.com/en-gb/library/dn589792.aspx
16 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Command and Query Responsibility Segregation (CQRS)
Segregate operations that read data from operations that
update data by using separate interfaces.
This pattern can maximize performance, scalability, and
security; support evolution of the system over time through
higher flexibility; and prevent update commands from
causing merge conflicts at the domain level.
https://msdn.microsoft.com/en-us/library/dn568103.aspx
17 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Deposit Money Microservice
Deposit Message Queue
Event Store
(e.g. Cassandra)
Transactions List/Query Microservice
Query Index Store
(e.g. ElasticSearch)
Validation
18 © 2015 CA. ALL RIGHTS RESERVED. inadarei
What About Them Transactions?
19 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Tool 3: Sagas
(Long-Lived Distributed Transactions)
20 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Booking Travel
21 © 2015 CA. ALL RIGHTS RESERVED. inadarei
No Shared State = No Distr. Transactions
Source: http://vasters.com/clemensv/2012/09/01/Sagas.aspx
We ♥ Sagas!
Designed by: Hector Garcia-Molina & Kenneth Salem, Princeton, 1987
22 © 2015 CA. ALL RIGHTS RESERVED. inadarei
One More Thing…
23 © 2015 CA. ALL RIGHTS RESERVED. inadarei
24 © 2015 CA. ALL RIGHTS RESERVED. inadarei
“Bounded context should be as
big as it needs to be in order to
fully express its complete
Ubiquitous Language”
– Vaughn Vernon, Implementing Domain –Driven Design.
25 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Many start coarse-grained and
become more granular over time.
That said, companies that have been
building Microservices for long, report
that they end with hundreds of
Microservices.
26 © 2015 CA. ALL RIGHTS RESERVED. inadarei
Where do we get
hundreds of servers?
27 © 2015 CA. ALL RIGHTS RESERVED. inadarei
How do we afford so many servers?
Director of Strategy, API Academy
Irakli Nadareishvili
@inadarei
@apiacademy
@cainc

More Related Content

What's hot

Solace Connect NYC 2019 - Enabling the Event-Driven Enterprise
Solace Connect NYC 2019 - Enabling the Event-Driven EnterpriseSolace Connect NYC 2019 - Enabling the Event-Driven Enterprise
Solace Connect NYC 2019 - Enabling the Event-Driven EnterpriseSolace
 
Stream SAP and Other Events Across Your Enterprise with an Event Mesh
Stream SAP and Other Events Across Your Enterprise with an Event MeshStream SAP and Other Events Across Your Enterprise with an Event Mesh
Stream SAP and Other Events Across Your Enterprise with an Event MeshSolace
 
Building an Integrated Supply Chain for APIs
Building an Integrated Supply Chain for APIs Building an Integrated Supply Chain for APIs
Building an Integrated Supply Chain for APIs Asanka Abeysinghe
 
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE
 
apidays LIVE Hong Kong 2021 - Rethinking Financial Services with Data in Moti...
apidays LIVE Hong Kong 2021 - Rethinking Financial Services with Data in Moti...apidays LIVE Hong Kong 2021 - Rethinking Financial Services with Data in Moti...
apidays LIVE Hong Kong 2021 - Rethinking Financial Services with Data in Moti...apidays
 
The Future of Cloud Native Apps - Chicago Intro
The Future of Cloud Native Apps - Chicago IntroThe Future of Cloud Native Apps - Chicago Intro
The Future of Cloud Native Apps - Chicago IntroJudy Breedlove
 
Data Distribution for the Event-Driven Business
Data Distribution for the Event-Driven BusinessData Distribution for the Event-Driven Business
Data Distribution for the Event-Driven BusinessSolace
 
Accelerate the Adoption of Event-Driven Architecture
Accelerate the Adoption of Event-Driven ArchitectureAccelerate the Adoption of Event-Driven Architecture
Accelerate the Adoption of Event-Driven ArchitectureSolace
 
The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)Asanka Abeysinghe
 
Cloud Expo Europe 2019 - Solace Presentation
Cloud Expo Europe 2019 - Solace PresentationCloud Expo Europe 2019 - Solace Presentation
Cloud Expo Europe 2019 - Solace PresentationSolace
 
Dell NVIDIA AI Powered Transformation in Financial Services Webinar
Dell NVIDIA AI Powered Transformation in Financial Services WebinarDell NVIDIA AI Powered Transformation in Financial Services Webinar
Dell NVIDIA AI Powered Transformation in Financial Services WebinarBill Wong
 
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...LeanIX GmbH
 
Stream events across your enterprise with the Solace Platform
Stream events across your enterprise with the Solace PlatformStream events across your enterprise with the Solace Platform
Stream events across your enterprise with the Solace PlatformSolace
 
Architecting the Transformation
Architecting the TransformationArchitecting the Transformation
Architecting the TransformationAsanka Abeysinghe
 
Transport for London's Transition to Agile Delivery
Transport for London's Transition to Agile DeliveryTransport for London's Transition to Agile Delivery
Transport for London's Transition to Agile DeliveryWSO2
 
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
 
Gartner CIO & IT Executive Summit -- Event Mesh: The Architecture Layer That ...
Gartner CIO & IT Executive Summit -- Event Mesh: The Architecture Layer That ...Gartner CIO & IT Executive Summit -- Event Mesh: The Architecture Layer That ...
Gartner CIO & IT Executive Summit -- Event Mesh: The Architecture Layer That ...Solace
 
Event-Driven Transformation in Banking and FSI
Event-Driven Transformation in Banking and FSIEvent-Driven Transformation in Banking and FSI
Event-Driven Transformation in Banking and FSISolace
 
Functional AI and Pervasive Networking in Automotive
 Functional AI and Pervasive Networking in Automotive Functional AI and Pervasive Networking in Automotive
Functional AI and Pervasive Networking in AutomotiveAlison Chaiken
 

What's hot (20)

Solace Connect NYC 2019 - Enabling the Event-Driven Enterprise
Solace Connect NYC 2019 - Enabling the Event-Driven EnterpriseSolace Connect NYC 2019 - Enabling the Event-Driven Enterprise
Solace Connect NYC 2019 - Enabling the Event-Driven Enterprise
 
Stream SAP and Other Events Across Your Enterprise with an Event Mesh
Stream SAP and Other Events Across Your Enterprise with an Event MeshStream SAP and Other Events Across Your Enterprise with an Event Mesh
Stream SAP and Other Events Across Your Enterprise with an Event Mesh
 
Building an Integrated Supply Chain for APIs
Building an Integrated Supply Chain for APIs Building an Integrated Supply Chain for APIs
Building an Integrated Supply Chain for APIs
 
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
 
apidays LIVE Hong Kong 2021 - Rethinking Financial Services with Data in Moti...
apidays LIVE Hong Kong 2021 - Rethinking Financial Services with Data in Moti...apidays LIVE Hong Kong 2021 - Rethinking Financial Services with Data in Moti...
apidays LIVE Hong Kong 2021 - Rethinking Financial Services with Data in Moti...
 
The Future of Cloud Native Apps - Chicago Intro
The Future of Cloud Native Apps - Chicago IntroThe Future of Cloud Native Apps - Chicago Intro
The Future of Cloud Native Apps - Chicago Intro
 
Data Distribution for the Event-Driven Business
Data Distribution for the Event-Driven BusinessData Distribution for the Event-Driven Business
Data Distribution for the Event-Driven Business
 
Accelerate the Adoption of Event-Driven Architecture
Accelerate the Adoption of Event-Driven ArchitectureAccelerate the Adoption of Event-Driven Architecture
Accelerate the Adoption of Event-Driven Architecture
 
The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)
 
Cloud Expo Europe 2019 - Solace Presentation
Cloud Expo Europe 2019 - Solace PresentationCloud Expo Europe 2019 - Solace Presentation
Cloud Expo Europe 2019 - Solace Presentation
 
Dell NVIDIA AI Powered Transformation in Financial Services Webinar
Dell NVIDIA AI Powered Transformation in Financial Services WebinarDell NVIDIA AI Powered Transformation in Financial Services Webinar
Dell NVIDIA AI Powered Transformation in Financial Services Webinar
 
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
Microservices: Keep Complexity under Control with LeanIX Enterprise Architect...
 
ING microServices
ING   microServicesING   microServices
ING microServices
 
Stream events across your enterprise with the Solace Platform
Stream events across your enterprise with the Solace PlatformStream events across your enterprise with the Solace Platform
Stream events across your enterprise with the Solace Platform
 
Architecting the Transformation
Architecting the TransformationArchitecting the Transformation
Architecting the Transformation
 
Transport for London's Transition to Agile Delivery
Transport for London's Transition to Agile DeliveryTransport for London's Transition to Agile Delivery
Transport for London's Transition to Agile Delivery
 
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
 
Gartner CIO & IT Executive Summit -- Event Mesh: The Architecture Layer That ...
Gartner CIO & IT Executive Summit -- Event Mesh: The Architecture Layer That ...Gartner CIO & IT Executive Summit -- Event Mesh: The Architecture Layer That ...
Gartner CIO & IT Executive Summit -- Event Mesh: The Architecture Layer That ...
 
Event-Driven Transformation in Banking and FSI
Event-Driven Transformation in Banking and FSIEvent-Driven Transformation in Banking and FSI
Event-Driven Transformation in Banking and FSI
 
Functional AI and Pervasive Networking in Automotive
 Functional AI and Pervasive Networking in Automotive Functional AI and Pervasive Networking in Automotive
Functional AI and Pervasive Networking in Automotive
 

Similar to Microservices In Practice

Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...CA Technologies
 
Managing the Flood of IoT Events
Managing the Flood of IoT EventsManaging the Flood of IoT Events
Managing the Flood of IoT EventsSolace
 
How CA Technologies Enables Its Own Employees and Secures Access to Applicati...
How CA Technologies Enables Its Own Employees and Secures Access to Applicati...How CA Technologies Enables Its Own Employees and Secures Access to Applicati...
How CA Technologies Enables Its Own Employees and Secures Access to Applicati...CA Technologies
 
Go Mobile to Mainframe With CA Gen and CA App Services Orchestrator
Go Mobile to Mainframe With CA Genand CA App Services OrchestratorGo Mobile to Mainframe With CA Genand CA App Services Orchestrator
Go Mobile to Mainframe With CA Gen and CA App Services OrchestratorCA Technologies
 
Technology Primer: Hey IT—Your Big Data Infrastructure Can’t Sit in a Silo An...
Technology Primer: Hey IT—Your Big Data Infrastructure Can’t Sit in a Silo An...Technology Primer: Hey IT—Your Big Data Infrastructure Can’t Sit in a Silo An...
Technology Primer: Hey IT—Your Big Data Infrastructure Can’t Sit in a Silo An...CA Technologies
 
Infrastructure Performance Management: Flexibility Combining Breadth, Depth ...
Infrastructure Performance Management: Flexibility Combining Breadth, Depth ...Infrastructure Performance Management: Flexibility Combining Breadth, Depth ...
Infrastructure Performance Management: Flexibility Combining Breadth, Depth ...CA Technologies
 
API Management SaaS 2.0: Growing with the Digital Economy
API Management SaaS 2.0:  Growing with the Digital EconomyAPI Management SaaS 2.0:  Growing with the Digital Economy
API Management SaaS 2.0: Growing with the Digital EconomyCA Technologies
 
Mainframe Opening Keynote Address: Mainframe Reframed for the Application Eco...
Mainframe Opening Keynote Address: Mainframe Reframed for the Application Eco...Mainframe Opening Keynote Address: Mainframe Reframed for the Application Eco...
Mainframe Opening Keynote Address: Mainframe Reframed for the Application Eco...CA Technologies
 
Cloud Asia Day 1 11.00 -11.20 Dr Ko-Yang Wang
Cloud Asia Day 1 11.00 -11.20 Dr Ko-Yang WangCloud Asia Day 1 11.00 -11.20 Dr Ko-Yang Wang
Cloud Asia Day 1 11.00 -11.20 Dr Ko-Yang WangCloudExpoAsia
 
See Inside the Middleware Black Box
See Inside the Middleware Black Box See Inside the Middleware Black Box
See Inside the Middleware Black Box CA Technologies
 
Defining Microservices
Defining MicroservicesDefining Microservices
Defining MicroservicesMatt McLarty
 
Solace Singapore User Group: Sumeet Puri
Solace Singapore User Group: Sumeet PuriSolace Singapore User Group: Sumeet Puri
Solace Singapore User Group: Sumeet PuriSolace
 
apidays LIVE LONDON - Evolving API Management for Event-Driven Digital Bankin...
apidays LIVE LONDON - Evolving API Management for Event-Driven Digital Bankin...apidays LIVE LONDON - Evolving API Management for Event-Driven Digital Bankin...
apidays LIVE LONDON - Evolving API Management for Event-Driven Digital Bankin...apidays
 
Cloud Computing Impact On Small Business
Cloud Computing Impact On Small BusinessCloud Computing Impact On Small Business
Cloud Computing Impact On Small BusinessDavid Linthicum
 
Keys to success and security in the cloud
Keys to success and security in the cloudKeys to success and security in the cloud
Keys to success and security in the cloudScalar Decisions
 
Keys-to-Success-and-Security-in-the-Cloud
Keys-to-Success-and-Security-in-the-CloudKeys-to-Success-and-Security-in-the-Cloud
Keys-to-Success-and-Security-in-the-Cloudpatmisasi
 
API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveJudy Breedlove
 
Strategy and Directions for the IBM® Mainframe
Strategy and Directions for the IBM® MainframeStrategy and Directions for the IBM® Mainframe
Strategy and Directions for the IBM® MainframeCA Technologies
 
Common Challenges of Identity Management and Federated Single Sign-On in a Sa...
Common Challenges of Identity Management and Federated Single Sign-On in a Sa...Common Challenges of Identity Management and Federated Single Sign-On in a Sa...
Common Challenges of Identity Management and Federated Single Sign-On in a Sa...CA Technologies
 

Similar to Microservices In Practice (20)

Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
 
Managing the Flood of IoT Events
Managing the Flood of IoT EventsManaging the Flood of IoT Events
Managing the Flood of IoT Events
 
How CA Technologies Enables Its Own Employees and Secures Access to Applicati...
How CA Technologies Enables Its Own Employees and Secures Access to Applicati...How CA Technologies Enables Its Own Employees and Secures Access to Applicati...
How CA Technologies Enables Its Own Employees and Secures Access to Applicati...
 
Go Mobile to Mainframe With CA Gen and CA App Services Orchestrator
Go Mobile to Mainframe With CA Genand CA App Services OrchestratorGo Mobile to Mainframe With CA Genand CA App Services Orchestrator
Go Mobile to Mainframe With CA Gen and CA App Services Orchestrator
 
Technology Primer: Hey IT—Your Big Data Infrastructure Can’t Sit in a Silo An...
Technology Primer: Hey IT—Your Big Data Infrastructure Can’t Sit in a Silo An...Technology Primer: Hey IT—Your Big Data Infrastructure Can’t Sit in a Silo An...
Technology Primer: Hey IT—Your Big Data Infrastructure Can’t Sit in a Silo An...
 
Infrastructure Performance Management: Flexibility Combining Breadth, Depth ...
Infrastructure Performance Management: Flexibility Combining Breadth, Depth ...Infrastructure Performance Management: Flexibility Combining Breadth, Depth ...
Infrastructure Performance Management: Flexibility Combining Breadth, Depth ...
 
API Management SaaS 2.0: Growing with the Digital Economy
API Management SaaS 2.0:  Growing with the Digital EconomyAPI Management SaaS 2.0:  Growing with the Digital Economy
API Management SaaS 2.0: Growing with the Digital Economy
 
Mainframe Opening Keynote Address: Mainframe Reframed for the Application Eco...
Mainframe Opening Keynote Address: Mainframe Reframed for the Application Eco...Mainframe Opening Keynote Address: Mainframe Reframed for the Application Eco...
Mainframe Opening Keynote Address: Mainframe Reframed for the Application Eco...
 
Cloud Asia Day 1 11.00 -11.20 Dr Ko-Yang Wang
Cloud Asia Day 1 11.00 -11.20 Dr Ko-Yang WangCloud Asia Day 1 11.00 -11.20 Dr Ko-Yang Wang
Cloud Asia Day 1 11.00 -11.20 Dr Ko-Yang Wang
 
See Inside the Middleware Black Box
See Inside the Middleware Black Box See Inside the Middleware Black Box
See Inside the Middleware Black Box
 
Defining Microservices
Defining MicroservicesDefining Microservices
Defining Microservices
 
Solace Singapore User Group: Sumeet Puri
Solace Singapore User Group: Sumeet PuriSolace Singapore User Group: Sumeet Puri
Solace Singapore User Group: Sumeet Puri
 
apidays LIVE LONDON - Evolving API Management for Event-Driven Digital Bankin...
apidays LIVE LONDON - Evolving API Management for Event-Driven Digital Bankin...apidays LIVE LONDON - Evolving API Management for Event-Driven Digital Bankin...
apidays LIVE LONDON - Evolving API Management for Event-Driven Digital Bankin...
 
Cloud Computing Impact On Small Business
Cloud Computing Impact On Small BusinessCloud Computing Impact On Small Business
Cloud Computing Impact On Small Business
 
Keys to success and security in the cloud
Keys to success and security in the cloudKeys to success and security in the cloud
Keys to success and security in the cloud
 
Keys-to-Success-and-Security-in-the-Cloud
Keys-to-Success-and-Security-in-the-CloudKeys-to-Success-and-Security-in-the-Cloud
Keys-to-Success-and-Security-in-the-Cloud
 
API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspective
 
Strategy and Directions for the IBM® Mainframe
Strategy and Directions for the IBM® MainframeStrategy and Directions for the IBM® Mainframe
Strategy and Directions for the IBM® Mainframe
 
Smart & Safer Cities by Richard Knight
Smart & Safer Cities by Richard KnightSmart & Safer Cities by Richard Knight
Smart & Safer Cities by Richard Knight
 
Common Challenges of Identity Management and Federated Single Sign-On in a Sa...
Common Challenges of Identity Management and Federated Single Sign-On in a Sa...Common Challenges of Identity Management and Federated Single Sign-On in a Sa...
Common Challenges of Identity Management and Federated Single Sign-On in a Sa...
 

More from Irakli Nadareishvili

APIDays 2020 - SEED(S) API Design Methodology
APIDays 2020 - SEED(S) API Design MethodologyAPIDays 2020 - SEED(S) API Design Methodology
APIDays 2020 - SEED(S) API Design MethodologyIrakli Nadareishvili
 
Irakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili - O'Reilly SACon 2018, LondonIrakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili - O'Reilly SACon 2018, LondonIrakli Nadareishvili
 
Building Fintech with Microservices and Kubernetes @ API World 2018
Building Fintech with Microservices and Kubernetes @ API World 2018Building Fintech with Microservices and Kubernetes @ API World 2018
Building Fintech with Microservices and Kubernetes @ API World 2018Irakli Nadareishvili
 
AnsibleBuilding a Docker-ized Microservice In Node, Using Ansible - AnsibleF...
AnsibleBuilding a Docker-ized Microservice  In Node, Using Ansible - AnsibleF...AnsibleBuilding a Docker-ized Microservice  In Node, Using Ansible - AnsibleF...
AnsibleBuilding a Docker-ized Microservice In Node, Using Ansible - AnsibleF...Irakli Nadareishvili
 
Hypermedia-Driven Orchestration in Microservices
Hypermedia-Driven Orchestration in MicroservicesHypermedia-Driven Orchestration in Microservices
Hypermedia-Driven Orchestration in MicroservicesIrakli Nadareishvili
 
Document Databases In Online Publishing
Document  Databases In  Online Publishing Document  Databases In  Online Publishing
Document Databases In Online Publishing Irakli Nadareishvili
 
DrupalCon DC: Busines Analytics with Views
DrupalCon DC: Busines Analytics with ViewsDrupalCon DC: Busines Analytics with Views
DrupalCon DC: Busines Analytics with ViewsIrakli Nadareishvili
 

More from Irakli Nadareishvili (9)

APIDays 2020 - SEED(S) API Design Methodology
APIDays 2020 - SEED(S) API Design MethodologyAPIDays 2020 - SEED(S) API Design Methodology
APIDays 2020 - SEED(S) API Design Methodology
 
Irakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili - O'Reilly SACon 2018, LondonIrakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili - O'Reilly SACon 2018, London
 
Building Fintech with Microservices and Kubernetes @ API World 2018
Building Fintech with Microservices and Kubernetes @ API World 2018Building Fintech with Microservices and Kubernetes @ API World 2018
Building Fintech with Microservices and Kubernetes @ API World 2018
 
Reuse or Not and Microservices
Reuse or Not and MicroservicesReuse or Not and Microservices
Reuse or Not and Microservices
 
AnsibleBuilding a Docker-ized Microservice In Node, Using Ansible - AnsibleF...
AnsibleBuilding a Docker-ized Microservice  In Node, Using Ansible - AnsibleF...AnsibleBuilding a Docker-ized Microservice  In Node, Using Ansible - AnsibleF...
AnsibleBuilding a Docker-ized Microservice In Node, Using Ansible - AnsibleF...
 
Hypermedia-Driven Orchestration in Microservices
Hypermedia-Driven Orchestration in MicroservicesHypermedia-Driven Orchestration in Microservices
Hypermedia-Driven Orchestration in Microservices
 
trends in online publishing
trends in online publishingtrends in online publishing
trends in online publishing
 
Document Databases In Online Publishing
Document  Databases In  Online Publishing Document  Databases In  Online Publishing
Document Databases In Online Publishing
 
DrupalCon DC: Busines Analytics with Views
DrupalCon DC: Busines Analytics with ViewsDrupalCon DC: Busines Analytics with Views
DrupalCon DC: Busines Analytics with Views
 

Recently uploaded

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Microservices In Practice

  • 1. Microservices In Practice Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies
  • 2. 2 © 2015 CA. ALL RIGHTS RESERVED. inadarei
  • 3. 3 © 2015 CA. ALL RIGHTS RESERVED. inadarei But, why?
  • 4. 4 © 2015 CA. ALL RIGHTS RESERVED. inadarei Microservices can greatly improve your capabilities in: CONTINUOUS DELIVERY PRODUCING EVOLVABLE AND SCALABLE ARCHITECTURE ENABLING AGILE SOFTWARE DEVELOPMENT LIFECYCLE 1 2 3
  • 5. 5 © 2015 CA. ALL RIGHTS RESERVED. inadarei
  • 6. 6 © 2015 CA. ALL RIGHTS RESERVED. inadarei COMMUNICATE USING LANGUAGE-AGNOSTIC APIS ARE INDEPENDENTLY DEPLOYABLE VIA UNIVERSAL CONTAINERS PRACTICE DECENTRALIZED DATA MANAGEMENT 1 2 3 Microservices is an architectural style, in which a complex software application is de- composed into smaller components ("micro services") that:
  • 7. 7 © 2015 CA. ALL RIGHTS RESERVED. inadarei Challenge: De-centralized Data Management
  • 8. 8 © 2015 CA. ALL RIGHTS RESERVED. inadarei Tool 1: Think of Capabilities, not: Data Models
  • 9. 9 © 2015 CA. ALL RIGHTS RESERVED. inadarei Bounded Contexts
  • 10. 10 © 2015 CA. ALL RIGHTS RESERVED. inadarei Eric Evans: Bounded Contexts An application domain consists of multiple bounded contexts. Residing within each BC are models that do not need to be shared outside, as well as other models that are shared externally.
  • 11. 11 © 2015 CA. ALL RIGHTS RESERVED. inadarei Bounded Context = Capabilities. “In your organization, you should be thinking not in terms of data that is shared, but about the capabilities those contexts provide the rest of the domain.” – Sam Newman, Building Microservices
  • 12. 12 © 2015 CA. ALL RIGHTS RESERVED. inadarei Caution: DDD and Bounded Context Identification Are Far From Trivial or Easy Tasks
  • 13. 13 © 2015 CA. ALL RIGHTS RESERVED. inadarei Domain-Driven Design – More Information Eric Evans: "Domain-Driven Design: Tackling Complexity in the Heart of Software" - 2003 Vaughn Vernon: "Implementing Domain-Driven Design" - 2013 Scott Millett: "Patterns, Principles, and Practices of Domain-Driven Design" - 2015
  • 14. 14 © 2015 CA. ALL RIGHTS RESERVED. inadarei Tool 2: Event Sourcing & CQRS
  • 15. 15 © 2015 CA. ALL RIGHTS RESERVED. inadarei Event Sourcing Use an append-only store to record the full series of events that describe actions taken on data in a domain, rather than storing just the current state, so that the store can be used to materialize the domain objects. https://msdn.microsoft.com/en-gb/library/dn589792.aspx
  • 16. 16 © 2015 CA. ALL RIGHTS RESERVED. inadarei Command and Query Responsibility Segregation (CQRS) Segregate operations that read data from operations that update data by using separate interfaces. This pattern can maximize performance, scalability, and security; support evolution of the system over time through higher flexibility; and prevent update commands from causing merge conflicts at the domain level. https://msdn.microsoft.com/en-us/library/dn568103.aspx
  • 17. 17 © 2015 CA. ALL RIGHTS RESERVED. inadarei Deposit Money Microservice Deposit Message Queue Event Store (e.g. Cassandra) Transactions List/Query Microservice Query Index Store (e.g. ElasticSearch) Validation
  • 18. 18 © 2015 CA. ALL RIGHTS RESERVED. inadarei What About Them Transactions?
  • 19. 19 © 2015 CA. ALL RIGHTS RESERVED. inadarei Tool 3: Sagas (Long-Lived Distributed Transactions)
  • 20. 20 © 2015 CA. ALL RIGHTS RESERVED. inadarei Booking Travel
  • 21. 21 © 2015 CA. ALL RIGHTS RESERVED. inadarei No Shared State = No Distr. Transactions Source: http://vasters.com/clemensv/2012/09/01/Sagas.aspx We ♥ Sagas! Designed by: Hector Garcia-Molina & Kenneth Salem, Princeton, 1987
  • 22. 22 © 2015 CA. ALL RIGHTS RESERVED. inadarei One More Thing…
  • 23. 23 © 2015 CA. ALL RIGHTS RESERVED. inadarei
  • 24. 24 © 2015 CA. ALL RIGHTS RESERVED. inadarei “Bounded context should be as big as it needs to be in order to fully express its complete Ubiquitous Language” – Vaughn Vernon, Implementing Domain –Driven Design.
  • 25. 25 © 2015 CA. ALL RIGHTS RESERVED. inadarei Many start coarse-grained and become more granular over time. That said, companies that have been building Microservices for long, report that they end with hundreds of Microservices.
  • 26. 26 © 2015 CA. ALL RIGHTS RESERVED. inadarei Where do we get hundreds of servers?
  • 27. 27 © 2015 CA. ALL RIGHTS RESERVED. inadarei How do we afford so many servers?
  • 28. Director of Strategy, API Academy Irakli Nadareishvili @inadarei @apiacademy @cainc

Editor's Notes

  1. Healthcare.gov
  2. High Cohesion is why Bounded Contexts are critical
  3. High Cohesion is why Bounded Contexts are critical
  4. High Cohesion is why Bounded Contexts are critical
  5. You cannot execute an ACID transaction because there is no way Marriot, US Airways and Hertz would allow me to put a lock on their back-end databases.
  6. You do not get transactions, because each microservices encapsulates its own data storage. long-lived distributed transactions. Hector Garcia Mollina and http://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf
  7. You do not get transactions, because each microservices encapsulates its own data storage. long-lived distributed transactions.
  8. You do not get transactions, because each microservices encapsulates its own data storage. long-lived distributed transactions.
  9. You do not get transactions, because each microservices encapsulates its own data storage. long-lived distributed transactions.
  10. You do not get transactions, because each microservices encapsulates its own data storage. long-lived distributed transactions.
  11. You do not get transactions, because each microservices encapsulates its own data storage. long-lived distributed transactions.
  12. lightweightness is one benefit another one – better portability (at least for now), VMs are not very portable