在开发云计算服务方面,Amazon公司已经取得了巨大的成功,但是这家公共云计算供应商仍然在力争成为企业市场中的重要一员。而CloudFormation正是该公司实现这一目标的一个坚实基础,但是距离真正的成功还需付出更多。
CloudFormation工具套件简化了交付在Amazon Web服务(AWS)上运行的客户应用程序的开发过程。它可允许开发人员和企业把更多的精力集中于设计他们应用程序的前端而把后端功能交给AWS负责。
“在CloudFormation出现之前,AWS一直都缺乏一个专用于企业级应用程序的开发环境,”451研究的企业软件高级分析师Jay Lyman说。
在开发一个新应用程序的过程中有很多的步骤都是重复和耗时的。开发人员必须综合使用各种AWS资源,通常情况下程序员在进行应用程序开发过程中需要使用软件栈、一套应用程序运行时所需的软件子系统或组件。例如,如果要开发出一个能够正常运行的网络应用程序,设计者必须使用一个操作系统、网络服务器、数据库管理系统、存储系统、网络、中间件以及一种或多种编程语言。
一旦收集好这些资源,开发人员就可为它们分配不同的角色,处理错误情况并将所有的移动部件部署在适当的位置。
CloudFormation通过向开发人员提供实现AWS资源自动化管理的集中化工具的方式来简化他们的应用程序开发过程。使用这个工具,将更易于开发、管理和部署应用程序栈。CloudFormation可允许用户在AWS环境中调试功能,例如启动一组Amazon机器镜像、配置一个安全组或伪防火墙、设置弹性负载平衡以及配置AWS CloudWatch监控和报警等。它还配备了“即时运行”的样例模板,其中包括WordPress、Tracks以及使用Git引擎的wiki gollum。所有这些内容都可通过一个用JavaScript对象符号语言编写的模板进行管理,该模板主要涉及相关的设置步骤。
CloudFormation的市场突破口
但是在简化应用程序开发过程方面,企业用户可以有其他更多的选择。诸如GoGrid公司、RightScale公司和SkyTap公司这样的初创企业就提供了不同的云计算应用程序栈模板。而象IBM、微软、甲骨文以及SAP这些老牌厂商更是在过去的几十年中一直提供着企业级应用程序开发工具,而在近期则一直致力于提供云计算服务。
“Amazon虽然落后于其他厂商,但是它一直都在努力赶上大部队,为企业用户提供构建他们自己应用程序的工具,”Lyman说。
虽然 CloudFormation在简化应用程序开发方面实现了一个大的跨越,但是它还未能提供其他系统中已具备的功能。企业用户需要的系统应能够提供对他们应用程序的完全配置和管理。他们需要对他们系统和软件部署进行完整的生命周期控制,其中包括了对在系统内部所有组件的变更控制。CloudFormation是一个真正的配置引擎,但是即便如此,它也放弃了部分配置工作,如基础服务器的实际配置。
配置和定制工作包括:创建基本镜像;控制操作系统配置(内核、启动参数等);为一致性的集成和运行选择设备驱动程序;为在AWS中随机变化的IP地址进行相应调整;根据实例ID而不是IP地址的概念进行负载平衡配置,等等。当然应用程序的实际构建工作和操作系统的配置都不属于CloudFormation的功能范围。