AWS Cloudformation: A Gift from AWS to IT professionals

Whenever we do a job/task in Personal or Professional life where we need to do 2 to 4 things to complete that job, lets say if we do gardening, for that we need to perform some tasks like:

Sweep Patio and Sidewalk

Check for Weeds

Cultivate some Soil

Mulch some Soil

Water some Plants that Need It

Fertilize any Shrubs and Trees that Need Fertilizing

Prune any Shrubs and Trees that Need Shaping

Obviously, It takes time!. But If there is someone who can do these things like a robot then we can save our time & hard work & spend that time in some other tasks. It will be like a gift to us & we will be super happy.

In the same way, AWS gave a gift to IT professionals in form of Cloudformation.

Now the question is how Cloudformation is a gift for AWS IT professionals ?

Let assume that there is a scenario where we need to launch a mid-level web application, which has the following requirements:

2 instances with 4 GB RAM & 2 vCPUs

Amazon Linux machine image

Load Balancer

1 RDS

2 Elastic IPs

Security group

Authentication key

Install Apache web server in both instances

Configure apache server

If we launch all the needed resources manually it would take time and would be a hectic process. But Cloudformation made it easy. AWS CloudFormation provides a common language for us to describe and provision all the infrastructure resources in the cloud environment. CloudFormation allows us to model and provision Infrastructure for our application by using a text(template) file, in an automated and secure manner across all regions and accounts. Cloudformation file is nothing but a Template file. AWS CloudFormation uses these templates as blueprints for building AWS infrastructure resources. We can write these templates in 2 simple languages:

JSON

YAML

Here are the Template Anatomies which we need to mention as per need:

AWSTemplateFormatVersion

Description

Parameters

Mappings

Conditions

Transform

Resources

Outputs

There is one more concept called Stack. When we use AWS CloudFormation, resources that we are going to launch are managed as a single unit called stack. We can create, update, and delete resources by creating, updating, and deleting stacks.

After describing resources in Template and launching a stack, Cloudformation will take care of everything, it means Cloudformation will launch all infrastructure resources and perform all the operations what we have mentioned in Template.

But IT Professionals are looking forward for Cloudformation automation too. It means they do not want to perform the few steps of creating, updating or deleting stacks manually. Here are some DevOps tools which will help to automate these processes:

Ansible

Jenkins

Puppet

Chef etc.

If you are looking for more knowledge of Cloudformation or training then the following link will help you, please visit: