Monolith to Microservices: Lessons From The Trenches

100 %
0 %
Information about Monolith to Microservices: Lessons From The Trenches

Published on September 16, 2015

Author: lkysow

Source: slideshare.net

1. Monolith to Microservices:! Lessons From The Trenches! Pacific Northwest PHP Conference! September 12th, 2015! Luke Kysow! @lkysow!

2. @lkysow @lkysow!

3. Agenda! •  Hootsuite 2 years ago! •  Why Microservices! •  Journey to Microservices! •  Where we are today!

4. x100" LBs" x150" x300"

5. #  10M+ users! #  9000 requests/second! #  4 million messages/day! @lkysow!

6. ●  two years ago ○  classic startup story ○  hard 5 year battle of adding features and beating competitors ○  hockey stick growth ○  75 developers ○  huge PHP monolith Set the stage 2 Years Ago! !

7. Technical!

8. Fighting Fires!

9. Deploy Pipeline! Clogging!

10. Need A Plan!

11. Microservices! 1.  Small! 2.  Independently deployable! 3.  Communicate via APIs! @lkysow!

12. Why?!

13. Speed!

14. Staging Production

15. •  Smaller! •  Enforced boundaries between components!

16. Innovation!

17. Reliability!

18. Scaling!

19. #  No deploy bottlenecks! #  Less technical debt! #  Increased innovation! #  Higher reliability! #  Simpler scaling! @lkysow!

20. Member Service!

21. GET ! !/members/1! POST! !/members! PUT ! !/members/1! DELETE !/members/1!

22. @lkysow!

23. [ screen shot of dark launch admin panel ]

24. Member Service! •  Divide into business objects! •  Map dependencies! •  Zero downtime migration*! •  Darklaunch! •  Circuit breakers! •  SDK’s to avoid versioning! •  Monitoring! @lkysow!

25. Conway’s Law! ! ! Organizations which design systems... are constrained to produce designs which are copies of the communication structures of these organizations.!

26. http://martinfowler.com/articles/microservices.html

27. Service Oriented Monolith!

28. x18! /organizations! /social-profiles! /messages!

29. 1.  Prototype PDF Service! 2.  Split into business objects! 3.  Built Member Service! 4.  Re-organization into product teams! 5.  Service Oriented Monolith!

30. 1.  Splitting the monolith is hard! 2.  Prioritizing the work is hard! 3.  Devops is hard! Lessons! @lkysow!

31. Future! •  Continue to build more services! •  Continue to extract from the monolith! •  Improve deployments! •  Better devops tooling!

32. Why not Microservices?! ●  Increased Complexity! ○  Distributed Systems, Eventual Consistency, Harder to Refactor! ●  Excellent Devops Required! ○  Provisioning, Deploying, Logging, Monitoring! ●  Re-organization! ○  Teams need to own their stacks!

33. @lkysow @lkysow Thanks!!

Add a comment

Related pages

Inaugural Bay Area Aurora Users meetup, From Monolith to ...

... "From Homogeneous Monolith to Radically Heterogeneous ... Microservices lessons from the trenches ... Microservices with ...
Read more

Monoliths to microservices. A Journey - London .NET User ...

Monoliths to microservices. A Journey ... the lessons learned, ... This story "from the trenches" will show you the pitfalls to avoid when doing ...
Read more

Luke Kysow (@lkysow) | Twitter

The latest Tweets from Luke Kysow (@lkysow). Software Engineer on @Hootsuite's Platform Team working on splitting our PHP monolith into Scala microservices ...
Read more

ujm (@ujm) | Twitter

The latest Tweets from ujm (@ujm). Software Developer at Hootsuite ... http://www. pnwphp.com/talks#monolith-to-microservices-lessons-from-the-trenches ...
Read more

JavaOne Cloud, DevOps, Containers, Microservices etc ...

... DevOps, Containers, Microservices etc ... Lessons from the trenches? Have you transformed your monolith to a microservice ... lessons learned in ...
Read more

Event: Pacific Northwest PHP (PNWPHP) Conference - Joind.in

Monolith to Microservices: Lessons from the Trenches (11:00) Luke Kysow . 0: KEYNOTE: Stronger Than Ever: Into the Future, Together (13: 30) ...
Read more

The Business Behind Microservices: Organizational ...

Getting Started with RabbitMQ: Cloud-Based Message-Oriented Middleware. Introduction to RESTful Web Services—A JAX-RS Specification. New Functional Map ...
Read more