A few days ago, Amazon Web Services (AWS) released their latest offering, CloudFormation. CloudFormation allows for the templating of your application topology, from the number and kinds of servers to load balancing and databases. AWS will then provision the resources and perform the configuration for you, using the templates and any customizations you define during the formation process.
CloudFormation Will Standardize Your Cloud Topology
The software and hardware topology for your startup defines what services need to be provided, how and from where. Often, this is accomplished with a few whiteboard sessions and a diagram, then software and release engineers get busy making it a reality. The problem with this approach is that it isn’t reproduceable.
Once you need to duplicate the environment to test a pre-release version, grow the current topology based on new customer and data demands, or launch a new product offering, things can get out of hand quickly. You may have to revisit each resource, reverse-engineering how many CPUs, amount of memory, and the kinds of disk storage strategies you used to build the current system. Good luck building a similar system, especially if you can’t remember how everything was built originally.
CloudFormation will allow for the creation of templates that define server images, databases, load balancing, and other needs into a single, reproducible script. These scripts can then be re-execution for the creation of new environments as needed. This means that your staging environment can look just like your production environment. It also means that you can quickly deploy new product offerings without having to revisit the same issues that you once visited months ago. This provides consistency and maturity to any organization’s IT infrastructure.
CloudFormation Will Capture Cloud Computing Best Practices
Included in the offering is something that should not be overlooked – best practices:
Our sample templates illustrate how to interconnect and use multiple AWS resources in concert, following best practices for geographic redundancy, scale out, and alarming.
It seems that many of the AWS-provided templates provide some great starting points based on your application needs – many of which can be overwhelming when first starting to build out a cloud infrastructure. CloudFormation provides a good starting point, allowing for the customization of their templates or complete creation of new templates that capture your unique startup needs.
CloudFormation Moves the Focus from Services to Application Solutions
I agree with Jeff Schneider:
It pulls together all of the piece-parts which Amazon has been developing over the years. Finally, the picture can be painted on how Amazon can be used for complete application solutions. I tip my hat.
I’m looking forward to building some templates that capture both the best practices and recommendations of AWS, combined with my experience of cloud application and deployment for better product launches in the future.
P.S. New to cloud computing? Check out our free introduction paper that discusses the the pro’s and con’s to cloud computing.