SlideShare a Scribd company logo
Building Scalable Architectures
Micro Services
Sasidhar Gogulapati
Agenda
 The Monolith
 Decomposing Applications into Services
 Microservice Characteristics
 Reference – Microservice Architecture
 Drawbacks of Microservices
The Monolith
Let’s Imagine we are building an Taxi-
hiring application
Final_Presentation
Browser/
Client
Load
Balancer
Database
Tomcat
UI
WAR/EAR
….......................................
Passenger Mgmt. Service
Driver Mgmt. Service
Payment Service
Notifications Service
Traditional Application Architecture
Easy To: Develop, Test, Deploy, Scale
But Large, Complex Monolithic Applications are Problematic 
 Intimidates Developers
 Obstacles to Frequent Deployments
 Overloads IDE and Container, Slows down the development process
 Obstacle to scaling development: lot of coordination and
communication required between UI and Backend services
 Requires long term commitment to a Technology Stack
X-axis : Horizontal Scaling
Y-axis: functional
decomposition
Scale by splitting
different things
Z-axis: data
partitioning
The Scale Cube
Decomposing Application into Services
Y-axis scaling: Application Level
Passenger UI Passenger Mgmt. Service
Driver UI Driver Mgmt. Service
Payment UI Payment Service
Notifications UI Notifications Service
Apply z-axis and x-axis scaling to each service independently
Final_Presentation
Microservices
More Service, Less Micro
But more realistically..
Focus on building services that make development and
deployment easier
- not just tiny services
Benefits of Microservices
Smaller, Simpler apps
 Easier to Understand and Develop
 Faster to Build and Deploy
 Reduced startup time
 Less jar/class path problems
Benefits of Microservices
 Scales Development
 Develop, Deploy and Scale each Service Independently
 Improves Fault Isolation
 Eliminates long term commitment to a Single Technology Stack
 Possible to build Modular, Polyglot, multi-framework applications
Microservices Architecture for Taxi Hiring Application
Drawbacks
 Complexity of developing a distributed system
 Multiple databases and Transaction management
 Complexity of testing a distributed system
 Complexity of deploying and operating a distributed system
Future Plans
 Working on a POC to build a Microservice, with the
technologies Spring Boot and Cisco Search API
 Working with Cisco CSTG CSF team to discuss and
participate in building real Microservices to solve
business problems
Thank You.

More Related Content

PDF
Yelowsoft Features paper
PDF
Web Application Architecture: Everything You Need to Know About
PPT
Breakout HP Discover - Session 3400
PPTX
Scalable, Business Service-based SaaS Applications
PDF
Gilt from monolith ruby app to microservice scala service architecture
PDF
Grails Monolith to Microservice to FaaS
PDF
Taming the Monolith - Microservices Meetup Hamburg
PPTX
An introduction to Microservices
Yelowsoft Features paper
Web Application Architecture: Everything You Need to Know About
Breakout HP Discover - Session 3400
Scalable, Business Service-based SaaS Applications
Gilt from monolith ruby app to microservice scala service architecture
Grails Monolith to Microservice to FaaS
Taming the Monolith - Microservices Meetup Hamburg
An introduction to Microservices

Viewers also liked (9)

PDF
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
PDF
Microservice Architecture
PDF
Evolving toward Microservices - O’Reilly SACON Keynote
PDF
Monolith to Microservices - O’Reilly Oscon
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
PPTX
From the Monolith to Microservices - CraftConf 2015
PPTX
Pragmatic Microservices
PDF
Cloud Native Java Microservices
PDF
software architecture
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Microservice Architecture
Evolving toward Microservices - O’Reilly SACON Keynote
Monolith to Microservices - O’Reilly Oscon
Software Architectures, Week 3 - Microservice-based Architectures
From the Monolith to Microservices - CraftConf 2015
Pragmatic Microservices
Cloud Native Java Microservices
software architecture
Ad

Similar to Final_Presentation (20)

PPTX
Microservices
PPTX
Monoliths and Microservices
PDF
Escaping Monolothic Hell Escaping Monolothic Hell
PPTX
Microservice intro
PPTX
MicroserviceArchitecture in detail over Monolith.
PDF
What Is Microservices Architecture and How Does It Benefit App Development.pdf
PPTX
Comparative Analysis of Software Architectures.pptx
PDF
Micro service architecture - building scalable web solutions - George James -...
PDF
Microservice final final
PPTX
05 microservices microdeck
PPTX
Microservices - modern software architecture
PPTX
Micro Services Architecture
PPTX
MONOLITHIC & MICROSERVICES difference and their properties
PDF
Microservices training
PDF
Microservice Architecture
PDF
Beware the monolith
PDF
Microservices vs. Monolithic Architecture.pdf
ODP
Microservice Architecture JavaCro 2015
PPTX
Microservices architecture
PDF
Monolithic vs Microservices Architecture: Choosing the Right Approach for You...
Microservices
Monoliths and Microservices
Escaping Monolothic Hell Escaping Monolothic Hell
Microservice intro
MicroserviceArchitecture in detail over Monolith.
What Is Microservices Architecture and How Does It Benefit App Development.pdf
Comparative Analysis of Software Architectures.pptx
Micro service architecture - building scalable web solutions - George James -...
Microservice final final
05 microservices microdeck
Microservices - modern software architecture
Micro Services Architecture
MONOLITHIC & MICROSERVICES difference and their properties
Microservices training
Microservice Architecture
Beware the monolith
Microservices vs. Monolithic Architecture.pdf
Microservice Architecture JavaCro 2015
Microservices architecture
Monolithic vs Microservices Architecture: Choosing the Right Approach for You...
Ad

Final_Presentation

  • 1. Building Scalable Architectures Micro Services Sasidhar Gogulapati
  • 2. Agenda  The Monolith  Decomposing Applications into Services  Microservice Characteristics  Reference – Microservice Architecture  Drawbacks of Microservices
  • 3. The Monolith Let’s Imagine we are building an Taxi- hiring application
  • 5. Browser/ Client Load Balancer Database Tomcat UI WAR/EAR …....................................... Passenger Mgmt. Service Driver Mgmt. Service Payment Service Notifications Service Traditional Application Architecture Easy To: Develop, Test, Deploy, Scale
  • 6. But Large, Complex Monolithic Applications are Problematic   Intimidates Developers  Obstacles to Frequent Deployments  Overloads IDE and Container, Slows down the development process  Obstacle to scaling development: lot of coordination and communication required between UI and Backend services  Requires long term commitment to a Technology Stack
  • 7. X-axis : Horizontal Scaling Y-axis: functional decomposition Scale by splitting different things Z-axis: data partitioning The Scale Cube Decomposing Application into Services
  • 8. Y-axis scaling: Application Level Passenger UI Passenger Mgmt. Service Driver UI Driver Mgmt. Service Payment UI Payment Service Notifications UI Notifications Service Apply z-axis and x-axis scaling to each service independently
  • 10. Microservices More Service, Less Micro But more realistically.. Focus on building services that make development and deployment easier - not just tiny services
  • 11. Benefits of Microservices Smaller, Simpler apps  Easier to Understand and Develop  Faster to Build and Deploy  Reduced startup time  Less jar/class path problems
  • 12. Benefits of Microservices  Scales Development  Develop, Deploy and Scale each Service Independently  Improves Fault Isolation  Eliminates long term commitment to a Single Technology Stack  Possible to build Modular, Polyglot, multi-framework applications
  • 13. Microservices Architecture for Taxi Hiring Application
  • 14. Drawbacks  Complexity of developing a distributed system  Multiple databases and Transaction management  Complexity of testing a distributed system  Complexity of deploying and operating a distributed system
  • 15. Future Plans  Working on a POC to build a Microservice, with the technologies Spring Boot and Cisco Search API  Working with Cisco CSTG CSF team to discuss and participate in building real Microservices to solve business problems

Editor's Notes

  • #7: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #8: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #9: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #10: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #11: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #12: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #13: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #14: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #15: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #16: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure
  • #17: Need to redeploy everything to change one component Interrupts long running background jobs Increases risk of failure