Deployment Workflow

As explained in the transformation workflow chapter, the target artifact generated by the transformation is not a single CloudFormation template, but rather a template, additional files and scripts all needed for the deployment.

Therefore, additional steps are required besides just simply deploying the template to CloudFormation. This chapter explains these steps as the intended workflow of the deployment.

Deployment Step-by-Step

Before the deployment begins, we start with the target artifact generated by the transformation with the CloudFormation plugin.

Target Artifact

Note: The images used in this document are taken from the deployment of the LAMP example explained in Transformation by Example chapter. Other transformations may differ in specifics but the general deployment behaviour is the same.

The deployment can be divided into several steps. These steps are done through the use of bash scripts. For further information about these scripts, please refer to the target artifact chapter. The execution of these steps follows the order specified below.

1. Create an S3 Bucket

Deployment Step 1

The first step in the deployment is the creation of an S3 bucket in order to store any additional files needed for the deployment of the template.

2. Upload Files

Deployment Step 2

Once the S3 bucket is created, the necessary files can be uploaded to Amazon S3. During the transformation, specific resources were added to the CloudFormation template in order to allow authenticated access to these files from the EC2 instances that need them.

3. Deploy Template

Deployment Step 3

At this point, all necessary requirements in order to deploy the CloudFormation template have been met. The creation of the CloudFormation stack is initiated by deploying the CloudFormation template.

4. Create the CloudFormation Stack

Deployment Step 4

Finally, the CloudFormation stack containing the Amazon resources specified by the CloudFormation template is created. The following actions take place on the AWS platform and are not influenced by the deployment scripts.

As a part of the deployment, the EC2 instances are bootstrapped with CloudFormation-Init (See chapter Transformation by TOSCA type for more information). The files needed for bootstrapping the instances are supplied by the previously created S3 bucket.

Once all resources have been created and CloudFormation-Init has finished, the deployment is complete.

Deployed CloudFormation Stack