Modern Application Strategy Service

Choosing a modern application strategy

Determine which modern application development approach is the best fit for your organization

Overview of modern application development on AWS

AWS provides you with the flexibility to choose different compute options to build and run modern applications that map to your business needs. We provide you with access to the right operational model for your compute choice.

Developers and data engineers prefer a level of autonomy when choosing which compute models match which workloads. When initially developing modern applications, development teams need to manage and operate their applications directly.

As more workloads are developed, you might decide to create central platform or operations teams. The function of these central teams varies: some provide standard architectures and templated patterns for development teams to use, and others operate and manage workloads on behalf of multiple development teams.

These central teams strive to create standards for controlling costs, achieving the right performance and security, simplifying operations, and providing common architecture patterns. Achieving the right balance between autonomy and standardization is a challenge that enterprises and other large organizations often deal with.

It is common to choose one of two operational models to meet this challenge: serverless compute , or Kubernetes .

Key concepts

For developers and data engineers, we recommend that you evaluate the most appropriate compute option on a workload-by-workload basis within your operational strategy. Here are some of the key concepts to consider when determining your strategy.

Use cases

Build and deploy applications faster while maintaining control over your development environment and infrastructure costs.

Operational efficiency
Development team autonomy
Scalable platform management
Rapid innovation

Compare options

AWS offers different container options, such as Amazon ECS, serverless containers with AWS Fargate , and AWS App Runner, and different Kubernetes options, such as Amazon EKS, ROSA, and self-managed Kubernetes on Amazon EC2.
Modern application approach When would you use it? What workload is it optimized for? Serverless services
Serverless

Use when AWS managed services and tools are your first choice, such as Lambda, AWS App Runner, and Amazon ECS.

Optimized for enabling developers to focus solely on writing code without the need to manage or provision servers, minimizing operational overhead.

Amazon ECS

AWS App Runner

Fargate

Lambda

Kubernetes

Use when Kubernetes is your primary compute platform interface.

Optimized for teams with central platforms teams that invest in platform engineering skills. Platform engineers are skilled at keeping clusters up to date with the fast-moving CNCF Kubernetes versioning strategy.

Amazon EKS

ROSA

Start building

Now that you have determined which approach best fits your workload for your environment, we recommend that you review the following service-specific resources to help you begin implementing your approach. This includes links to in-depth documentation, hands-on tutorials, and other key assets to help get you started.

Amazon ECS

Getting started with Amazon ECS

We provide an introduction to the tools available to access Amazon ECS and introductory step-by-step procedures to run containers.

Explore the guide

Tutorials for Amazon ECS

Explore more than a dozen tutorials on how to perform common tasks, including the creation of clusters and VPCs.

Get started with the tutorials

Containers on AWS

Learn about containers on AWS through blog posts, code patterns, and visuals.

Explore the site

Amazon ECS deployment

This whitepaper offers an overview of Amazon ECS deployment options on AWS and shows how it can be used to manage a simple containerized application.

Explore the whitepaper

Amazon ECS Immersion Day

This workshop expands on your foundational understanding of containers and provides practical experience scaling, monitoring, and managing container workflows using Amazon ECS and Fargate.

Explore the workshop

AWS App Runner

Getting started with AWS App Runner

Learn how to configure the source code and deployment, service build, and service runtime to deploy your application to App Runner.

Get started with the tutorial

AWS App Runner: From code to a scalable, secure web application in minutes

Explore how AWS App Runner was designed to make it easier for you to deploy web apps and APIs to the cloud, regardless of the language they are written in, even for teams that lack prior experience deploying and managing containers or infrastructure.

Read the blog post

Deploy a web app using AWS App Runner

Learn how to deploy a containerized web app using AWS App Runner. Start with your source code or a container image. App Runner automatically builds and deploys the web application and load balances traffic with encryption.

Get started with the tutorial

AWS Fargate

Getting started with AWS Fargate

Understand the basics of Fargate, a technology that you can use with Amazon ECS to run containers without having to manage servers or clusters of EC2 instances.

Explore the guide

Getting started with the console using Linux containers on Fargate

Get started with Amazon ECS on Amazon ECS by using the Fargate launch type for your tasks in the Regions where Amazon ECS supports Amazon ECS.

Get started with the tutorial

AWS Lambda

What is AWS Lambda?

Learn more about AWS Lambda, a compute service that lets you run code without provisioning or managing servers.

Explore the guide

Using AWS Lambda with other services

Explore common use cases, learn how invocation works and includes a table that covers the services that work with Lambda and how it can be invoked from that service.

Explore the guide

Serverless Land

Get the latest information, blogs, videos, code, and resources for AWS serverless.

Explore the site

Guide to AWS Lambda Pricing

Explore and understand AWS Lambda pricing. You are charged based on the number of requests for your functions and the duration it takes for your code to start.

Explore the guide

Amazon EKS

Getting started with Amazon EKS

Learn more about Amazon EKS, a managed service that you can use to run Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane or nodes.

Explore the guide

Deploy a Kubernetes application

Learn how to deploy a containerized application onto a Kubernetes cluster managed by Amazon EKS.

Get started with the tutorial

Amazon EKS workshop

Explore practical exercises to learn about Amazon EKS.

Visit the workshop

Streamline Kubernetes cluster management with Amazon EKS Auto Mode

Learn how you can automate cluster management without deep Kubernetes expertise using Amazon EKS Auto Mode.

Read the blog post

Use your on-premises infrastructure in Amazon EKS clusters with Amazon EKS Hybrid Nodes

With Amazon EKS Hybrid Nodes, you can unify Kubernetes management across your cloud and on-premises environments, and take advantage of the scale and availability of Amazon EKS in all the places your applications need to run.

Read the blog post

ROSA

Getting started with Red Hat OpenShift Service on AWS

Learn how to get started using Red Hat OpenShift Service on AWS.

Explore the guide

Why would you use ROSA?

Learn when you might use ROSA over standard Kubernetes and explore ROSA in depth.

Watch the video

Resources