Amazon Prime Video reduced costs by 90% by ditching Microservices




If any of you have been outside recently, you might have come across streams of salt water, particularly if you live near Silicon Valley.

Scientists have finally found the cause of this. Those salty streams and puddles you have been wading through are the tears of the Microservices bros. To those of you that missed it, Amazon (the poster child for service-oriented architectures) released a very interesting report- Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%. In it, they wrote- The move from a distributed microservices architecture to a monolith application helped achieve higher scale, resilience, and reduce costs.

The Scaling Problem- As with many other rushed microservices implementations, Amazon was not able to match what they had envisioned. We designed our initial solution as a distributed system using serverless components (for example, AWS Step Functions or AWS Lambda), which was a good choice for building the service quickly. In theory, this would allow us to scale each service component independently. However, the way we used some components caused us to hit a hard scaling limit at around 5% of the expected load. Also, the overall cost of all the building blocks was too high to accept the solution at a large scale.