SlideShare a Scribd company logo
Microservices Architecture
Ram Vijapurapu ~ @rvijapurapu
Agenda
2
*Terms & conditions apply.
3
4
Monolith
tl;dr ….
Microservice
The Quest for Modularity
5
Sales Inventory Admin
Web
/shop /inventory /admin
Mobile
Controllers (& Services)
shopSvc inventorySvc adminSvc
DAOs
Security Framework
NAPPY_
SITE_DB
What if?
6
Web
/sales /inventory /admin
Mobile
Controllers (& Services)
shopSvc inventorySvc adminSvc
DAOs
Security Framework
IoT
Controllers (& Services)
shopSvc inventorySvc adminSvc
buttonOrderSvc
BIG_F$_
SITE_DB
What if?
7
Web
/sales /inventory /admin
Mobile
Controllers (& Services)
shopSvc inventorySvc adminSvc
DAOs
Security Framework
IoT
Controllers (& Services)
shopSvc inventorySvc adminSvc
buttonOrderSvc
BIG_F$_
SITE_DB
Something has to change….
8
Micro ervices
to the rescue….By Source, Fair use, https://en.wikipedia.org/w/index.php?curid=45003610
Is Microservices the new Hype?
9
https://de.wikipedia.org/wiki/Datei:Back-to-the-future-logo.svg
10
Let’s start at the very beginning
“Even though the UNIX system introduces a number of innovative programs and
techniques, no single program or idea makes it work well. Instead, what makes it
effective is the approach to programming, a philosophy of using the computer.
Although that philosophy can’t be written down in a single sentence, at its heart is the
idea that the power of a system comes more from the
relationships among programs than from the
programs themselves. Many UNIX programs do quite trivial things in
isolation, but, combined with other programs, become general and useful tools.”
– Brian Kernighan and Rob Pike, The UNIX Programming Environment
11
Let’s start at the very beginning
Write programs that do one
thing and do it well. Write
programs to work together. Write
programs to handle text streams, because that is a universal interface.
- Doug McIlroy, the inventor of Unix pipes
Read More: The Art of Unix Programming http://www.catb.org/~esr/writings/taoup/html/index.html 12
Whatever that means...
13
14
So the secret ingredient is?
…..Data
Flow Based Programming….
15
Flow Based Programming….
16
Flow-based programming (FBP) is a programming
paradigm that defines applications as networks of
"black box" processes, which exchange data across
predefined connections by message passing, where
the connections are specified externally to the
processes.
Microservices in the wild….
17
● Intents
● Activities
● Services
● Broadcast Receivers
● Listeners
Microservices in the wild….
18
Just give me a definition, will ya!
The microservice architectural style is an approach to developing a
single application as a suite of small
services, each running in its own process and communicating with lightweight
mechanisms, often an HTTP resource API. These services are built around business
capabilities and independently deployable by fully automated deployment machinery.
There is a bare minimum of centralized management of these services, which may be
written in different programming languages and use different data storage
technologies. - James Lewis & Martin Fowler
Read More: Microservices a definition of this new architectural term http://martinfowler.com/articles/microservices.html 19
Isn’t that what SOA is?
20
Yes
NO!
Maybe
Let’s backup a bit….
21
Sales Inventory Admin
Web
/sales /inventory /admin
Mobile
Controllers (& Services)
shopSvc inventorySvc adminSvc
DAOs
Security Framework
Building Castles
22
Sales
/shop
SalesSvc
Shop DAO
Security
Inventory
/inventory
InventorySvc
Inventory
DAO
Security
Admin
/admin
AdminSvc
Admin DAO
Security
The focus will be on communication
23
Sales
/shop
SalesSvc
Shop DAO
Security
Inventory
/inventory
InventorySvc
Inventory
DAO
Security
Admin
/admin
AdminSvc
Admin DAO
Security
The focus will be on communication
24
Shop
/shop
SalesSvc
Shop DAO
Security
Inventory
/inventory
InventorySvc
Inventory
DAO
Security
Admin
/admin
AdminSvc
Admin DAO
Security
API First
25
Takes two to tango
26
REST
ATTR: Ginny Huo, "Pass the Message," Copyright 2016. http://www.ginnyhuo.com/pass-the-message/
Message Queues
Sync vs Async
27
So, are we just going to run one instance of each???
28
Shop
/shop
SalesSvc
Shop DAO
Security
Inventory
/inventory
InventorySvc
Inventory
DAO
Security
Admin
/admin
AdminSvc
Admin DAO
Security
Docker
29
Containers
30
Shop
Inventory
Admin
/shop
/inventory
/admin
31
32
Enough talk, ….
Kung Fu Panda (2008) - http://www.imdb.com/title/tt0441773/

More Related Content

What's hot

What's hot (6)

Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementStandard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data Management
 
Introduction to event based microservices
Introduction to event based microservicesIntroduction to event based microservices
Introduction to event based microservices
 
apidays LIVE Paris 2020 - Data Gateways: building “Data-as-a-Service” for the...
apidays LIVE Paris 2020 - Data Gateways: building “Data-as-a-Service” for the...apidays LIVE Paris 2020 - Data Gateways: building “Data-as-a-Service” for the...
apidays LIVE Paris 2020 - Data Gateways: building “Data-as-a-Service” for the...
 
Microservices
MicroservicesMicroservices
Microservices
 
Events, event driven architecture and async api, what the fork - EN
Events, event driven architecture and async api, what the fork - ENEvents, event driven architecture and async api, what the fork - EN
Events, event driven architecture and async api, what the fork - EN
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 

Viewers also liked

Vehicle-Mount Computer in Manufacturing
Vehicle-Mount Computer in ManufacturingVehicle-Mount Computer in Manufacturing
Vehicle-Mount Computer in Manufacturing
LXE
 
Prof. Development Day Final
Prof. Development Day FinalProf. Development Day Final
Prof. Development Day Final
bfornalczyk
 
1569 west 6th ave, helten, 19 oct-2010
1569 west 6th ave, helten, 19 oct-20101569 west 6th ave, helten, 19 oct-2010
1569 west 6th ave, helten, 19 oct-2010
WestEnd Prepare
 
Passport to dreams
Passport to dreamsPassport to dreams
Passport to dreams
hollsterm
 
ScienceDirect_undergrad_sc
ScienceDirect_undergrad_scScienceDirect_undergrad_sc
ScienceDirect_undergrad_sc
Gritiga Soothorn
 

Viewers also liked (20)

Vehicle-Mount Computer in Manufacturing
Vehicle-Mount Computer in ManufacturingVehicle-Mount Computer in Manufacturing
Vehicle-Mount Computer in Manufacturing
 
Creating an Adaptive Setting
Creating an Adaptive SettingCreating an Adaptive Setting
Creating an Adaptive Setting
 
Tobin's q and Industrial Organization
Tobin's q and Industrial OrganizationTobin's q and Industrial Organization
Tobin's q and Industrial Organization
 
Prof. Development Day Final
Prof. Development Day FinalProf. Development Day Final
Prof. Development Day Final
 
Sudii1
Sudii1Sudii1
Sudii1
 
infocom_march2010
infocom_march2010infocom_march2010
infocom_march2010
 
Tech presentation
Tech presentationTech presentation
Tech presentation
 
Student Reflections: Senegal
Student Reflections: SenegalStudent Reflections: Senegal
Student Reflections: Senegal
 
Pik's portfolio2011
Pik's portfolio2011Pik's portfolio2011
Pik's portfolio2011
 
Organ donation by death prisoners
Organ donation by death prisonersOrgan donation by death prisoners
Organ donation by death prisoners
 
1569 west 6th ave, helten, 19 oct-2010
1569 west 6th ave, helten, 19 oct-20101569 west 6th ave, helten, 19 oct-2010
1569 west 6th ave, helten, 19 oct-2010
 
Report EYL 40 under 40 Berlin 2012
Report EYL 40 under 40 Berlin 2012Report EYL 40 under 40 Berlin 2012
Report EYL 40 under 40 Berlin 2012
 
Chinese pot
Chinese potChinese pot
Chinese pot
 
The talkingvillage smw feb11
The talkingvillage smw feb11The talkingvillage smw feb11
The talkingvillage smw feb11
 
PhD project
PhD projectPhD project
PhD project
 
Passport to dreams
Passport to dreamsPassport to dreams
Passport to dreams
 
Breaking banks up is hard to do - Not hard to fail
Breaking banks up is hard to do - Not hard to failBreaking banks up is hard to do - Not hard to fail
Breaking banks up is hard to do - Not hard to fail
 
Finance Uncovered ACCA 2010
Finance Uncovered  ACCA 2010   Finance Uncovered  ACCA 2010
Finance Uncovered ACCA 2010
 
Food Advertising Awards
Food  Advertising AwardsFood  Advertising Awards
Food Advertising Awards
 
ScienceDirect_undergrad_sc
ScienceDirect_undergrad_scScienceDirect_undergrad_sc
ScienceDirect_undergrad_sc
 

Similar to Microservices Architecture

Similar to Microservices Architecture (20)

Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
Enable rapid service provisioning with cics, microservices and the z/OS Provi...
Enable rapid service provisioning with cics, microservices and the z/OS Provi...Enable rapid service provisioning with cics, microservices and the z/OS Provi...
Enable rapid service provisioning with cics, microservices and the z/OS Provi...
 
3298 microservices and how they relate to esb api and messaging - inter con...
3298   microservices and how they relate to esb api and messaging - inter con...3298   microservices and how they relate to esb api and messaging - inter con...
3298 microservices and how they relate to esb api and messaging - inter con...
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
LeanIX Keynote Lessons from a startup
LeanIX Keynote Lessons from a startupLeanIX Keynote Lessons from a startup
LeanIX Keynote Lessons from a startup
 
Bring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-appsBring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-apps
 
WILD microSERVICES v2 (JEEConf Edition)
WILD microSERVICES v2 (JEEConf Edition)WILD microSERVICES v2 (JEEConf Edition)
WILD microSERVICES v2 (JEEConf Edition)
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of Sand
 
From Microservices to Service Mesh - devcafe event - July 2018
From Microservices to Service Mesh - devcafe event - July 2018From Microservices to Service Mesh - devcafe event - July 2018
From Microservices to Service Mesh - devcafe event - July 2018
 
Accelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyAccelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data Strategy
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applications
 
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
 
The elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istio
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 

Microservices Architecture

  • 5. The Quest for Modularity 5 Sales Inventory Admin Web /shop /inventory /admin Mobile Controllers (& Services) shopSvc inventorySvc adminSvc DAOs Security Framework NAPPY_ SITE_DB
  • 6. What if? 6 Web /sales /inventory /admin Mobile Controllers (& Services) shopSvc inventorySvc adminSvc DAOs Security Framework IoT Controllers (& Services) shopSvc inventorySvc adminSvc buttonOrderSvc BIG_F$_ SITE_DB
  • 7. What if? 7 Web /sales /inventory /admin Mobile Controllers (& Services) shopSvc inventorySvc adminSvc DAOs Security Framework IoT Controllers (& Services) shopSvc inventorySvc adminSvc buttonOrderSvc BIG_F$_ SITE_DB
  • 8. Something has to change…. 8 Micro ervices to the rescue….By Source, Fair use, https://en.wikipedia.org/w/index.php?curid=45003610
  • 9. Is Microservices the new Hype? 9
  • 11. Let’s start at the very beginning “Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can’t be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, become general and useful tools.” – Brian Kernighan and Rob Pike, The UNIX Programming Environment 11
  • 12. Let’s start at the very beginning Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface. - Doug McIlroy, the inventor of Unix pipes Read More: The Art of Unix Programming http://www.catb.org/~esr/writings/taoup/html/index.html 12
  • 14. 14 So the secret ingredient is? …..Data
  • 16. Flow Based Programming…. 16 Flow-based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specified externally to the processes.
  • 17. Microservices in the wild…. 17 ● Intents ● Activities ● Services ● Broadcast Receivers ● Listeners
  • 18. Microservices in the wild…. 18
  • 19. Just give me a definition, will ya! The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. - James Lewis & Martin Fowler Read More: Microservices a definition of this new architectural term http://martinfowler.com/articles/microservices.html 19
  • 20. Isn’t that what SOA is? 20 Yes NO! Maybe
  • 21. Let’s backup a bit…. 21 Sales Inventory Admin Web /sales /inventory /admin Mobile Controllers (& Services) shopSvc inventorySvc adminSvc DAOs Security Framework
  • 23. The focus will be on communication 23 Sales /shop SalesSvc Shop DAO Security Inventory /inventory InventorySvc Inventory DAO Security Admin /admin AdminSvc Admin DAO Security
  • 24. The focus will be on communication 24 Shop /shop SalesSvc Shop DAO Security Inventory /inventory InventorySvc Inventory DAO Security Admin /admin AdminSvc Admin DAO Security
  • 26. Takes two to tango 26 REST ATTR: Ginny Huo, "Pass the Message," Copyright 2016. http://www.ginnyhuo.com/pass-the-message/ Message Queues
  • 28. So, are we just going to run one instance of each??? 28 Shop /shop SalesSvc Shop DAO Security Inventory /inventory InventorySvc Inventory DAO Security Admin /admin AdminSvc Admin DAO Security
  • 31. 31
  • 32. 32 Enough talk, …. Kung Fu Panda (2008) - http://www.imdb.com/title/tt0441773/