Scaling up Amazon Prime Video Article

May 8, 2023 6:29 PM


This is in response to the following article by Amazon

And the thoughts of others.

Prime Video Swaps Microservices for Monolith: 90% Cost Reduction

Prime video engineering team has posted a blog detailing how they moved their live stream monitoring service from microservices to a monolith reducing their cost by 90%, let us discuss this 0:00 Intro 2:00 Overview 10:35 Distributed System Overhead 21:30 From Microservices to Monolith 29:00 Scaling the Monolith 32:30 Takeaways Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon) Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) Follow me on Medium Introduction to NGINX (link redirects to udemy with coupon) Python on the Backend (link redirects to udemy with coupon) Become a Member on YouTube Buy me a coffee if you liked this Arabic Software Engineering Channel 🔥 Members Only Content 🏭 Backend Engineering Videos in Order 💾 Database Engineering Videos 🎙️Listen to the Backend Engineering Podcast Gears and tools used on the Channel (affiliates) 🖼️ Slides and Thumbnail Design Canva Stay Awesome, Hussein

Prime Video Swaps Microservices for Monolith: 90% Cost Reduction

My Take

There is a place for serverless; this was just the wrong tool for the job. Period.

So chalk this up to a terrible idea and implementation; they should have never used serverless and in the way they did. Think about using a power drill as a hammer.

Serverless In-house

Many organizations use serverless in-house on bare-metal for a fraction of the cost of Lamada using containers such as Kubernetes or Docker. There are a few options for self-host serverless OpenFaaS, Fission, OpenWhisk or Knative.

Orchestration, the conductor…

But then you need orchestration to manage containers, restart failed containers and scale containers across bare-metal, private or public cloud. Kubernetes is a considerable endeavour to set up and manage for a small organization. Instead, some organizations put their entire application on a single piece of hardware, such as DHH did with Basecamp and their MSRK tool.

Scaling and Failover

But when that piece of hardware goes down for maintenance or another reason, where's the fault tolerance? That's why Kubernetes (Googles Borg), Docker Swam and Openshift exist. You could also run docker on multiple hosts, bare-metal, ec2, VPS, private or public cloud and build out your orchestration.


Don’t Blame serverless, blame the implementation. Tools exist, and it’s up to the user of that tool to understand how it works and especially with other tools.