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

Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxMohammedJunaid861692
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Onlineanilsa9823
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramMoniSankarHazra
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...shivangimorya083
 

Recently uploaded (20)

Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 

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