This is in response to the following article by Amazon
Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%
The move from a distributed microservices architecture to a monolith application helped achieve higher scale, resilience, and reduce costs.
And the thoughts of others.
Serverless was a big mistake... says Amazon
Amazon Prime Video released an article explaining how they saved 90% on cloud computing costs by switching from microservices to a monolith. Let's examine the details of their software architecture and find out why serverless was a bad choice. #programming #aws #thecodereport 💬 Chat with Me on Discord https://discord.gg/fireship 🔗 Resources Prime Video Serverless Article https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90 Majestic Monolith https://m.signalvnoise.com/the-majestic-monolith AWS for the Haters https://youtu.be/ZzI9JE0i6Lc 🔥 Get More Content - Upgrade to PRO Upgrade at https://fireship.io/pro Use code YT25 for 25% off PRO access 🎨 My Editor Settings - Atom One Dark - vscode-icons - Fira Code Font 🔖 Topics Covered - Monolith vs Microservice - Pros and Cons of serverless - Serverless pitfalls - AWS lambda vs EC2 - What is a microservice - How to save money on AWS - Startups that have left the cloud
How to recover from microservices
I won't deny there may well be cases where a microservices-first architecture makes sense, but I think they're few and far in between. The vast majority of systems are much better served by starting and staying with a majestic monolith. The Prime Video case study that blew up the internet yesterday is but the latest illustration. Maybe...
Even Amazon can't make sense of serverless or microservices
The Prime Video team at Amazon has published a rather remarkable case study on their decision to dump their serverless, microservices architecture and replace it with a monolith instead. This move saved them a staggering 90%(!!) on operating costs, and simplified the system too. What a win! But beyond celebrating their good sense, I th...
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 https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90 Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon) https://backend.husseinnasser.com Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com Follow me on Medium https://medium.com/@hnasr/membership Introduction to NGINX (link redirects to udemy with coupon) https://nginx.husseinnasser.com Python on the Backend (link redirects to udemy with coupon) https://python.husseinnasser.com Become a Member on YouTube https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join Buy me a coffee if you liked this https://www.buymeacoffee.com/hnasr Arabic Software Engineering Channel https://www.youtube.com/channel/UChWZsjdoRvZ0T9QWZOD6UpA 🔥 Members Only Content https://www.youtube.com/playlist?list=UUMO_ML5xP23TOWKUcc-oAE_Eg 🏭 Backend Engineering Videos in Order https://backend.husseinnasser.com 💾 Database Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2 🎙️Listen to the Backend Engineering Podcast https://husseinnasser.com/podcast Gears and tools used on the Channel (affiliates) 🖼️ Slides and Thumbnail Design Canva https://partner.canva.com/c/2766475/647168/10068 Stay Awesome, Hussein
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.
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.
Overview of self-hosted serverless frameworks for Kubernetes: OpenFaaS, Knative, OpenWhisk, Fission
Serverless computing is quite a trend. Let's see which Open Source self-hosted serverless frameworks — with Kubernetes support, of course — we have today.
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.
It's finally time to talk about the technology we've been building at 37signals to leave the cloud with HEY and many of our legacy applications. We already run Basecamp on our own hardware, but we deploy it using an old tool known as Capistrano. This is the deployment tool we originally wrote at 37signals all the way back in 2005, when...
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.
No, we don’t use Kubernetes | Ably Blog: Data in Motion
“No, we don’t use Kubernetes”. That always gets raised eyebrows... so we decided to write about our reasoning behind this cloud architecture decision.
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.