Containers and Serverless Recommendation Guide

Unlock the power of modern application development. Accelerate innovation, enhance performance, fortify security, and boost reliability while significantly reducing your TCO.

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 icon

Serverless operating model

A serverless operating model provides the easiest model for scaling and managing cloud applications by shifting as much management of the underlying infrastructure resources to AWS as possible, so development teams can focus on writing code that solves business problems. With AWS serverless services, you leverage AWS’s best practices and expertise to improve your performance, scalability, availability, and security.
Kubernetes operating model icon

Kubernetes operating model

Kubernetes makes it easier to automate and standardize the deployment, scaling, security, management, and observability of containerized applications for customers who are managing large, complex, and dynamic distributed systems. Kubernetes enables customers to leverage the same APIs and skillsets for running infrastructure across environments, such as across their organization or in the cloud and on premises.
No model option icon

I don’t have an operating model preference

If you don't have an operating model preference and are not currently planning to use Kubernetes, we recommend proceeding with a serverless operating model as this option helps you manage less and have AWS provide as much assistance as possible. Most customers who are well-suited for running Kubernetes already know they want to run Kubernetes.

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 flexibility

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.