“It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.” — Charles Darwin

“DevOps is a set of practice that seeks to reduce the gap between software development and software operation.”

Use Cloud and DevOps to build immutable infrastructure by agile development using collaborative open source tools:
-Terraform or Cloud Formation for infrastructure provisioning and scaling.
-Packer for building server images or containers using:
-chef cookbooks, puppet modules or ansible playbooks to build servers.

Amazon CloudFormation

Amazon CloudFormation is a new way of provisioning software stacks in Amazon EC2. Instead of issuing commands (or running a script) against the different Amazon AWS services you just specify a template JSON file with all your requirements. For example the sample WordPress Template.

Simple CloudFormation API
Once a Template "Stack" is defined you can use the CloudFormation API command CreateStack, passing runtime parameters to the template, to start the Software Stack. Similarly there is a DeleteStack command plus several other commands to display events etc.

Template Layers
Amazon provide a number of sample templates. These are Monolithic and the problem with them is that as systems get bigger and more complex the monolithic template is harder to debug and takes longer to run and rollback in case of failure. So it is best to break down the monolithic templates into layers. Define your VPC network in one template, the instances in another and the autoscaling in a third for example.

CloudFormation templates are ideal for creating the environment for your application. For example creating the VPC. Then it becomes easier to create separate testing and production environments using the sample template. The best way to write cloud formation scripts is in yaml and use a parameter for each environment see Example .

Configuration Management
The best way to build servers is still to use configuration management tool like Chef, Puppet and Ansible. CloudFormation controls the Amazon AWS resources. Amazon has various helper scripts like cfn-init but these are not idempotent so are may not be rerunnable.

Create Your AWS Stack From a Recipe
AWS CloudFormation in the AWS Management Console
Integrating AWS CloudFormation and Chef
Using Amazon's CloudFormation, cloud-init, chef and fog to automate infrastructure
The Impact of Amazon’s new CloudFormation service


pvahora said...

Pretty section of content. I simply stumbled upon your site and in accession capital to say that I get actually enjoyed account your blog posts. Anyway I will be subscribing in your augment and even I success you access constantly fast.
Magento ecommerce Developer

Post a Comment