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.

[QE 2015] Sam Elamin - Monoliths to microservices - a journey

517 views

Published on

Your monolithic system is difficult to work with and maintain. Moving to a distributed system will solve all your problems and you will be in developer heaven. Right? You will be working with cool technologies and amazing concepts. Plus, Microservices! So what could possibly go wrong?

In my talk I will relate my real life experience of migrating a single ASP.NET application with a monolithic database to a distributed system with hundreds of services dealing with £100,000 transactions every hour. I will cover the challenges faced and the lessons learned in order to offer some final takeaways.

This „from the trenches” story will show you the pitfalls to avoid when dealing with Microservices.

Published in: Software
  • Be the first to comment

  • Be the first to like this

[QE 2015] Sam Elamin - Monoliths to microservices - a journey

  1. 1. Monoliths To Microservices. A Journey @samelamin
  2. 2. Monoliths To Microservices. A Journey @samelamin
  3. 3. Why people build Monoliths
  4. 4. ● One monolithic database ● ASP.NET web application ● Doesn't scale ● Can't experiment with different technologies ● Versioning ● No domain ownership ● Long and hard deployments Why Distributed?
  5. 5. Working with the code felt like…..
  6. 6. How we started?
  7. 7. Its only refactoring?
  8. 8. By making smaller components we are reducing the complexity
  9. 9. Implementing DDD and CQRS
  10. 10. Using Pub / Sub
  11. 11. How PubSub works
  12. 12. Identify a bounded context
  13. 13. Define An Interface
  14. 14. What we found out. Race Hazards????????
  15. 15. Testing is hard :(
  16. 16. Deployments
  17. 17. Unclear Boundaries
  18. 18. Strict Code Reviews
  19. 19. Monitoring
  20. 20. Hidden Complexity
  21. 21. What we should have done
  22. 22. Get the business involved!
  23. 23. Data Duplication?
  24. 24. Orchestration layer?
  25. 25. Self Monitoring > Acceptance Tests
  26. 26. Business Monitoring over Acceptance Tests
  27. 27. With metrics come freedom!
  28. 28. The future? Vnext + Docker
  29. 29. Build your next feature as a microservice

×