When To Use Microservices (And When Not To!) • Sam Newman & Martin Fowler • GOTO 2020
Video Statistics and Information
Channel: GOTO Conferences
Views: 494,232
Rating: undefined out of 5
Keywords: GOTO, GOTOcon, GOTO Conference, GOTO (Software Conference), Videos for Developers, Computer Science, Programming, Software Engineering, GOTObookclub, GOTO Book Club, Martin Fowler, Sam Newman, Microservices, Software Architecture, Microservices Architecture, ThoughtWorks
Id: GBTdnfD6s5Q
Channel Id: undefined
Length: 38min 44sec (2324 seconds)
Published: Thu Sep 03 2020
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
Traditional microservices are meant to be fully autonomous, but in practice this tends to suck hard:
The organisations I've seen that do actually use microservices to a degree of success don't follow this model, and instead use standardised stacks across the board. They have a separate team for actually doing all of the infrastructure and database management, so that it can be done correctly and leave the developers to do whatever they want without worrying about it. Cross-cutting concerns are already solved using internal libraries and shared access to distributed logging and tracing systems. Dependency management is done through single org repositories (e.g. maven and docker.)
Teams basically have no autonomy for deployment at that point, which is completely the opposite of what microservices are meant to be but actually works much better.
With all of this in mind, orgs are probably better off moving to service deployment frameworks at the language level, completely avoiding the need to re-invent communication and making standardisation first-class.
Use microservices: when you have to
Don't use them: when you can possibly avoid it.
TLDR?
Why can't you do zero-downtime deployments with a modular monolith?
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".
Really enjoyed this.
It's nice to see advocates of Microservices having honest discussions about the upsides and downsides. Pretty much fits with my opinion of them as well.
If the added cost (work and money) is worth it in terms of your organisational structure/your monilith is really monolithic, then try it. But importantly, try it, don't just go all in on a multiple year project with a "Microservices!!!!" attitude.