Amazon Prime Video has dumped its AWS distributed serverless architecture and moved to what it describes as a “monolith” for its video quality analysis team in a move that it said has cut its cloud infrastructure costs 90%.
The shift saw the team swap an eclectic array of distributed microservices handling video/audio stream analysis processes for an architecture with all components running inside a single Amazon ECS task instead.

(Whether this constitutes what some may think of as a monolith or instead is now one large microservice is an open question; ultimately it is an improved approach to the job that has saved it an awful lot of money…)
Senior software development engineer Marcin Kolny said on Prime’s technology blog that toolings built to assess every video stream and check for quality issues had initially been spun up as a “distributed system using serverless components” but that this architecture “caused us to hit a hard scaling limit at around 5% of the expected load” and the “cost of all the building blocks was too high to accept the solution at a large scale.”
Strikingly, in one discussion about this decision on Twitter, a purported senior product engineer at Amazon piped up to tell the world that “We don’t use serverless in-house for production loads and no company at sufficient scale should. Pretty sure the docs even say that.” (Ladies, gentlemen, non-binary readers; we can’t see that in the docs…)
“please don’t use and spend lots of money on our services for production loads at sufficient scale”
—AWS docs, somewhere, maybe— April King 🌀 (@CubicleApril) May 4, 2023
The initial setup had seen the Prime Video team analysing frames and audio buffers using machine-learning algorithms, with AWS Step Functions used as a primary process orchestration mechanism to coordinate the execution of several serverless Lambda functions.
All audio/video data was stored in AWS S3 buckets and an AWS SNS topic was used to deliver analysis results but the cost of passing data around racked up fast.