Introduction to AWS Proton
AWS Proton simplifies the deployment and management of modern applications by offering a managed platform for infrastructure and code.
AWS Proton is a fully managed application deployment service that automates infrastructure provisioning and code deployments for serverless and container-based applications. It empowers platform teams to define, provision, and manage self-service templates for developers, thereby enforcing consistent standards and best practices across an organization's cloud-native applications.
AWS Proton simplifies the deployment and management of modern applications by offering a managed platform for infrastructure and code.
Proton organizes infrastructure and application definitions into distinct components.
AWS Proton utilizes several key components to manage and automate application deployments:
The end-to-end process of using AWS Proton involves a collaboration between platform and development teams.
💡 To standardize infrastructure and enforce best practices.
Platform team uses CloudFormation or Terraform to define 'Environment Templates' (e.g., shared VPC, ALB) and 'Service Templates' (e.g., Fargate service, Lambda function with associated resources). Stores these templates in a Git repository (e.g., AWS CodeCommit, GitHub) and registers them with AWS Proton.
💡 To quickly deploy application components with pre-approved infrastructure.
Developer chooses an available 'Service Template' from the Proton catalog, provides application-specific parameters (e.g., repository URL, desired compute capacity), and submits a deployment request to Proton.
💡 To automate the setup of underlying resources and application code deployment.
Proton provisions the underlying infrastructure for the service (e.g., ECS Fargate service, RDS database) based on the template, executes the CI/CD pipeline defined in the service template to deploy the application code, and continuously monitors the deployed service and its infrastructure.
💡 To maintain up-to-date and consistent infrastructure definitions across all services.
Platform team updates template versions in Git. Proton facilitates controlled rollout of these updates to existing services/environments and automatically detects and reports configuration drift between deployed instances and their templates.
AWS Proton is well-suited for several scenarios in cloud-native application development and operations.
AWS Proton offers several advantages for organizations adopting cloud-native development.