The Amazon Prime Video saga — our take.

Amitava Saha
KloudMate

--

No, Amazon Prime Video has NOT turned into a monolithic application. Please read this again!

In fact, it is a microservices application that includes multiple components, from containers, serverless (Lambda/FaaS) and EC2s.

Here is the turn of events:

  • The team rapidly built using Lambda + Step Functions, that was fast, resilient and quick to build
  • As long-sustained traffic increased, they re-worked and used the code to a microservice, horizontally scaled using ECS (in turn invoked by a Lambda function)
  • In order to maintain a consistently increasing high level of traffic with minimal delay and improved effectiveness, they created a perpetual container that can scale automatically. It was then integrated it into a larger, event-driven serverless architecture.

Serverless serving any architecture in totality is highly unlikely (although it’s very doable. We know of numerous applications that are completely built on Serverless).

Every application will have its own use case, and a combination of multiple technologies is what Solution Architects must constantly review / re-design.

This is an ongoing process. It cannot stop.

Long story short:

Serverless:
• Build fast
• Varying workloads
• Suitable for spiky traffic patterns
• Automatic scaling and resource allocation
• Ideal for small to medium-sized applications

Containers:
• Sustained, long traffic patterns
• Compute jobs that run for extended periods of time
• Auto-scalable
• Portable and can run on any infrastructure

Virtual Compute Environments (e.g. EC2):
• Suitable for applications with consistent and predictable traffic patterns
• Traditional approach to application deployment and management
• Assume responsibility for infrastructure management

There are multiple approaches on when and how to use technologies and techniques effectively.

What the team at Prime Video did, is a best practice. Evolve the architecture, as traffic, users, and business use-cases evolve too.

At KloudMate, we were taken aback by the sudden Serverless bashing and rushed conclusions the world was deriving.

We set out to build serverless monitoring, because serverless is love. But we also do understand how complex today’s applications can get.

Hope to soon offer a comprehensive observability suite, that will cater to growing needs of developers and enterprises alike, while maintaining the simplicity-of-use that KloudMate stands for.

May peace prevail 😅

--

--