The AWS re:Invent 2013 experience
A comprehensive collection of articles, videos and more, hand-picked by our editors
Amazon has been enormously successful in developing its cloud services, but the public cloud provider is still trying to become more of a player in the enterprise market. CloudFormation is a solid basis for reaching this goal, but it needs further additions to truly succeed.
The CloudFormation suite streamlines the development process for delivering custom applications that run on Amazon Web Services (AWS). It allows developers and businesses to focus on designing the front end of their applications while leaving the back-end functions to AWS.
"Before CloudFormation, AWS had been lacking a development environment found with enterprise-level applications," said Jay Lyman, senior analyst for enterprise software, at 451 Research.
Amazon is behind, but trying to catch up to what other vendors offer businesses that want to build their own applications.
senior analyst, 451 Research
Many of the steps to build a new application are repetitive and time-consuming. A developer must spin up a collection of AWS resources, and, typically, programmers work with software stacks, a set of software subsystems or components needed to run an application. For example, to run a Web application, the designer must use an operating system, Web server, database management system, storage system, network, middleware, and one or more programming languages.
Once these items are collected, the developer assigns them to various roles, deals with error conditions and gets all the moving parts into the proper positions.
Where CloudFormation fits into the market
Enterprises have other choices to ease the app development process. Startups, such as GoGrid Inc., RightScale Inc. and SkyTap Inc., offer various cloud application stack templates. Established vendors, such as IBM, Microsoft Corp., Oracle Corp. and SAP Inc., have delivered enterprise-level application development tools for decades, and recently have focused their attention on delivering cloud services.
"Amazon is behind, but trying to catch up to what other vendors offer businesses that want to build their own applications," Lyman said.
While offering a significant step in easing application development, CloudFormation lacks functionality found in other systems. Enterprises want systems that offer full configuration and management of their applications. They want to control the full lifecycle of their system and software deployments, including change control of all of the components within the system. CloudFormation is really a provisioning engine -- and even at that, it leaves off the early and late parts of provisioning, such as the actual configuration of the base servers.
Configuration and customization include such items as creating the base images; controlling the OS configuration (kernels, boot parameters, etc.); selecting device drivers for consistent integration and operation; adjusting for randomly changing IP addresses in AWS; and configuring load balancing based on the notion of instance ID rather than IP address, among other things. The actual construction of the application and the configuration of the OS are done outside of CloudFormation.
About the author:
Paul Korzeniowski is a freelance writer who specializes in Software as a Service computing issues. He has been covering technology issues for more than two decades, is based in Sudbury, Mass., and can be reached at firstname.lastname@example.org.