在大部分的IT历史上,应用程序开发是在一个“基于盒子”的模式中完成的。在这个模式中,组件都是被链接至一个机器镜像,而这个镜像被托管在数据中心的一个静态服务器上。云计算具有资源灵活性和敏捷性的目标,所以它要求在应用程序组件和它们的资源中具有更动态的关联性。云计算自动动态管理就是这样一个实现的方法,但是其前提就是要进行正确规划与实施。
自动动态管理就是实现应用程序组件部署与重新部署的自动化,从而正确地建立和维护组件间的链接与应用程序间的链接。在实践中,自动动态管理将涉及两个基本要素:
1. 部署应用程序组件,其中包括了软件组件和数据库组件;
2. 创建允许组件间通信的网络连接,以及至用户与其他应用程序的连接。
虽然这个定义也适用于所有不同的自动动态管理选项和工具,但在方法上是存在着鲜明的差异的。
混合云计算应用:集成就是简单的自动动态管理
最简单的自动动态管理形式就是集成,它可在云计算部署的组件和固定应用程序与资源之间建立连接。对于一些混合云计算的应用程序来说,云计算组件与数据中心的集成可能就是唯一所需的自动动态管理过程。
从主要的软件供应商到第三方软件供应商,他们都提供了大量用于实现云计算集成功能的商业工具,而在混合云计算配置中,还有用于集成具体应用程序的预包装“配方”。请与供应商确认,以确保你的应用程序需求都包括在内。
开发运行自动动态管理工具采用基于脚本程序的方法
大部分的全功能云计算自动动态管理工具都属于开发运行产品的类别。开发运行都是基于应用程序开发人员了解应用程序必须如何被托管以及如何连接组件的原则的。在开发过程中,开发人员将创建这个部署/连接的一个开发运行“图” ,而这个图可在有需要的时候用于部署应用程序。
开发运行工具是程序性的或基于脚本程序的;在最简单的形式中,一个开发运行 程序或脚本程序可能就是一个运营团队成员用于输入以部署和连接应用程序的一个命令集。诸如IP地址这样只在部署过程中制定的信息是给出符号名称的,这是在托管组件时被填入的信息,而这些信息可在之后创建组件连接时被引用。
基于脚本程序的工具具有易于从手动过程中得到优点。它们最大的缺点是,它们描述的是过程而不是结果;一个脚本程序必须为可能遇到的一切用例提供指令。一些用户报告说,维护开发运行脚本程序的难度要比维护软件更高,因为单单阅读开发运行脚本程序是很难了解期望的结果是什么。如果使用了基于脚本程序的自动动态管理功能,那么真实记录正在完成的工作以及注意任何基本程序不适合处理的条件是非常重要的。
目前市场上有开源的和商业的开发运行工具,因此研究最适合你的公司和开发团队的工具是非常有必要的。
基于模式的方法证明了云计算供应商
基于脚本程序的自动动态管理是虚拟化中的规则,但是网络运营商和云计算供应商还是钟意于使用基于模式的方法的,因为它们提供了更好的服务生命周期管理。在基于模式的自动动态管理中,你描述了你的工作架构、创建了约束(例如运行了哪些组件和连接的类型),以及软件开发了你定义的结构。这些模式通常是易读易懂的,因为它们定义了你试图的实现而不是采用开发运行方法所需经历的步骤。IT部门可以使用这些模式来重新使用失败的应用程序元素,撤下应用程序或改变生命周期——如果使用了基于脚本程序的自动动态管理,那么所有这些都需要有它们自己独立的脚本程序。