eWeek has an article about Amazon’s new CloudFormation services. Think of it like this. If you have an application, chances are that this application relies on a variety of database, application, storage, and other services. When you want to scale up and down or you want to move things around, it can be a pain to bring up everything needed to run your application. There exists a lot of dependencies. Don’t forget to provision all the necessary services and make sure they are in the right order.
With that in mind, Amazon create CloudFormation services that lets you use existing templates or create your own to make management of the entire lot more simple and easier. I’ve been thinking a lot about where the cloud has to go before we are all completely ready to jump on the bandwagon without looking back. It would include:
- hardware high availability
- database high availability
- load balancing between your computing resources
- Plenty of storage and the ability to create the equivalent of a SAN
- Ways to put it in the equivalent of multiple data centers to handle regional issues. (Have you ever tried to upload a document to a US data center from Russia??????)
- Ways to manage the variety of moving parts. (AWS Cloud Formation takes care of this one)
With AWS CloudFormation, customers describe “what” resources are needed, and AWS CloudFormation takes care of “how” those resources are provisioned. For example, AWS CloudFormation templates concisely capture resource relationships, such as Amazon Elastic Compute Cloud (Amazon EC2) instances that must be associated with an Elastic Load Balancer, or an Amazon Elastic Block Store (Amazon EBS) volume that must be in the same Availability Zone as the Amazon EC2 instance.
These templates free developers from having to think about and navigate these types of interdependencies. In addition, customers can use AWS CloudFormation templates to create identical copies of the same AWS infrastructure stack that will run over and over as needed, removing the need for developers to manually re-create an application’s stack for each deployment.