Back to Blog
Amazon Prime Video logo with an arrow curving from a crossed-out "Microservices" label to a checked "Monolith" label
Engineering
May 7, 2023
2 Min Read

Amazon Prime Video's Monolith Pivot

You might have already heard the news: Amazon Prime Video switched its video quality analysis service from microservices to a monolith. As expected, social media quickly jumped to the conclusion that microservices are bad and monoliths are better. But that’s not what actually happened, and it’s not the real takeaway.

Microservices Still Work

Microservices aren’t a bad idea. Splitting software into small, independent parts lets teams build, test, and update each piece on their own timeline, using the tools that work best for them. This flexibility is valuable and is a big reason why so many teams use microservices as their main approach.

But They’re Not Free

But there’s a trade-off. Having more independent parts means more coordination is needed. Services must communicate reliably, data has to stay consistent across new boundaries, and testing becomes harder as the system grows. Managing and monitoring many services also increases operational costs. If the design isn’t careful, you might end up with tightly connected components, worse performance, and more chances for things to go wrong.

Fit the Tool to the Problem

This doesn’t mean microservices are always good or bad. There isn’t one right answer for every project. Depending on the situation, a monolith might work better, microservices might be the best choice, or sometimes a mix of both is the way to go.

That’s exactly what Amazon Prime Video did. Their video quality analysis tool originally used a microservices and serverless setup with AWS Step Functions and Lambda. But in practice, this setup caused major bottlenecks, higher costs, and could only handle about 5% of the needed load. So they rebuilt the service as a monolith, which cut their infrastructure costs by over 90% and allowed them to scale much more easily. They didn’t give up on microservices completely; they just chose a different approach for this specific workload.

The Actual Takeaway

The real lesson isn’t that microservices are bad. The problem is using the wrong architecture for your specific needs. Teams should be open to spotting when something isn’t working, trying a new approach, and sharing what they learn with others.

What do you think about this? Would you have made the same choice as Amazon Prime Video, or done something else? If you’ve faced a similar challenge in your own projects, I’d love to hear how you handled it.

Filed Under

Join the Conversation

This dispatch is part of an ongoing series on the future of intelligence. Share your perspective or subscribe for more.

Weekly dispatches. No spam. Ever.