SlideShare a Scribd company logo
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 Integrator
WSO2
 
Non-Comparable Object Tools for PeopleSoft
Non-Comparable Object Tools for PeopleSoftNon-Comparable Object Tools for PeopleSoft
Non-Comparable Object Tools for PeopleSoft
Leandro Baca
 
[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
 
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
WSO2
 
Omnibus - Kovair Proprietary ESB Platform
Omnibus - Kovair Proprietary ESB  PlatformOmnibus - Kovair Proprietary ESB  Platform
Omnibus - Kovair Proprietary ESB Platform
Kovair
 
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_devices
firzhan 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 Microservices
WSO2
 
Empowering Development Governance with WSO2 Products
Empowering Development Governance with WSO2 ProductsEmpowering Development Governance with WSO2 Products
Empowering Development Governance with WSO2 Products
WSO2
 
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
GWAVA
 
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 Architecture
WSO2
 
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 & firefox
Mike 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

Grid Infrastructure Architecture A Modular Approach from CoreGRID
Grid Infrastructure Architecture A Modular Approach from CoreGRIDGrid Infrastructure Architecture A Modular Approach from CoreGRID
Grid Infrastructure Architecture A Modular Approach from CoreGRIDAugusto Ciuffoletti
 
Architecture of infrastructure in cloud 0.5
Architecture of infrastructure in cloud 0.5Architecture of infrastructure in cloud 0.5
Architecture of infrastructure in cloud 0.5Alex Tregubov
 
Demodernization by design: War, Geopolitics and the Architecture of Infrastru...
Demodernization by design: War, Geopolitics and the Architecture of Infrastru...Demodernization by design: War, Geopolitics and the Architecture of Infrastru...
Demodernization by design: War, Geopolitics and the Architecture of Infrastru...Stephen Graham
 
Strategic Decision Making by the CIO using Visual Enterprise Architecture wit...
Strategic Decision Making by the CIO using Visual Enterprise Architecture wit...Strategic Decision Making by the CIO using Visual Enterprise Architecture wit...
Strategic Decision Making by the CIO using Visual Enterprise Architecture wit...
Dragon1 Inc.
 
Aadhaar at 5th_elephant_v3
Aadhaar at 5th_elephant_v3Aadhaar at 5th_elephant_v3
Aadhaar at 5th_elephant_v3
Regunath B
 
International Journal of Architecture and Infrastructure Planning vol 2 issue 1
International Journal of Architecture and Infrastructure Planning vol 2 issue 1International Journal of Architecture and Infrastructure Planning vol 2 issue 1
International Journal of Architecture and Infrastructure Planning vol 2 issue 1
JournalsPub www.journalspub.com
 
Hadoop at aadhaar
Hadoop at aadhaarHadoop at aadhaar
Hadoop at aadhaar
Regunath B
 
Unleash software architecture leveraging on docker
Unleash software architecture leveraging on dockerUnleash software architecture leveraging on docker
Unleash software architecture leveraging on docker
Adrien Blind
 
(BDT305) Amazon EMR Deep Dive and Best Practices
(BDT305) Amazon EMR Deep Dive and Best Practices(BDT305) Amazon EMR Deep Dive and Best Practices
(BDT305) Amazon EMR Deep Dive and Best Practices
Amazon Web Services
 
What we can learn from Amazon for Clinical Decision Support
What we can learn from Amazon for Clinical Decision SupportWhat we can learn from Amazon for Clinical Decision Support
What we can learn from Amazon for Clinical Decision Support
Karim Keshavjee
 
Evaluation of a Multi-EMR web-based Form
Evaluation of a Multi-EMR web-based FormEvaluation of a Multi-EMR web-based Form
Evaluation of a Multi-EMR web-based Form
Karim Keshavjee
 
The cost of data quality in EMRs
The cost of data quality in EMRsThe cost of data quality in EMRs
The cost of data quality in EMRs
Karim Keshavjee
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
Ojasvi Jagtap
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
 

Viewers also liked (16)

Grid Infrastructure Architecture A Modular Approach from CoreGRID
Grid Infrastructure Architecture A Modular Approach from CoreGRIDGrid Infrastructure Architecture A Modular Approach from CoreGRID
Grid Infrastructure Architecture A Modular Approach from CoreGRID
 
Architecture of infrastructure in cloud 0.5
Architecture of infrastructure in cloud 0.5Architecture of infrastructure in cloud 0.5
Architecture of infrastructure in cloud 0.5
 
Demodernization by design: War, Geopolitics and the Architecture of Infrastru...
Demodernization by design: War, Geopolitics and the Architecture of Infrastru...Demodernization by design: War, Geopolitics and the Architecture of Infrastru...
Demodernization by design: War, Geopolitics and the Architecture of Infrastru...
 
Strategic Decision Making by the CIO using Visual Enterprise Architecture wit...
Strategic Decision Making by the CIO using Visual Enterprise Architecture wit...Strategic Decision Making by the CIO using Visual Enterprise Architecture wit...
Strategic Decision Making by the CIO using Visual Enterprise Architecture wit...
 
Aadhaar at 5th_elephant_v3
Aadhaar at 5th_elephant_v3Aadhaar at 5th_elephant_v3
Aadhaar at 5th_elephant_v3
 
WIPRO
WIPROWIPRO
WIPRO
 
International Journal of Architecture and Infrastructure Planning vol 2 issue 1
International Journal of Architecture and Infrastructure Planning vol 2 issue 1International Journal of Architecture and Infrastructure Planning vol 2 issue 1
International Journal of Architecture and Infrastructure Planning vol 2 issue 1
 
Hadoop at aadhaar
Hadoop at aadhaarHadoop at aadhaar
Hadoop at aadhaar
 
Unleash software architecture leveraging on docker
Unleash software architecture leveraging on dockerUnleash software architecture leveraging on docker
Unleash software architecture leveraging on docker
 
(BDT305) Amazon EMR Deep Dive and Best Practices
(BDT305) Amazon EMR Deep Dive and Best Practices(BDT305) Amazon EMR Deep Dive and Best Practices
(BDT305) Amazon EMR Deep Dive and Best Practices
 
EMR NG
EMR NGEMR NG
EMR NG
 
What we can learn from Amazon for Clinical Decision Support
What we can learn from Amazon for Clinical Decision SupportWhat we can learn from Amazon for Clinical Decision Support
What we can learn from Amazon for Clinical Decision Support
 
Evaluation of a Multi-EMR web-based Form
Evaluation of a Multi-EMR web-based FormEvaluation of a Multi-EMR web-based Form
Evaluation of a Multi-EMR web-based Form
 
The cost of data quality in EMRs
The cost of data quality in EMRsThe cost of data quality in EMRs
The cost of data quality in EMRs
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

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 Platform
Harezmi 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 Meetup
Matt 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 Summit
Amazon 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überblick
OPITZ 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 perspective
OPITZ CONSULTING Deutschland
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
Linjith 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 Economy
Denodo
 
Introduction to event based microservices
Introduction to event based microservicesIntroduction to event based microservices
Introduction to event based microservices
Grigoris 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 Innovation
Andrew Blades
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Lucian Neghina
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
Inho 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
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2
 
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
Mike 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 microservice
Luigi Bennardis
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
Ron Barabash
 
The App Evolution
The App EvolutionThe App Evolution
The App Evolution
Dev_Events
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
Kelvin Yeung
 
Duo World Architecture
Duo World ArchitectureDuo World Architecture
Duo World Architecture
Supun Dissanayake
 

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...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
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
 

Recently uploaded

一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
nscud
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
pchutichetpong
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
ArpitMalhotra16
 
一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单
ocavb
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
benishzehra469
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project PresentationPredicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Boston Institute of Analytics
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
MaleehaSheikh2
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
yhkoc
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
Tiktokethiodaily
 

Recently uploaded (20)

一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
 
一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project PresentationPredicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
 

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