AWS Proton, the first fully managed application deployment platform for Container and Serverless Applications, is now available. AWS Proton allows us to connect and coordinate all of the tools required for infrastructure provisioning, code deployments and monitoring, as well as updates.
TABLE OF CONTENT1. Problem Statement2.Let’s look at the different terms associated with AWS Proton3. Service Template How to upload templates5. How to get started with AWS Proton6 Conclusion7. Conclusion7.
1. Problem Statement
Platform teams have to manage many microservices that are constantly changing in infrastructure resources and continuous integration/delivery configurations. This can be a difficult task. AWS Proton provides the platform teams with the tools to manage complexity and makes it easy for developers to deploy their code using containers or serverless technologies.
AWS Proton allows infrastructure teams to create standard templates and make them available to developers. It allows infrastructure teams to manage and update their infrastructure without affecting developer productivity.
2. Let’s look at the different terms associated with AWS Proton
Platform Team
Developers
Environment Templates
Service templates
Platform Teams
Who creates environment templates or service templates? Responsible for any changes to the infrastructure or services.
Developers
Select a registered Service Template, and then link to the source-code repository. AWS Proton then deploys and manages Service Instances that run the source code as specified in the selected Service Template.
Environment Template
AWS Proton services use an environment to share resources and policies. It can contain resources that are shared among AWS Proton instances, such VPCs, clusters and shared load balancers.
Administrators can register and create an environment template using AWS Proton. It then deploys the environment according to the environment template.
An environment template bundle includes a schema, infrastructure CloudFormation and infrastructure manifest files YAML files. They are organized by directory.
Schema file (schema.yaml).
The schema file uses OpenAPI format. It includes metadata that AWS Proton needs and a description of all input and output parameters that are injected into the Jinja parameterized CloudFormation template. Parameter definitions include information such as the name, description, type, required parameter, default value, and any other options that may be applicable. AWS Proton validates inputs based upon the schema file.
CloudFormation file (cloudformation.yaml)
CloudFormation templates are used to define the infrastructure and resources required for the service. These templates are created by administrators using standard CloudFormation techniques. Jinja is used to indicate the input parameters and output parameters.
Manifest file (manifest.yaml)
The manifest file contains a list of templates that will be used to define the service infrastructure and optional service pipeline.
A template for an organized directory of the environment
3. Service Template
A service template can include several service instances and a pipeline. An AWS Proton instance is a service that invokes a service template within a specific environment. A service template is a complete description of the infrastructure and optional services pipeline for an AWS Proton Service.
AWS Proton allows us to create and register service templates.
To create and register a service templates, the service template bundle can be used. A service template bundle includes a schema, infrastructure CloudFormation manifest, and optionally, a service pipeline CloudFormation manifest and YAML files organized according to directory.
CloudFormation file (pipeline