Agile DevOps - architecture, technical practices, and culture

Use Cloud and DevOps to build infrastructure by rapid agile iterative development using collaborative open source tools:
-chef cookbooks, puppet modules or ansible playbooks to build servers.
-Test Kitchen to deploy and test them.
-EC2Dream a graphic user interface that provides a 'single pane of glass' to do agile devops primarily on cloud servers.
-Cloud Formation or Terraform using cfndsl Ruby or Troposphere DSL for easy orchestration.
-Amazon AWS, Azure, Google Compute Engine, IBM, Openstack, Local and Hosted 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.

References
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

1 comments:

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