Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building Big Architectures XP Conference 2016


Published on

Using microservices for building big architectures

Published in: Software
  • Login to see the comments

Building Big Architectures XP Conference 2016

  1. 1. #XPIndia2016 Building Big Architecture Ramit Surana @ramitsurana
  2. 2. #XPIndia2016 Agenda • Why is this important ? • Defining SOA • What are Monoliths ? • What are Microservices ? • About Docker • Principles of Microservices • Refactoring • 12 Factor App • Conway's Law • Coupling • Case Studies
  3. 3. #XPIndia2016 About Me • Open Source Guy • Contributor to Docker, CoreOS and Kubernetes community. • Open Source community speaker. • Contact me:
  4. 4. #XPIndia2016 Important Sayings
  5. 5. #XPIndia2016 Why is this important ?
  6. 6. #XPIndia2016 SOA(Service Oriented Architecture) Architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network.
  7. 7. #XPIndia2016 Before and After SOA
  8. 8. #XPIndia2016 SOA Mythology
  9. 9. #XPIndia2016 Overview of Monolith Architecture
  10. 10. #XPIndia2016 Monolithics •Single Runtime •Single Codebase •Layered architecture •Initialization of the system may be tricky or laborious. •Change to the control flow is impossible. •An application where all of the logic runs in a single app server.
  11. 11. #XPIndia2016 Microservices
  12. 12. #XPIndia2016 Overview of Microservices Architecture
  13. 13. #XPIndia2016 Microservices •Loosely coupled service oriented architecture with bounded contexts. •Design for failure •Decentralized Governance •Decentralized Data Management. •Componentization via Services
  14. 14. #XPIndia2016 Microservices vs Monolithic
  15. 15. #XPIndia2016 About Docker •Open platform for developers and sysadmins to build, ship, and run distributed applications. •Docker enables apps to be quickly assembled from components. •It eliminates the friction between development, QA and production environments.
  16. 16. #XPIndia2016 The Problem
  17. 17. #XPIndia2016 Using Monolithic Developer Developer Developer Developer Developer Java Java Java Java Java Production Release Cycles
  18. 18. #XPIndia2016 Using Microservices Developer Developer Developer Developer Developer Redis Golang NodeJS Java Php Release Cycles Production
  19. 19. #XPIndia2016 Using Docker Hub with Microservices Developer Developer Developer Developer Developer Configure Configure Configure Configure Configure Release Cycles Production Docker Hub
  20. 20. #XPIndia2016 Using PaaS Developer Developer Developer Developer Developer Configure Configure Configure Configure Configure Release Cycles Production Docker Hub Orchestration Engine Paa S
  21. 21. #XPIndia2016 Principles Governing Micro services
  22. 22. #XPIndia2016 Coupling •Tight coupling leads to huge, monolithic systems that are difficult to maintain or improve upon •If changing one module in a program requires changing another module, then coupling exists.
  23. 23. #XPIndia2016 12 Factor app
  24. 24. #XPIndia2016 Conway's Law "Any organization that designs a system … will inevitably produce a design whose structure is a copy of the organization's communication structure."
  25. 25. #XPIndia2016 Refactoring •Process to change the existing code without changing its external behavior. •Refactoring improves nonfunctional attributes of the software.
  26. 26. #XPIndia2016 Comparison of performance
  27. 27. #XPIndia2016 But What about DevOps ?
  28. 28. #XPIndia2016 DevOps •DevOps is a company culture where the Developers movement or practice emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals. •It helps in automation and making delivery fast.
  29. 29. #XPIndia2016 Case Studies
  30. 30. #XPIndia2016 How Netflix does it?
  31. 31. #XPIndia2016 How Twitter do it?
  32. 32. #XPIndia2016 How Gilt does it?
  33. 33. #XPIndia2016 How does Google does it?
  34. 34. #XPIndia2016 Any Questions?
  35. 35. Thank You May you have an awesome day ahead !