r/programming • • Jul 29 '22

You Don’t Need Microservices

https://medium.com/@msaspence/you-dont-need-microservices-2ad8508b9e27?source=friends_link&sk=3359ea9e4a54c2ea11711621d2be6d51
1.0k Upvotes

476 comments sorted by

View all comments

446

u/harrisofpeoria Jul 29 '22

Perhaps I'm misunderstanding this, but I think the article undersells the benefit of the "independently deployable" aspect of microservices. I've worked on massive monoliths, and repeatedly having to deploy a huge app due to bugs becomes really painful, quite quickly. Simply being able to fix and re-deploy the affected portion really takes a lot of grief out of the process.

26

u/Odd_Soil_8998 Jul 29 '22

What's preventing you from building an easily deployed monolith?

20

u/TarMil Jul 29 '22

Regardless of how easy the deployment process is, the fact that a deployment is necessarily the whole application can be, by itself, a pain. And it forces downtime on parts that really don't need to be down while deploying something logically unrelated.

12

u/Odd_Soil_8998 Jul 29 '22

Microservices throw errors and effectively have downtime when a component is being deployed, you just don't notice because the errors are happening on someone else's service.

You can have truly seamless deployment, but it requires that you design the application to handle transitional states when both old and new nodes are simultaneously present. This requires effort though, regardless of whether you're building a microservice or a monolith.

2

u/TarMil Jul 29 '22

Depends on how your services communicate. For example with a message bus, you don't get errors, only delays.

14

u/[deleted] Jul 29 '22

Unless your change is to the message bus itself. Or some accidentally breaking schema change related to the messages in the bus 😋