microservices and evolutionary architecture
play

Microservices and Evolutionary Architecture Rebecca Parsons WHY DO - PowerPoint PPT Presentation

Microservices and Evolutionary Architecture Rebecca Parsons WHY DO I CARE? Organizations expect business agility, time to market, and the ability to adapt quickly from IT 2 WHAT DID WE USED TO DO? Remember component re- use? Remember


  1. Microservices and Evolutionary Architecture Rebecca Parsons

  2. WHY DO I CARE? Organizations expect business agility, time to market, and the ability to adapt quickly from IT 2

  3. WHAT DID WE USED TO DO? Remember component re- use? � Remember integration by database? � Remember SOA? 3

  4. SOA GOT SOME THINGS RIGHT ▫︎ Break monoliths down into independent services � ▫︎ Integration over internal coupling � ▫︎ Encouraged greater acceptance of eventual consistency � ▫︎ At least made us think di ff erently about the old approach 4

  5. SOA STILL TENDED TO MESS UP ▫︎ Monster services ▫︎ Producer driven services ▫︎ Orchestration ▫︎ Tooling often got in the way ▫︎ Much harder to change (even though that’s why we did it) ▫︎ Much harder to test 5

  6. AND NOW? Micro-services 6

  7. WHAT ARE MICRO-SERVICES? … 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. martinfowler.com/articles/microservices.html 7

  8. CHARACTERISTICS OF MICRO-SERVICES ▫︎ Small ▫︎ Built around business capabilities ▫︎ Independently deployable ▫︎ Little centralized management ▫︎ Smart end points and dumb pipes ▫︎ Lack of centralized, shared database 8

  9. IMPLICATIONS OF USING MICRO-SERVICES ▫︎ Granularity question is crucial ▫︎ Must balance cohesion and coupling ▫︎ Independently scalable ▫︎ Monitoring crucial ▫︎ Explicit design for service failures ▫︎ Infrastructure automation and deployment automation essential ▫︎ Platform fl exibility must be managed ▫︎ Eventual consistency must be managed ▫︎ Interface churn must be managed 9

  10. HOW DO I DECOMPOSE MY MONOLITH? ▫︎ Think about bounded contexts as de fi ned in Domain Driven Design ▫︎ Think about business capabilities ▫︎ Think about what consumers need ▫︎ Think about communication patterns ▫︎ Think about data architecture ▫︎ Think about correlated change patterns ▫︎ Be prepared to combine services and split services ▫︎ Tolerant reader 10

  11. MICRO-SERVICES AND EVOLUTIONARY ARCHITECTURE ▫︎ Micro-services exhibit many of the principles of evolutionary architecture ▫︎ Focus on evolvability ▫︎ Tolerant reader ▫︎ Exploiting Conway’s Law ▫︎ Appropriate coupling ▫︎ Contracts ▫︎ Testability 11

  12. ROLE OF CONTINUOUS DELIVERY ▫︎ Micro-services increase the burden on operations ▫︎ More things to deploy ▫︎ Monitoring must be more sophisticated ▫︎ More permutations of failure ▫︎ Inadvisable without a strong DevOps culture ▫︎ Inadvisable without rigor of continuous delivery ▫︎ Infrastructure automation ▫︎ Deployment automation ▫︎ Test automation 12

  13. How do I get started? 13

  14. Is this a silver bullet? Sorry, but no. Still, used e ff ectively in many, varied organizations. 14

  15. To Learn More Building Microservices DESIGNING FINE - GRAINED SYSTEMS Sam Newman

  16. Thank you! @rebeccaparsons http://rebeccaparsons.com 16

  17. Questions? Please remember to evaluate via the GOTO Guide App

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend