When I first started working with serverless offerings from AWS, I was coming from a traditional infrastructure background using services like EC2, Kubernetes, and RDS. I immediately saw the value in what serverless had to offer but the paradigm shift to serverless often felt more like a maze than a straightforward path.
In this guide, I distill the essence of what I’ve learned, transforming years of trial and error into straightforward insights. Whether you’re stuck getting started, puzzled by service selection, or simply looking for a better understanding of what AWS serverless is, this series of blogs aims to help build a better understanding of building with AWS Serverless.
This is the overview I wish I had when I started building with AWS Serverless. I think once you get a grasp of these concepts you can start to leverage Serverless and build solutions quickly. I hope it can help someone get more comfortable and excited about building on AWS and most importantly, ship more software solutions out to the world.
In this first post, I want to set the stage a bit and provide some context about AWS and its Serverless offerings.
First off I think the term “serverless” is weird, but I am not going to waste time trying to define what is serverless and what isn’t. Instead, just know that I view any managed infrastructure service as “serverless”. Even if it’s partially managed, it’s still “serverless” to me.
To me, there are 9 essential AWS Serverless services. Yes, many other services are considered “serverless” or managed and all of them can be useful. But these are the essential ones in the AWS domain that I think you should explore first. With these tools, you can create a solution for 90% of use cases.
Here is a brief overview of each service.
/my-endpoint
to a Lambda functionThere are of course significant downsides to using serverless, which we will explore in a later post, but there are a lot of benefits as well.
The whole point of AWS Serverless is to rapidly build products and services with leverage. So when building and growing a new product or service that has zero users, serverless is often a great fit. Furthermore, these services provide a standard tool belt for you to easily scale your solutions once they start getting traffic (again, this comes with trade-offs that we will explore later).
In the next post, we will explore infrastructure as code and the many options and frameworks that exist.