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.

XConf Coimbatore 2016 - Microservices Demystified

688 views

Published on

Explore the world of Microservices architecture to design, develop and deploy scalable, quality ecosystems.

Published in: Technology
  • Be the first to comment

XConf Coimbatore 2016 - Microservices Demystified

  1. 1. Microservices Demystified Selvakumar Natesan
  2. 2. What are Microservices?
  3. 3. Typical application What are Microservices?
  4. 4. What are Microservices?
  5. 5. Monoliths What are Microservices?
  6. 6. Microservices * Each element as its own service What are Microservices?
  7. 7. Microservices What are Microservices?
  8. 8. Small autonomous services that work together - Sam Newman What are Microservices?
  9. 9. SOA ? ESB (proprietary tools) Heavy Integration (like WCF, SOAP, JBI) Hard to test Technical service boundaries Business Contract as boundaries Lightweight transport (like http/json) What are Microservices?
  10. 10. service-oriented architecture composed of loosely coupled elements that have bounded contexts - Adrian Cockcroft Microservices What are Microservices?
  11. 11. Microservices Write programs that do one thing and do it well. Write programs to work together - The Unix Way What are Microservices?
  12. 12. Characteristics of a Microservice Architecture > Componentization via Services > Organized around Business Capabilities > Products not Projects > Smart endpoints and dumb pipes > Decentralized Governance > Decentralized Data Management > Infrastructure Automation > Design for failure > Evolutionary Design http://martinfowler.com/articles/microservices.html
  13. 13. Componentization via Services http/json async / messaging Communication
 Service Order
 Service Catalog
 Service http/json Recommendation
 Service Characteristics of a Microservice
  14. 14. Organized around Business Capabilities Presentation Business Logic Data Access / DB Characteristics of a Microservice
  15. 15. Characteristics of a Microservice Catalog Order Shipping Bounded Context Organized around Business Capabilities
  16. 16. Characteristics of a Microservice Catalog Order Shipping Organized around Business Capabilities "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations" —Melvin Conway
  17. 17. Products, Not Projects Characteristics of a Microservice Catalog Team own end to end From technical choices to deployment
  18. 18. {      "id":            "iphone-6s-16gb",      "specification": {          "...": "..."      },      "price":         35000,      "currency":      "₹",      "...": "..." } Smart endpoints and dump pipes Characteristics of a Microservice Catalog Order Communication RESTful
 (http / json) /items/iphone-6s-16gb
  19. 19. Characteristics of a Microservice Catalog Order Decentralized Governance Communication
  20. 20. Characteristics of a Microservice Catalog Order Communication Decentralized Data Management
  21. 21. Infrastructure Automation Characteristics of a Microservice > builds > tests - unit, integration, end to end, performance > provisioning > deployment > from test environment > to production
  22. 22. Infrastructure Automation Characteristics of a Microservice
  23. 23. Design for failure Characteristics of a Microservice > Tolerate the failure of services > Timeouts, retries and circuit breaker patterns > Real-time monitoring > Log aggregation
  24. 24. Evolutionary Design Characteristics of a Microservice > Build few bigger services first > Then, slowly peel off different services > Based on independent replacement and upgradeability > Make granular releases
  25. 25. Characteristics of a Microservice Architecture > Componentization via Services > Organized around Business Capabilities > Products not Projects > Smart endpoints and dumb pipes > Decentralized Governance > Decentralized Data Management > Infrastructure Automation > Design for failure > Evolutionary Design http://martinfowler.com/articles/microservices.html
  26. 26. Are you ready for Microservices?
  27. 27. Readiness for microservices Are you ready for Microservices? > Operational Complexity due to distribution > Tolerance for Eventual consistency > Automated Testing (Test Pyramid) > Automated Build and Deployment > Rapid Provisioning > Monitoring needs > Remote calls – expensive Avoid microservices envy
  28. 28. Readiness for microservices http://martinfowler.com/bliki/MicroservicePremium.html
  29. 29. Readiness for microservices Microservice architectures provide unique benefits at the cost of increased (essential) complexity.
  30. 30. Want to know more? martinfowler.com/microservices Building Microservices Domain-Driven Design Implementing Domain-Driven Design Release It!
  31. 31. Thank you! Selvakumar Natesan @selvakn #XConf #Coimbatore
  32. 32. Who are all doing Microservices?

×