AWS decision-guides documentation change
Summary
Expanded Kubernetes automation tools list with specific project links
Security assessment
Added technical references without explicit security context
Diff
diff --git a/decision-guides/latest/modern-apps-strategy-on-aws-how-to-choose/modern-apps-strategy-on-aws-how-to-choose.md b/decision-guides/latest/modern-apps-strategy-on-aws-how-to-choose/modern-apps-strategy-on-aws-how-to-choose.md index 9375bb856..a4211f608 100644 --- a//decision-guides/latest/modern-apps-strategy-on-aws-how-to-choose/modern-apps-strategy-on-aws-how-to-choose.md +++ b//decision-guides/latest/modern-apps-strategy-on-aws-how-to-choose/modern-apps-strategy-on-aws-how-to-choose.md @@ -13 +13 @@ IntroductionUnderstandConsiderChooseUseExplore -**Last updated** | November 23, 2023 +**Last updated** | May 16, 2025 @@ -31 +31 @@ Developers and data engineers prefer a level of autonomy when choosing which com -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. +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. @@ -35 +35 @@ These central teams strive to create standards for controlling costs, achieving -It is common to choose one of two operational models to meet this challenge: [serverless compute](https://serverlessland.com/learn/Getting-started) or [Kubernetes](https://aws.amazon.com/kubernetes/). +It is common to choose one of two operational models to meet this challenge: [serverless compute](https://aws.amazon.com/serverless/) or [Kubernetes](https://aws.amazon.com/kubernetes/). @@ -37 +37 @@ It is common to choose one of two operational models to meet this challenge: [se -Decision guide co-author Josh Kahn reflects on modern applications development strategy choices. +In this six minute video, decision guide co-author Josh Kahn reflects on modern applications development strategy choices. @@ -41 +41 @@ Decision guide co-author Josh Kahn reflects on modern applications development s -Developers and data engineers may have different compute requirements. For example, a developer might choose AWS Lambda because it is optimized for event-driven patterns and gives access to hundreds of managed integrations. +Developers and data engineers might have different compute requirements. For example, a developer might choose AWS Lambda because it is optimized for event-driven patterns and gives access to hundreds of managed integrations. @@ -45 +45 @@ Alternatively, a data engineer might choose an open-source framework like KubeFl -Guide co-author Roland Barcia discusses the key criteria to consider in choosing your strategy. +In this three minute video, decision guide co-author Roland Barcia discusses the key criteria to consider in choosing your strategy. @@ -47 +47 @@ Guide co-author Roland Barcia discusses the key criteria to consider in choosing -Each role tends to develop skills in technology stacks over time, and has preferences about the tools they use, both look at their compute choice on a workload-by-workload basis, which means operational roles need to support a variety of workloads since they often work across teams. These roles include platform engineers, cloud administrators, or site reliability engineers (SREs). +Each role tends to develop skills in technology stacks over time and has preferences about the tools they use. Both developers and data engineers look at their compute choice on a workload-by-workload basis, which means operational roles need to support a variety of workloads since they often work across teams. These roles include platform engineers, cloud administrators, or site reliability engineers (SREs). @@ -55 +55 @@ The choice between serverless compute and Kubernetes as an operational model is -A good team can make the compute choice entirely transparent to developers. Poor choices can limit developers options, and lead to sub-standard outcomes. Operators are always affected by the selected operating model and it will determine needs such as common libraries and networking configuration - as well as how the organization will interact with underlying services it needs to configure. +A good team can make the compute choice entirely transparent to developers. Poor choices can limit developers' options, and lead to sub-standard outcomes. Operators are always affected by the selected operating model and it will determine needs such as common libraries and networking configuration—as well as how the organization will interact with underlying services it needs to configure. @@ -79 +79 @@ Enterprises tend to organize their development teams around one of the following -These are separate ends of a spectrum, and organizations may start with a distributed model and later migrate towards a centralized model as the number of workloads increases and the need for consistency across cost, performance and security of workloads becomes an important factor. However, in both models, serverless can reduce the infrastructure management overhead. +These are separate ends of a spectrum, and organizations can start with a distributed model and later migrate towards a centralized model as the number of workloads increases and the need for consistency across cost, performance and security of workloads becomes an important factor. However, in both models, serverless can reduce the infrastructure management overhead. @@ -90 +90 @@ Organizations standardize on automation technologies to take full benefit of the -For example, organizations have choices for tooling that automates the creation, configuration, and maintenance of infrastructure, resources, and workloads. These tools include infrastructure-as-code (IaC) tools such as Terraform, CDK, AWS CloudFormation, or other community tools. +For example, organizations have choices for tooling that automates the creation, configuration, and maintenance of infrastructure, resources, and workloads. These tools include infrastructure as code (IaC) tools such as Terraform, AWS CDK, AWS CloudFormation, and other community tools. @@ -92 +92 @@ For example, organizations have choices for tooling that automates the creation, -Organizations that use Kubernetes might use Kubernetes-based tools for automation using GitOps tools such as ArgoCD and Flux and Kubernetes API-based cloud provisioning tools like AWS Controllers for Kubernetes (ACK) or the CNCF Crossplane project. +Organizations that use Kubernetes might use Kubernetes-based tools for automation using GitOps tools such as ArgoCD, and Kubernetes API-based cloud provisioning tools like [AWS Controllers for Kubernetes (ACK)](https://github.com/aws-controllers-k8s/community), [Kube Resource Controller (kro)](https://github.com/kro-run/kro), or the [CNCF Crossplane project](https://www.cncf.io/projects/crossplane/). @@ -96 +96 @@ These tooling choices extend to tools that extend to security, testing, networki -These automation tools often have built in integrations and accelerators for compute choices. For example, AWS Serverless Application Model (AWS SAM) is optimized for serverless developers to build and quickly deploy Lambda functions. Other tools, like ArgoCD, automate the deployment and configuration of Kubernetes workloads. +These automation tools often have built in integrations and accelerators for compute choices. For example, AWS Serverless Application Model (AWS SAM) is optimized for serverless developers to build and quickly deploy Lambda functions. Other tools, such as ArgoCD, automate the deployment and configuration of Kubernetes workloads. @@ -113 +113 @@ These workloads have different architectural characteristics. The strategy adopt - * **AI/ML scientist:** Generative Artificial Intelligence (AI) Large Language Models (LLM) may require specialized compute instances such as AWS Trainium or other GPU-based architecture. + * **AI/ML scientist:** Generative Artificial Intelligence (AI) Large Language Models (LLM) might require specialized compute instances such as AWS Trainium or other GPU-based architecture. @@ -132 +132 @@ Many organizations need to create experiments to validate ideas. The ability to -This environment is often overlooked when developing a modern app development strategy, but the ability to innovate may depend on it. Enabling teams to use services that allow builders to rapidly build, test, and iterate help in discovering new business opportunities and receive feedback faster. +This environment is often overlooked when developing a modern app development strategy, but the ability to innovate can depend on it. Enabling teams to use services that allow builders to rapidly build, test, and iterate help in discovering new business opportunities and receive feedback faster. @@ -142 +142 @@ AWS offers different container options, such as Amazon ECS, serverless container -The following comparison table can help you determine your approach based on your workload requirements. You might choose pieces of both approaches, or have different teams that use different approaches. It is not uncommon to see a very large organizations have departments with different strategies. +The following comparison table can help you determine your approach based on your workload requirements. You might choose pieces of both approaches, or have different teams that use different approaches. It is not uncommon to see very large organizations have departments with different strategies. @@ -151 +151 @@ Kubernetes | Use when Kubernetes is your primary compute platform interface. | -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 include links to in-depth documentation, hands-on tutorials, and other key assets to help get you started. +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. @@ -156,4 +156,32 @@ 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](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/getting-started.html) |  **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](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-tutorials.html) ----|--- - **What's new and what's next with Amazon ECS** Learn what’s new since the launch of Amazon ECS Anywhere, new features of AWS Fargate, and a look ahead at the exciting enhancements to Amazon ECS [Watch the video](https://youtu.be/El64yANTmIA) |  **Amazon ECS deployment** This guide 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 guide](https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/amazon-elastic-container-service.html) - **Amazon ECS workshop** This workshop is designed to educate those that might not be familiar with AWS Fargate, Amazon ECS, and possibly even Docker container workflow. [Explore the workshop](https://ecsworkshop.com/) |  **Deploy Docker containers on Amazon ECS** Learn how to run a Docker-enabled sample application on an Amazon ECS cluster behind a load balancer, test the application, and delete your resources to avoid charges. [Get started with the tutorial](https://aws.amazon.com/getting-started/hands-on/deploy-docker-containers/) + * **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](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/getting-started.html) + + * **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](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-tutorials.html) + + * **Containers on AWS** + +Learn about containers on AWS through blog posts, code patterns, and visuals. + +[Explore the site](https://containersonaws.com/) + + * **Amazon ECS deployment** + +This guide 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 guide](https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/amazon-elastic-container-service.html) + + * **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 AWS Fargate. + +[Explore the workshop](https://catalog.workshops.aws/ecs-immersion-day/en-US) + + + @@ -164,3 +192,20 @@ 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](https://docs.aws.amazon.com/apprunner/latest/dg/getting-started.html) |  **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](https://aws.amazon.com/blogs/aws/app-runner-from-code-to-scalable-secure-web-apps/) ----|--- - **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](https://aws.amazon.com/getting-started/guides/deploy-webapp-apprunner/) | + * **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](https://docs.aws.amazon.com/apprunner/latest/dg/getting-started.html) + + * **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](https://aws.amazon.com/blogs/aws/app-runner-from-code-to-scalable-secure-web-apps/) + + * **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](https://aws.amazon.com/getting-started/guides/deploy-webapp-apprunner/) + + + @@ -171,3 +216,20 @@ AWS Fargate - **Getting started with AWS Fargate** Understand the basics of AWS 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](https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html) |  **Getting started with the console using Linux containers on AWS Fargate** Get started with Amazon ECS on AWS Fargate by using the Fargate launch type for your tasks in the Regions where Amazon ECS supports AWS Fargate. [Explore the guide](https://docs.aws.amazon.com/AmazonECS/latest/userguide/getting-started-fargate.html) ----|--- - **Creating a cluster with a Fargate Linux task using the AWS CLI** Learn how to set up a cluster, register a task definition, run a Linux task, and perform other common scenarios in Amazon ECS with the AWS CLI. [Get started with the tutorial](https://aws.amazon.com/getting-started/hands-on/recommendation-engine-for-games-amazon-neptune/) | + * **Getting started with AWS Fargate** + +Understand the basics of AWS 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](https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html) + + * **Getting started with the console using Linux containers on AWS Fargate** + +Get started with Amazon ECS on AWS Fargate by using the Fargate launch type for your tasks in the Regions where Amazon ECS supports AWS Fargate. + +[Explore the guide](https://docs.aws.amazon.com/AmazonECS/latest/userguide/getting-started-fargate.html) + + * **Creating a cluster with a Fargate Linux task using the AWS CLI** + +Learn how to set up a cluster, register a task definition, run a Linux task, and perform other common scenarios in Amazon ECS with the AWS CLI. + +[Get started with the tutorial](https://aws.amazon.com/getting-started/hands-on/recommendation-engine-for-games-amazon-neptune/) + + + @@ -178,3 +240,26 @@ 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](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) |  **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](https://aws.amazon.com/lambda/pricing/) ----|--- - **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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html) | + * **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](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) + + * **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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html) + + * **Serverless Land** + +Get the latest information, blogs, videos, code, and resources for AWS serverless. + +[Explore the site](https://serverlessland.com/) + + * **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](https://aws.amazon.com/lambda/pricing/) + + + @@ -185,4 +270,38 @@ 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](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) |  **Amazon EKS deployment** Explore Amazon EKS deployment options on AWS and learn how it can be used to manage a general containerized application. [Explore the guide](https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/amazon-elastic-kubernetes-service.html) ----|--- - **Amazon EKS Quick Start Reference Deployment** Using a Quick Start reference deployment guide, we provide step-by-step instructions for deploying Amazon Elastic Kubernetes Service (Amazon EKS) clusters. [Explore the guide](https://aws-quickstart.github.io/quickstart-amazon-eks/) |  **Deploy a Kubernetes application** Learn how to deploy a containerized application onto a Kubernetes cluster managed by Amazon EKS. [Get started with the tutorial](https://aws.amazon.com/getting-started/hands-on/deploy-kubernetes-app-amazon-eks/) - **Amazon EKS workshop** Explore practical exercises to learn about Amazon EKS. [Visit the workshop](https://www.eksworkshop.com/) | + * **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](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) + + * **Amazon EKS deployment** + +Explore Amazon EKS deployment options on AWS and learn how it can be used to manage a general containerized application. + +[Explore the guide](https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/amazon-elastic-kubernetes-service.html) + + * **Deploy a Kubernetes application** + +Learn how to deploy a containerized application onto a Kubernetes cluster managed by Amazon EKS. + +[Get started with the tutorial](https://aws.amazon.com/getting-started/hands-on/deploy-kubernetes-app-amazon-eks/) + + * **Amazon EKS workshop** + +Explore practical exercises to learn about Amazon EKS. + +[Visit the workshop](https://www.eksworkshop.com/) + + * **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. +