This whitepaper is for historical reference only. Some content might be outdated and some links might not be available.
Infrastructure as code and platform automation
When you define your cloud resources as code, you spend less time
creating and managing the infrastructure and achieve better operations through reusability and reduced
changes of error. As with other AWS services, AWS CloudFormation provides you
a way to model and set up your container resources. AWS CloudFormation templates are formatted text files in JSON or YAML.
These templates describe the resources that you want to provision in your AWS CloudFormation stacks. All AWS container
services have AWS CloudFormation support, providing you with an option to script your container infrastructure on AWS. AWS CloudFormation
is powerful in its capabilities, but if you're unfamiliar with JSON or YAML,
AWS also provides other options to script your container environments.
AWS Copilot
CLI is a tool for developers to build, release, and operate
production-ready containerized applications on Amazon ECS and AWS Fargate. Copilot takes best
practices from infrastructure to continuous delivery, and makes them available to customers
from the comfort of their command line. You can also monitor the health of your service by
viewing your service's status or logs, scale up or down production services, and spin up a new
environment for automated testing. For Amazon EKS, eksctl is a simple CLI tool for creating and managing
clusters on Amazon EKS. It uses AWS CloudFormation under the covers, but allows you to specify your
cluster configuration information using a config file, with sensible defaults for
configuration that is not specified. If you prefer to use a familiar programming language to
define cloud resources, you can use
AWS Cloud Development Kit (AWS CDK). CDK is a software
development framework for defining cloud infrastructure in code
and provisioning it through AWS CloudFormation. Today CDK
supports TypeScript, JavaScript, Python, Java, C#/.Net, and (in
developer preview) Go. Amazon EKS Blueprints
helps you compose complete Amazon EKS clusters, fully bootstrapped with
the operational software that is needed to deploy and operate workloads. A blueprint defines configuration
for the desired state of your Amazon EKS environment, such as the control plane, worker nodes, and Kubernetes add-ons.
Blueprints can be implemented using Terraform or CDK.
Platform engineering is a discipline that promotes the idea of self-provisioning infrastructure
on demand. This reduces friction within an organization and allows development teams to move in
an agile manner. AWS Proton is a fully managed
delivery service for container and serverless applications that enables platform engineering teams to connect
and coordinate all the different tools needed for infrastructure provisioning, code deployments, monitoring, and updates.