Bookmarks
A managed delivery service for deploying container and serverless applications.
Uses templates to define and maintain standard application stacks, which include the architecture, infrastructure resources, and the CI/CD pipeline.
Concepts
Templates
Manage and provision resources using Infrastructure as Code (IaC).
Environment Template – a shared infrastructure used by multiple applications or resources.
Standard Environment Template – AWS Proton provisions infrastructure for your environment.
Customer-managed Environment Template – provision your own shared resources.
Service Template – the infrastructure required in a particular environment to deploy and manage a single application or microservice.
Supports the following IaC providers:
AWS CloudFormation
Terraform
Template bundles
An IaC file with a manifest YAML file.
A schema YAML file for IaC file input parameter definitions.
Versioned templates
Minor version – backward compatibility is supported.
Major version – backward compatibility is not supported
Compatibility is determined solely based on the schema.
Template sync configurations
To allow AWS Proton sync from template bundles located in registered git repositories.
If it detects a template bundle change, it creates a new minor or major version of its template.
Environments
It represents the set of shared resources and policies into which AWS Proton services are deployed.
Contains resources that will be shared across AWS Proton service instances.
VPC
Clusters
Load Balancers
API Gateways
Environment provisioning options:
AWS-managed provisioning
AWS-managed provisioning to another account
Self-managed provisioning
You can create an AWS Proton environment from one account and provision using environment account connections.
Services
A service is an instantiation of a service template, including service instances and pipelines.
A service instance is a collection of AWS infrastructure resources used to run an application in an environment.
You can create a service template with or without a service pipeline.
When you build a service, you must create at least one service instance.
Components
Allows you to define supplemental AWS infrastructure resources that a certain application may require in addition to those provided by the environment and the service instance.
Directly defined components enable you to define and provision additional infrastructure.
Components states:
Attached
Extends the infrastructure of a service instance.
It is associated with a service instance and an environment.
Detached
Maintain component infrastructure between service instance attachments.
It is associated with an environment.
Repositories
A repository link is a set of properties that can be used by AWS Proton when connecting to a repository.
Code Repository
It is where you store the application code.
Used for code deployment.
Template Repository
It is where you store template bundles.
Used for template sync.
You can also upload your templates to Amazon S3 and use the AWS Proton API to access them.
Infrastructure repository
Host rendered infrastructure templates.
Used for self-managed provisioning of resource infrastructure.
Pipeline repository
Used to create pipelines.
Used for self-managed provisioning of pipelines.
Monitoring
You can use EventBridge to receive notifications when the state of AWS Proton provisioning workflows changes.
An event rule captures status changes for your AWS Proton service.
Events are made up of rules that include an event pattern and targets.
Event pattern – each rule is expressed as an event pattern, which includes the source, type, and event targets.
Targets – create a target service to send notifications, collect state information, take corrective action, start events, or perform other tasks.
Pricing
You are charged for AWS resources that you create to store and run your application.
References:
https://aws.amazon.com/proton/
https://docs.aws.amazon.com/proton/latest/userguide/Welcome.html