Subscribe to our
weekly update
Sign up to receive our latest news via a mobile-friendly weekly email
Gain insights into the benefits and trade-offs of microservices and serverless architectures in this comprehensive blog series.
Just how in demand is serverless computing, really? Popularized by Amazon in 2014, serverless computing had already clinched the title of the highest-growth public cloud service as early as 2018. With its total market value shooting past the USD 9 billion mark in 2022 and projected to hit a jaw-dropping USD 90 billion by 2032, it’s safe to say this relative newcomer is doing quite alright for itself.
In this comprehensive four-part blog series, we’ll take a balanced look at different models, weigh their pros and cons, and delve into the compelling reasons behind the growing appeal of serverless architectures (or when they’re the wrong architecture to use). We’ll also take a deep dive into a real-world case study on Amazon Prime Video and draw upon our own experiences. The whole time, we’ll use specific examples to explain why a particular choice was made – keeping in mind big questions like maintainability, scalability, performance, time to market, and cost. So, fasten your seat belts as we navigate the intricacies and nuances of serverless architectures – and their alternatives.
Before diving into serverless, let’s touch on their precursor, or really the enabling technology which made serverless possible: microservices. By breaking applications into smaller, interconnected services, microservices offer a range of benefits that make them an attractive choice for developers and businesses alike. Here’s a rundown of the most significant drivers propelling the transition towards microservice architectures:
Microservices and serverless architectures are complementary approaches that share some common goals, such as scalability, flexibility, and faster development cycles. Microservices focus on breaking applications into smaller, independent components and serverless takes this idea further by eliminating infrastructure management and allowing developers to run code on-demand without provisioning or maintaining servers. The technology’s promise is that by combining these two paradigms, developers can build highly scalable and efficient applications while streamlining their operational processes.
By sweeping away the complexities of server and infrastructure management, serverless technology offers a host of advantages that make it an appealing choice for modern application development. Here are the main reasons why many organizations are choosing serverless architectures over traditional, non-serverless alternatives:
The serverless circles have been abuzz about a recent Amazon Prime Video blog post. The article chronicles how the streaming giant grappled with significant scaling and cost issues with their audio/video monitoring service. Their initial architecture, built on distributed serverless components, led to costly operations and considerable scaling bottlenecks, inhibiting the system’s ability to monitor an increasing number of streams effectively.
The main expense drivers were the orchestration workflow and data transfers between components. Notably, a high number of state transitions for every second of the stream quickly led to account limits. Moreover, passing video frames among different components via an Amazon S3 bucket resulted in costly Tier-1 calls.
Prime Video apparently rearchitected the service to overcome these challenges, transitioning from a distributed to a monolithic system. This involved compiling all components into a single process, thus eliminating the need for an intermediary S3 bucket for video frames storage and reducing the complexity of orchestration logic. Data transfer was now facilitated within the process memory, and orchestration that controls components within a single instance was implemented.
This supposed shift to a monolithic architecture drastically cut infrastructure costs by over 90% and significantly amplified the service’s scaling capabilities.
This unexpected shift to a monolithic architecture by Prime Video and the resulting enhancements and drastic cost reduction have sparked a flurry of debates across DevOps and systems architecture communities. Could it be that Amazon, a global pioneer of microservices and serverless architectures, is signaling a revival of traditional monolith structures in some of its products?
Monoliths are bad, right?
However, a closer reading of the Prime Video case suggests there’s more going on than meets the eye. In the next blog in this series, we’ll dive into the Prime Video case in more detail and analyze the intricacies of Amazon’s architectural decision.