Cloud Formation Service (CFS)

EPAM Orchestrator supports integration with Amazon Web Services, and this is not only the ability to run VMs in AWS Cloud, but also the support of the AWS CloudFormation stacks used for automatization of infrastructure setup.

CloudFormation stacks can be used to manipulate AWS-based infrastructures and support all existing related functionality, irrespectively of its coverage by EPAM Orchestrator. This provides a big range of opportunities for EPAM Cloud users.

However, CloudFormation stacks cannot be applied to EPAM Cloud-hosted infrastructures, except for those in the OpenStack (EPAM-MSQ3) region.

Thus, EPAM Orchestrator supports a specific type of stacks - Maestro Stacks, which can be applied to resources hosted in any cloud: EPAM, AWS, or Azure.

Below, you can find the basic info on AWS and Maestro Stacks. The details are given in the Cloud Formation Guide document, attached to this page.

Have a Question?

The current page gives the general information on the service and the main workflows. However, while working with the services, our users encounter new questions they need assistance with. The most frequently asked questions on EPAM Cloud Services are gathered on the Cloud Services FAQ page.
Visit the page to check whether we have a ready answer for your question.

Maestro Stacks vs. CloudFormation Stacks

Although AWS CloudFormation and Maestro stack templates have similar goals, there are some differences in their operation principles and syntax.

The main difference is that AWS CloudFormation templates describe the state of infrastructure to be obtained, while Maestro templates describe the actions to be taken.

Therefore, the structure of templates also has some differences. At the same time, there are blocks that have similar functions and syntax. Below, you can see the generalized structures of CloudFormation and Maestro Stacks .json files:

The blocks of the same color have similar functions in stack templates. Outputs and Parameters sections have similar syntax for both template types.

In case it is necessary to use a Maestro Stack template outside EPAM Orchestrator, you can easily convert it to a CloudFormation template using the or2-convert-maestro-stack-template (or2cmst) command:

or2cmst -p project -r aws_region -f maestro_stack_file_path [-d output_aws_stack_file_path]

Here, you specify the name of the AWS region in which the stack will be run. Due to image names mapping specifics, the retrieved template will be unusable in the regions other than the one specified at the or2cmst command run.

If you need your stack to work in other regions, repeat the command for all AWS regions in which you plan to use the stack template.

The output file path (the -d parameter) defines where the resulting template (.json) will be saved. If you do not specify the output file path, the CloudFormation template text will be displayed in the console.

If you need to convert a Maestro Stack template which was uploaded to Orchestration, but you do not have it on your workstation, open the stack template in the Stack Builder wizard, copy the template text and save it in the .json format. Then use the or2cmst command described above.

CloudFormation Manipulation Commands

Maestro CLI tool has a set of commands designed to manipulate CloudFormation stacks. Below, you can see the list of the commands and their purpose:

Command Short Command Description
or2-run-aws-stack or2rawss Runs a new stack based on the specified template
or2-describe-aws-stacks or2dawss Describes the existing stacks for the specified project and region
or2-describe-aws-stack-events or2dawsse Returns the events related to the specified stack
or2-describe-aws-stack-resources or2dawssr Describes the resources created during the stack execution
or2-delete-aws-stack or2delawss Deletes the specified stack

The AWS-related commands can be used only for AWS-type regions.

Maestro Stacks Manipulation Commands

Maestro Stacks are manipulated with another set of Maestro CLI commands:

Command Short Command Description
or2-upload-file or2uf Uploads a template file to the server
or2-describe-files or2df Describes the templates uploaded to the server
or2-run-maestro-stack or2rmstack Runs a new stack based on the specified template
or2-describe-maestro-stacks or2dmstack Describes the existing stacks for the specified project and region
or2-describe-maestro-stack-resources or2dmsr Describes the resources created during the stack execution
or2-delete-maestro-stack or2delmstack Deletes the specified stack
or2-validate-maestro-stack-template or2vmst Validates the specified stack template
or2-convert-maestro-stack-template or2cmst Converts the specified Maestro Stack template to CloudFormation

Maestro Stack commands can be run in EPAM Cloud, AWS, and Azure regions.

Stack Templates

A CloudFormation Template is a simple JSON file that describes the AWS infrastructure to be created. It allows creating and using resources which are not available through Maestro CLI commands.

A template contains several sections. The Resources section is the only obligatory one. The template text should start with an open brace symbol ({) and end with a closed brace (}). Below, you can see the basic anatomy of a template with all the possible sections:

{
 "Description" : "JSON string",
 "Parameters" : { set of parameters },
 "Mappings" : { set of mappings },
 "Conditions" : { set of conditions },
 "Resources" : { set of resources },
 "Outputs" : { set of outputs }
}

For more information about templates and snippets please visit the CloudFormation Template Reference page.

Maestro Stack template has a bit different syntax and structure, but the basic approach is similar:

{
 Context : {variables list},
 Flow : {
 {Command: command name
           command details
  next[{command....}}]
  outputs: [{outputs settings}]
  parameters: [{parameters settings}]}
}

For more details on the Maestro Stack template structure, please see the attached document.

Running stacks via Management Console

EPAM Orchestration provides EPAM Cloud users with the ability to run Maestro and AWS stacks using a graphical wizard, the same which is used for running instances. The wizard is reached from the Main Page of the EO Management Console.

Follow the step by step instruction by selecting the target project, region, stack and stack parameters:

The Run Wizard is dynamic, that is, the set of custom parameters which the user has to enter for the stack execution may differ depending on the selected stack.

For the detailed description of the Run Wizard please visit the Run Wizard page.

Pricing

The stack influence on the project cost depends on the resource manipulation actions invoked by this stack.

However, you can get an approximate estimation of the resources to be created before you run the stack via the Cloud Management Console:

The estimations include three prices:

  • 100% load - the price for a VM running 24/7
  • 30% load - the price for a VM, running during standard working hours
  • Average - the average monthly price for the VM of the specified configuration.

The estimations are based on the assumption that 100% of the system storage is used. Additional volumes usage is not taken into account.

Please note that storage usage can significantly influence the actual price of your resources

Documentation

Below is a list of documents related to this section. You can find the full list of our documents in the Documentation Storage.

Please select the required document:

Cloud Formation Service Guide

The document describes Cloud Formation service usage in EPAM Cloud, explains the difference between CloudFormation and Maestro stacks, and provides guidelines on their usage for infrastructure management automation.