Microservices vs. Monolith
Shreyas Iyer
6 replies
Recently, Amazon Prime Video made a significant decision to switch from a microservices to monolith architecture for video monitoring and claimed to have reduced costs by 90% (https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90). This event has sparked renewed discussion on the longstanding debate over microservices vs monolith.
What are your thoughts on Amazon’s switch? And for the techies out there, how do you decide whether your application is best suited for a microservice or monolith architecture? If any of you have made a similar architecture switch, would love to hear about it!
Excited to hear your insights and stories!
Replies
Navin Peiris@navinpeiris
In a startup/scaleup environment with a small team, I would choose a monolith over microservices any day. Sure, you might have some pieces of functionality that’s better served by a different language and/or justifies being broken out to its own thing, but that should be an exception, not the norm.
Microservices were all the rage a few years ago and some startups went with that as the default because it was the new shiny thing without considering all the drawbacks. Automated testing is harder, deployments become more cumbersome and maintenance becomes a headache. So much easier to update dependencies in one repo than multiple repos for example.
I believe microservices do have its place in some larger organisations, but for smaller organisations, you have to have a really good justification why taking on the additional burden is worth it.
Share
Antimetal
@navinpeiris Agreed. I think a lot of teams build their initial product as a monolith, and when it makes sense, switch it over to microservice architecture.
What I find really strange is Amazon Prime Video did the exact opposite! Maybe there were new problems/features that arose later, but initially, microservices may have seemed like a reasonable choice.
Appreciate the thoughts and insights!
Antimetal
A distributed microservice architecture is not necessarily serverless - that's probably the most misleading information I've seen people sharing. This means you can have a microservice architecture running on EC2/ECS that's 90% cheaper than serverless.
The scalability factor depends on the problem you're trying to solve - not all problems can scale independently. A 5% scalability limit clearly shows that this problem is not suitable for this type of architecture.
As always, there's no absolute truth. Just different paths to achieve a goal. Creating a bad architecture that gives you good information about the problem and later refactoring into a more robust architecture is more common than it should be.
So no, monolith architectures are not the silver bullet many people have been looking for.
At this Western-style casino, you are feeling like a cowpoke who came to undertake his good fortune. Cowboys casino calgary gives numerous openings to do that – play casino recreations, investigate a poker room, or connect a competition. Saddle your horse and go for huge wins, Cowpoke!
The decision by Amazon Prime Video to switch from a microservices to a monolith architecture for video monitoring is an interesting move that has reignited the microservices vs monolith debate. While the claimed cost reduction of 90% is impressive, it's important to consider the potential trade-offs in terms of scalability and flexibility that microservices architecture offers. Each application's architecture choice should be based on careful analysis of its specific requirements and goals, weighing the benefits of microservices architecture (https://www.cleveroad.com/blog/b...), such as increased modularity and fault isolation, against the potential benefits of a monolith architecture, such as simplified development and deployment. It would be fascinating to hear from tech enthusiasts who have experienced similar architecture switches to gain insights and learn from their experiences.
@ papa's burgeriaThanks for the helpful answers here.