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:
https://www.itlearn360.com/self-paced-courses/aws-cloudformation-manual-to-automation/
For more information please reach us at training@itlearn360.com or call us at +1-800-543-5571