When To Use Microservices (And When Not!) • Sam Newman & Martin Fowler
Mar 24, 2021
auto_awesome
Sam Newman and Martin Fowler discuss the reasons for using or not using microservices and the changes required for maximum benefits. They explore the benefits and costs of adopting a microservice architecture and the importance of clear goals and outcomes. They also highlight the top three reasons for using microservices, including independent deployability, isolation of data and processing, and enabling organizational autonomy. The concept of independent deployability is further discussed, along with successful deployment models in monolithic applications and the advantages of microservices in reducing the scope of deployment.
Microservices should be used as a conscious choice driven by specific outcomes or benefits, providing options for scaling applications and enhancing application robustness.
Transitioning from monolithic architectures to microservices requires achieving independent deployability within the microservices architecture and managing data separation and isolation, while also necessitating organizational shifts in decision-making processes and responsibilities within teams.
Deep dives
Reasons for Using Microservices
Sam Newman and Martin Fowler discuss the main reasons to consider using microservices. They emphasize that using microservices should be a conscious choice driven by specific outcomes or benefits. Microservices provide options for scaling applications, offer independent deployability when implemented correctly, and help isolate failure points, enhancing application robustness. The authors also highlight that microservices should not be seen as a one-size-fits-all solution, but rather as a tool that requires a good reason to be adopted.
Challenges and Considerations
The podcast explores some challenges and considerations when transitioning from monolithic architectures to microservices. It discusses the importance of achieving independent deployability within a microservices architecture and avoiding the trap of a distributed monolith, where multiple microservices must be deployed together. The speakers also touch on the complexity of managing data and discuss the strategic handling of data separation and isolation. They acknowledge that breaking apart a monolith involves organizational shifts, including a change in decision-making processes and responsibilities within teams.
Benefits of Independent Deployability
Independent deployability is highlighted as a significant benefit of microservices architecture. The ability to make changes to specific functionality and deploy them without impacting the rest of the system is crucial. This approach allows for smaller scope releases, reducing risk and enabling zero downtime deployments when implemented correctly. Achieving independent deployability provides organizations with more flexibility, faster release cycles, and the capability to scale and evolve different microservices independently.
Skills and Culture Shift
The podcast discusses the skills and cultural shifts required when adopting microservices architecture. Organizations moving from monolithic to microservices need to adapt their decision-making processes and attitudes towards autonomy and decentralized decision-making. While organizational scale and coordination become more complex with microservices, embracing organizational autonomy enables teams to make independent decisions, distribute responsibilities, and reduce coordination efforts. The speakers emphasize that incremental changes in both architecture and organizational structure are necessary for successful adoption.
This interview was recorded for the GOTO Book Club. http://gotopia.tech/bookclub
Sam Newman - Author of "Monolith to Microservices" Martin Fowler - Chief Scientist at ThoughtWorks
DESCRIPTION Upgrade your microservices knowledge by listening to a spirited conversation between two living legends: Sam Newman and Martin Fowler. The two touch upon the main reasons for using or not using microservices, and, if you decide to do use microservices, what else you should change along the way to fully benefit from the switch, plus much more. The interview is based on Sam Newman's new book "Monolith to Microservices": https://amzn.to/2Nml96E
Read the full transcription of the interview here: https://gotopia.tech/bookclub/episodes/moving-to-microservices-with-sam-newman-and-martin-fowler
RECOMMENDED BOOK Sam Newman • Monolith to Microservices • https://amzn.to/2Nml96E