Which containers or serverless service should I start with to modernize my existing or build new applications?
There are two primary operating models for building, running, and modernizing code on AWS: Kubernetes and Serverless. Many customers choose one or the other, and some use both depending on the application. For the job you have in mind, select the one you want to start with. If you need help, click here.
Serverless operating model
Kubernetes operating model
I don’t have an operating model preference
Help me understand
Through working closely with customers, we’ve learned that the first decision customers tend to make is whether they want to deploy their application (or build a development platform) off a serverless operating model or a Kubernetes operating model. The factors that weigh in on a decision are often based on the benefits or characteristics customers are looking for in a particular technology stack for a particular application (or potentially an entire organization). Typically, for any given application we see customers choose between the two options as follows:
Serverless Operating Model
For organizations who want it to be as fast and easy as possible to build and run applications on the cloud, we recommend AWS Serverless services (e.g., AWS Lambda or Amazon Elastic Container Service (Amazon ECS) with AWS Fargate). Customers that embrace deploying and building around the AWS serverless operating model:
Offload heavy lifting
Want to offload as much undifferentiated heavy lifting to AWS as possible.
Don't have robust operations
Are less likely to have robust operations or site reliability engineering (SRE) team, and may favor a DevOps model where teams own development and operations.
Prefer to simplify approach
Prefer AWS to simplify the approach to building and running applications by providing opinionated experiences.
Kubernetes Operating Model
For organizations with operations or SRE teams looking to build application delivery platforms for their developers on Kubernetes, AWS provides a managed solution that makes it easier to build and run a highly scalable and secure AWS Kubernetes platform. Customers that embrace deploying and building around the AWS Kubernetes model:
Have robust operations
Have a more robust operation or SRE team that takes on much of the ownership of running workloads rather than development or DevOps teams.
Are committed to Kubernetes
Have an existing commitment to Kubernetes and Kubernetes skill sets.
Know how their apps run
Have stronger opinions or requirements about how their applications run that may not fit with AWS serverless defaults.
Want the flexibility to choose from the widest ecosystem of solutions possible, and incorporate software from the Cloud Native Computing Foundation (CNCF) ecosystem.
Want to maximize portability
Want to maximize portability of workloads across infrastructure.