SlideShare a Scribd company logo
1 of 26
Download to read offline
Microservices
White Paper
Agenda
● Evolution of application infrastructure
● Web application architecture models
● What is a microservice?
● How are microservices utilized?
● A case study
Evolution of
application
infrastructure
Mainframe PCs &
Servers
Web Cloud
App
UI
DB
Monolithic
Client
Server
UI
DB
Client Server
App
UI
DB
N-Tier
UI
App
DB
App
DB
App
DB
App
DB
App
DB
App
DB
Service Oriented
InfrastructureApplications
Web application
architecture models
Monolithic
● Tightly coupled
components
● Large
codebase
● Difficult to
change
● Long release
cycles
● Waterfall
development
Highly sensitive to
errors
Normalized
data models
Single
technology stack
Large
development teams
Expensive to scale
infrastructure
●
●
●
●
●
Architecture
Application
Web Browser
Users Manager
Products
Manager
Inventory
Manager
Orders Manager
Users Products
Inventory Orders
Components Libraries of
reusable code
Inter-component
communication
In-process calls
Orchestration Application Logic
Interface Definitions Code
documentation
Technology Stack Single application
platform
Persistence, Data
Management, Data
Models, Consistency
Centralized
Persistence, Single
Database, Unified
Data Model,
Transactional
Consistency
● Tightly coupled
services
● Partitioned
codebase
● Easier to
change
● Shorter release
cycles
● Iterative
development
Less sensitive to
errors
Normalized
data models
Single
technology stack
Several smaller
development teams
Cheaper to scale
infrastructure
●
●
●
●
●
Service Oriented Architecture
Web App
Users Products
Inventory Orders
Components Independently
deployed services
Inter-component
communication
Tightly coupled
Messages
Orchestration Service Bus
Interface Definitions Discoverable,
provider contracts
Technology Stack Disparate
application
platforms
Persistence, Data
Management, Data
Models, Consistency
Centralized
Persistence, Single
Database, Unified
Data Model,
Transactional
Consistency
Users
Manager
Products
Manager
Inventory
Manager
Orders
Manager
Service Bus
● Loosely coupled services
● Small codebase per service
● Built for change
● Short release cycles
● Iterative development
Resilient to errors
Denormalized data model
Multiple technology stacks
Several small development teams
Cheaper to scale infrastructure
●
●
●
●
●
Microservices Architecture
What is a
Microservice?
Small Service
● Provides one or more RESTful API endpoints
● All APIs are related to a single functional domain or entity
● APIs generalized for covering maximum use cases
● Code size small enough for a single SCRUM team to own and
manage
Users
Manager
Products
Manager
Inventory
Manager
Orders
Manager
Independent Service
● Functional Independence: Not dependant on any other microservice
● Data Independence: Owns its data entities
● Technology Independence: Uses tech stack that is best suited
● Denormalized: Keeps a copy of all data required for its functioning
Users
Manager
Products
Manager
Inventory
Manager
Orders
Manager
Users DB Products DB Inventory DB Orders DB
Event Aware Service
● Publishes all significant events that occur in its domain or entity
● Subscribes to all dependent events that affect its domain or entities
● Able to regenerate all its data by replaying past events
Users
Manager
Products
Manager
Inventory
Manager
Orders
Manager
Users DB Products DB Inventory DB Orders DB
Events Store/Queue
Extensible, Expendable Service
● Multiple instances of the same service can coexist
● New version of a service can be tested along with an old version
● Other services are not affected by changes in one service
Events Store/Queue
Users
Manager
ver 1.1
Users DB
ver 1.1
Users
Manager
ver 1.0
Users DB
ver 1.0
Inventory
Manager
Inventory DB
Orders
Manager
Orders DB
Products
Manager
Products DB
How are
Microservices
Utilized?
Responsive UI Applications
Web UI App Mobile UI App
Generalized APIs
Users
Manager
Products
Manager
Inventory
Manager
Orders
Manager
Users DB Products DB Inventory DB Orders DB
Events Store/Queue
API Gateway
Web UI App Mobile UI App
Generalized APIs
Users
Manager
Products
Manager
Inventory
Manager
Orders
Manager
Users DB Products DB Inventory DB Orders DB
Events Store/Queue
API Gateway
UI Optimized APIs
Monolithic Architecture Service Oriented Architecture Microservices Architecture
Components Libraries of reusable code Independently deployed
services
Services of reusable
applications
Inter-component
communication
In-process calls Tightly coupled Messages Publish-Subscribe Events
Orchestration Application Logic Service Bus Event Queue
Interface Definitions Code documentation Discoverable, provider contracts Discoverable,
consumer-driven contracts
Technology Stack Single application platform Disparate application platforms Independent applications
Persistence, Data
Management, Data
Models, Consistency
Centralized Persistence,
Single Database, Unified
Data Model, Transactional
Consistency
Centralized Persistence, Single
Database, Unified Data Model,
Transactional Consistency
Polyglot Persistence, Multiple
Databases, Domain-driven
Bounded Contexts, Eventual
Consistency
Comparison Chart
Case Study:
Patent Research
Platform
Patent Research Application
Dashboards
Users
Manager
Customers
Manager
Workflow
Manager
Collaboration
Engine
Users Customers
Intranet
Customer
Portal
Admin
Panel
Projects
Manager
Documents
Manager
Search
Engine
Analytics
Engine
Projects Documents
Workflows Discussions FTS Index
Analytics
Data
Legacy Architecture
Legacy Application Performance
Reengineered Architecture
Workflow
Manager
Workflows
DB
Collaboration
Engine
Discussions
DB
Full Text Search
Engine
Search DB
Analytics Engine
Analytics DB
Users
Manager
Users DB
Customers
Manager
Customers
DB
Projects
Manager
Projects DB
Documents
Manager
Documents
DB
Events Store/Queue
API Gateway
Dashboards Intranet Customer Portal
Admin
Panel
Technology Stack
Workflow
Manager
MongoDB
Collaboration
Engine
MongoDB
Full Text Search
Engine
Elastic
Search
Analytics Engine
Cassandra
Users
Manager
MariaDB
Customers
Manager
MariaDB
Projects
Manager
MariaDB
Documents
Manager
MongoDB
Apache Kafka
NodeJS
HTML5, CSS,
JS
Bootstrap AngularJS D3JS
AmazonWebServices
Reengineered Performance
Thanks!
http://accionlabs.com
Tony Kernan
akernan@accionlabs.com

More Related Content

What's hot

Developing, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorDeveloping, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorWSO2
 
Non-Comparable Object Tools for PeopleSoft
Non-Comparable Object Tools for PeopleSoftNon-Comparable Object Tools for PeopleSoft
Non-Comparable Object Tools for PeopleSoftLeandro Baca
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for EnterprisesWSO2
 
WSO2 Summit London 2018: Delivering Business Value with WSO2
WSO2 Summit London 2018: Delivering Business Value with WSO2WSO2 Summit London 2018: Delivering Business Value with WSO2
WSO2 Summit London 2018: Delivering Business Value with WSO2WSO2
 
Omnibus - Kovair Proprietary ESB Platform
Omnibus - Kovair Proprietary ESB  PlatformOmnibus - Kovair Proprietary ESB  Platform
Omnibus - Kovair Proprietary ESB PlatformKovair
 
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...mfrancis
 
[WSO2Con USA 2018] Up-leveling Brownfield Integration
[WSO2Con USA 2018] Up-leveling Brownfield Integration [WSO2Con USA 2018] Up-leveling Brownfield Integration
[WSO2Con USA 2018] Up-leveling Brownfield Integration WSO2
 
Securing elastic applications_on_mobile_devices
Securing elastic applications_on_mobile_devicesSecuring elastic applications_on_mobile_devices
Securing elastic applications_on_mobile_devicesfirzhan naqash
 
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...WSO2
 
[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
 
Empowering Development Governance with WSO2 Products
Empowering Development Governance with WSO2 ProductsEmpowering Development Governance with WSO2 Products
Empowering Development Governance with WSO2 ProductsWSO2
 
Open Enterprise Server - in a Windows world
Open Enterprise Server - in a Windows worldOpen Enterprise Server - in a Windows world
Open Enterprise Server - in a Windows worldGWAVA
 
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...MongoDB
 
Deep-dive into APIs in a Microservice Architecture
Deep-dive into APIs in a Microservice ArchitectureDeep-dive into APIs in a Microservice Architecture
Deep-dive into APIs in a Microservice ArchitectureWSO2
 
WSO2 Intro Webinar - The WSO2 Data Services - Harnessing Disparate Enterprise...
WSO2 Intro Webinar - The WSO2 Data Services - Harnessing Disparate Enterprise...WSO2 Intro Webinar - The WSO2 Data Services - Harnessing Disparate Enterprise...
WSO2 Intro Webinar - The WSO2 Data Services - Harnessing Disparate Enterprise...WSO2
 
e-SUAP - General software architecture (English)
e-SUAP - General software architecture  (English)e-SUAP - General software architecture  (English)
e-SUAP - General software architecture (English)Sabino Labarile
 
WSO2 Roadmap and Vision
WSO2 Roadmap and VisionWSO2 Roadmap and Vision
WSO2 Roadmap and VisionWSO2
 
Managing a complex database toolbar application for ie, chrome & firefox
Managing a complex database toolbar application for ie, chrome & firefoxManaging a complex database toolbar application for ie, chrome & firefox
Managing a complex database toolbar application for ie, chrome & firefoxMike Taylor
 

What's hot (18)

Developing, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorDeveloping, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise Integrator
 
Non-Comparable Object Tools for PeopleSoft
Non-Comparable Object Tools for PeopleSoftNon-Comparable Object Tools for PeopleSoft
Non-Comparable Object Tools for PeopleSoft
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
 
WSO2 Summit London 2018: Delivering Business Value with WSO2
WSO2 Summit London 2018: Delivering Business Value with WSO2WSO2 Summit London 2018: Delivering Business Value with WSO2
WSO2 Summit London 2018: Delivering Business Value with WSO2
 
Omnibus - Kovair Proprietary ESB Platform
Omnibus - Kovair Proprietary ESB  PlatformOmnibus - Kovair Proprietary ESB  Platform
Omnibus - Kovair Proprietary ESB Platform
 
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
 
[WSO2Con USA 2018] Up-leveling Brownfield Integration
[WSO2Con USA 2018] Up-leveling Brownfield Integration [WSO2Con USA 2018] Up-leveling Brownfield Integration
[WSO2Con USA 2018] Up-leveling Brownfield Integration
 
Securing elastic applications_on_mobile_devices
Securing elastic applications_on_mobile_devicesSecuring elastic applications_on_mobile_devices
Securing elastic applications_on_mobile_devices
 
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
 
[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
 
Empowering Development Governance with WSO2 Products
Empowering Development Governance with WSO2 ProductsEmpowering Development Governance with WSO2 Products
Empowering Development Governance with WSO2 Products
 
Open Enterprise Server - in a Windows world
Open Enterprise Server - in a Windows worldOpen Enterprise Server - in a Windows world
Open Enterprise Server - in a Windows world
 
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...
 
Deep-dive into APIs in a Microservice Architecture
Deep-dive into APIs in a Microservice ArchitectureDeep-dive into APIs in a Microservice Architecture
Deep-dive into APIs in a Microservice Architecture
 
WSO2 Intro Webinar - The WSO2 Data Services - Harnessing Disparate Enterprise...
WSO2 Intro Webinar - The WSO2 Data Services - Harnessing Disparate Enterprise...WSO2 Intro Webinar - The WSO2 Data Services - Harnessing Disparate Enterprise...
WSO2 Intro Webinar - The WSO2 Data Services - Harnessing Disparate Enterprise...
 
e-SUAP - General software architecture (English)
e-SUAP - General software architecture  (English)e-SUAP - General software architecture  (English)
e-SUAP - General software architecture (English)
 
WSO2 Roadmap and Vision
WSO2 Roadmap and VisionWSO2 Roadmap and Vision
WSO2 Roadmap and Vision
 
Managing a complex database toolbar application for ie, chrome & firefox
Managing a complex database toolbar application for ie, chrome & firefoxManaging a complex database toolbar application for ie, chrome & firefox
Managing a complex database toolbar application for ie, chrome & firefox
 

Viewers also liked (20)

Infogrpahic
InfogrpahicInfogrpahic
Infogrpahic
 
Viaje a la luna - Demo
Viaje a la luna - DemoViaje a la luna - Demo
Viaje a la luna - Demo
 
How to Search the Best Chiropractor in Vancouver?
How to Search the Best Chiropractor in Vancouver?How to Search the Best Chiropractor in Vancouver?
How to Search the Best Chiropractor in Vancouver?
 
El andar cristiano argentina2013
El andar cristiano   argentina2013El andar cristiano   argentina2013
El andar cristiano argentina2013
 
Grupo Rubies-Presentacion 1
Grupo Rubies-Presentacion 1Grupo Rubies-Presentacion 1
Grupo Rubies-Presentacion 1
 
El boom de la biomasa
El boom de la biomasaEl boom de la biomasa
El boom de la biomasa
 
Artigo toddy
Artigo toddyArtigo toddy
Artigo toddy
 
Enter roku activation code into roku
Enter roku activation code into rokuEnter roku activation code into roku
Enter roku activation code into roku
 
Biografia de Steve Jobs
Biografia de Steve JobsBiografia de Steve Jobs
Biografia de Steve Jobs
 
Artigo toddy
Artigo toddyArtigo toddy
Artigo toddy
 
Treats chronic back pain
Treats chronic back painTreats chronic back pain
Treats chronic back pain
 
Anne Frank Themes
Anne Frank ThemesAnne Frank Themes
Anne Frank Themes
 
Books for preparation of mathematical olympiads
Books for preparation of mathematical olympiadsBooks for preparation of mathematical olympiads
Books for preparation of mathematical olympiads
 
Hacia una mejor calidad de las escuelas
Hacia una mejor calidad de las escuelasHacia una mejor calidad de las escuelas
Hacia una mejor calidad de las escuelas
 
Fotos de castillos
Fotos de castillosFotos de castillos
Fotos de castillos
 
Il manager che vorresti essere..
Il manager che vorresti essere..Il manager che vorresti essere..
Il manager che vorresti essere..
 
Willa buendia dinglasan
Willa buendia dinglasanWilla buendia dinglasan
Willa buendia dinglasan
 
Sociedad educadora 1
Sociedad educadora 1Sociedad educadora 1
Sociedad educadora 1
 
Presentación1
Presentación1Presentación1
Presentación1
 
Presentacion yominaramón
Presentacion yominaramónPresentacion yominaramón
Presentacion yominaramón
 

Similar to Accion labs microservices white paper

20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development PlatformHarezmi IT Solutions
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitAmazon Web Services
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickOPITZ CONSULTING Deutschland
 
BPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveBPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveOPITZ CONSULTING Deutschland
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureLinjith Kunnon
 
The Role of Data Virtualization in an API Economy
The Role of Data Virtualization in an API EconomyThe Role of Data Virtualization in an API Economy
The Role of Data Virtualization in an API EconomyDenodo
 
Introduction to event based microservices
Introduction to event based microservicesIntroduction to event based microservices
Introduction to event based microservicesGrigoris Grigoriadis
 
Modern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for InnovationModern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for InnovationAndrew Blades
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureLucian Neghina
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern LaunguageInho Kang
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Lightbend
 
Donation Toolbar Application for IE, Chrome & Firefox
Donation Toolbar Application for IE, Chrome & FirefoxDonation Toolbar Application for IE, Chrome & Firefox
Donation Toolbar Application for IE, Chrome & FirefoxMike Taylor
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice ContainerJamie (Taka) Wang
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microserviceLuigi Bennardis
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservicesRon Barabash
 
The App Evolution
The App EvolutionThe App Evolution
The App EvolutionDev_Events
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteLorenzo Barbieri
 

Similar to Accion labs microservices white paper (20)

20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein Architekturüberblick
 
BPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveBPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspective
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
The Role of Data Virtualization in an API Economy
The Role of Data Virtualization in an API EconomyThe Role of Data Virtualization in an API Economy
The Role of Data Virtualization in an API Economy
 
Introduction to event based microservices
Introduction to event based microservicesIntroduction to event based microservices
Introduction to event based microservices
 
Modern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for InnovationModern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for Innovation
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
 
Donation Toolbar Application for IE, Chrome & Firefox
Donation Toolbar Application for IE, Chrome & FirefoxDonation Toolbar Application for IE, Chrome & Firefox
Donation Toolbar Application for IE, Chrome & Firefox
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice Container
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
 
The App Evolution
The App EvolutionThe App Evolution
The App Evolution
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
Duo World Architecture
Duo World ArchitectureDuo World Architecture
Duo World Architecture
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation Keynote
 

Recently uploaded

Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort servicejennyeacort
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]📊 Markus Baersch
 
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAmazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAbdelrhman abooda
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一fhwihughh
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一F La
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...ThinkInnovation
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 

Recently uploaded (20)

Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]
 
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAmazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 

Accion labs microservices white paper

  • 2. Agenda ● Evolution of application infrastructure ● Web application architecture models ● What is a microservice? ● How are microservices utilized? ● A case study
  • 4. Mainframe PCs & Servers Web Cloud App UI DB Monolithic Client Server UI DB Client Server App UI DB N-Tier UI App DB App DB App DB App DB App DB App DB Service Oriented InfrastructureApplications
  • 6. Monolithic ● Tightly coupled components ● Large codebase ● Difficult to change ● Long release cycles ● Waterfall development Highly sensitive to errors Normalized data models Single technology stack Large development teams Expensive to scale infrastructure ● ● ● ● ● Architecture
  • 7. Application Web Browser Users Manager Products Manager Inventory Manager Orders Manager Users Products Inventory Orders Components Libraries of reusable code Inter-component communication In-process calls Orchestration Application Logic Interface Definitions Code documentation Technology Stack Single application platform Persistence, Data Management, Data Models, Consistency Centralized Persistence, Single Database, Unified Data Model, Transactional Consistency
  • 8. ● Tightly coupled services ● Partitioned codebase ● Easier to change ● Shorter release cycles ● Iterative development Less sensitive to errors Normalized data models Single technology stack Several smaller development teams Cheaper to scale infrastructure ● ● ● ● ● Service Oriented Architecture
  • 9. Web App Users Products Inventory Orders Components Independently deployed services Inter-component communication Tightly coupled Messages Orchestration Service Bus Interface Definitions Discoverable, provider contracts Technology Stack Disparate application platforms Persistence, Data Management, Data Models, Consistency Centralized Persistence, Single Database, Unified Data Model, Transactional Consistency Users Manager Products Manager Inventory Manager Orders Manager Service Bus
  • 10. ● Loosely coupled services ● Small codebase per service ● Built for change ● Short release cycles ● Iterative development Resilient to errors Denormalized data model Multiple technology stacks Several small development teams Cheaper to scale infrastructure ● ● ● ● ● Microservices Architecture
  • 12. Small Service ● Provides one or more RESTful API endpoints ● All APIs are related to a single functional domain or entity ● APIs generalized for covering maximum use cases ● Code size small enough for a single SCRUM team to own and manage Users Manager Products Manager Inventory Manager Orders Manager
  • 13. Independent Service ● Functional Independence: Not dependant on any other microservice ● Data Independence: Owns its data entities ● Technology Independence: Uses tech stack that is best suited ● Denormalized: Keeps a copy of all data required for its functioning Users Manager Products Manager Inventory Manager Orders Manager Users DB Products DB Inventory DB Orders DB
  • 14. Event Aware Service ● Publishes all significant events that occur in its domain or entity ● Subscribes to all dependent events that affect its domain or entities ● Able to regenerate all its data by replaying past events Users Manager Products Manager Inventory Manager Orders Manager Users DB Products DB Inventory DB Orders DB Events Store/Queue
  • 15. Extensible, Expendable Service ● Multiple instances of the same service can coexist ● New version of a service can be tested along with an old version ● Other services are not affected by changes in one service Events Store/Queue Users Manager ver 1.1 Users DB ver 1.1 Users Manager ver 1.0 Users DB ver 1.0 Inventory Manager Inventory DB Orders Manager Orders DB Products Manager Products DB
  • 17. Responsive UI Applications Web UI App Mobile UI App Generalized APIs Users Manager Products Manager Inventory Manager Orders Manager Users DB Products DB Inventory DB Orders DB Events Store/Queue
  • 18. API Gateway Web UI App Mobile UI App Generalized APIs Users Manager Products Manager Inventory Manager Orders Manager Users DB Products DB Inventory DB Orders DB Events Store/Queue API Gateway UI Optimized APIs
  • 19. Monolithic Architecture Service Oriented Architecture Microservices Architecture Components Libraries of reusable code Independently deployed services Services of reusable applications Inter-component communication In-process calls Tightly coupled Messages Publish-Subscribe Events Orchestration Application Logic Service Bus Event Queue Interface Definitions Code documentation Discoverable, provider contracts Discoverable, consumer-driven contracts Technology Stack Single application platform Disparate application platforms Independent applications Persistence, Data Management, Data Models, Consistency Centralized Persistence, Single Database, Unified Data Model, Transactional Consistency Centralized Persistence, Single Database, Unified Data Model, Transactional Consistency Polyglot Persistence, Multiple Databases, Domain-driven Bounded Contexts, Eventual Consistency Comparison Chart
  • 21. Patent Research Application Dashboards Users Manager Customers Manager Workflow Manager Collaboration Engine Users Customers Intranet Customer Portal Admin Panel Projects Manager Documents Manager Search Engine Analytics Engine Projects Documents Workflows Discussions FTS Index Analytics Data Legacy Architecture
  • 23. Reengineered Architecture Workflow Manager Workflows DB Collaboration Engine Discussions DB Full Text Search Engine Search DB Analytics Engine Analytics DB Users Manager Users DB Customers Manager Customers DB Projects Manager Projects DB Documents Manager Documents DB Events Store/Queue API Gateway Dashboards Intranet Customer Portal Admin Panel
  • 24. Technology Stack Workflow Manager MongoDB Collaboration Engine MongoDB Full Text Search Engine Elastic Search Analytics Engine Cassandra Users Manager MariaDB Customers Manager MariaDB Projects Manager MariaDB Documents Manager MongoDB Apache Kafka NodeJS HTML5, CSS, JS Bootstrap AngularJS D3JS AmazonWebServices