This document discusses the benefits of microservices architectures for simplifying complex systems. It outlines how Remmelt Pit transitioned an auction and listings website from a monolithic architecture to microservices. Some best practices they followed included defining strict contracts between loosely coupled services, thorough documentation, and avoiding polyglot approaches. Areas for improvement included starting smaller, better onboarding operations teams, and underestimating the needed culture change. Overall, microservices allow for improved scalability, flexibility to swap out services, and increased developer happiness and productivity when done right.
27. Loosely coupled
Services do not need to be updated at the same time
Bounded contexts
If you have to know too much about surrounding
services than you don't have a bounded context1
1
See Eric Evans, Domain Driven Design
35. what could we have done better?
— start small
— onboarding ops
36. Organizations which design
systems ... are constrained to
produce designs which are copies
of the communication structures
of these organizations
— Melvin Conway (1968)
37. what could we have done better?
— start small
— onboarding ops
— underestimated necessary culture change
38. what could we have done better?
— start small
— onboarding ops
— underestimated necessary culture change
— architectural challenges