本文还将探索使用 Deltacloud 启动 ">Amazon EC2 上的实例的一些示例,并获得关于 IBM® SmartCloud 上的实例的信息。
Apache Software Foundation Incubator 于 2011 年 10 月推出了 Apache Deltacloud,这是一个基于 Web 的框架,允许您使用单个 Web 应用程序或应用程序编程接口 (API) 管理多个不同云提供商的实例,如 Amazon Elastic Compute Cloud (Amazon EC2)、Windows Azure、OpenStack 和 IBM SmartCloud。本文将告诉您如何在您的计算机上安装和设置 Deltacloud。请参阅示例,学习如何使用 Deltacloud 启动 Amazon EC2 上的实例,以及如何获得关于 IBM SmartCloud 上的实例的信息。
了解、安装和运行 Apache Deltacloud
Deltacloud 是一个用 Ruby 编程语言实现的 Web 应用程序,您可以在自己的环境中本地安装和执行它。 Deltacloud 使用了驱动程序(driver) 的概念,这是一个连接到不同云提供商的适配器。指定您希望 Deltacloud 使用的驱动程序,然后允许 Deltacloud 代表您将命令发送给不同的云提供商。
您不需要直接与不同的云提供商交互,您可以与 Deltacloud 交互。这使您能够创建可移植的脚本来执行操作,比如创建计算机实例。您可以编写脚本调用 Deltacloud 发现的 Representational State Transfer (REST) API。换句话说,对于为了在云中配置计算机而编写的任何脚本,可以使用 Deltacloud 作为一个外观(facade)模式。
高级架构
在您的各种桌面都可以访问的服务器上安装 Deltacloud。您可以从桌面浏览到 Web 应用程序,也可以执行调用 RESTful API 的脚本。Deltacloud 使用驱动程序将您的请求转换为一个您所连接的云提供商能够理解的请求。图 1 提供了一个高级的示意图,说明这种交互。
图 1. Deltacloud 的高级架构
接下来,了解如何在系统上安装 Deltacloud,并用它处理由 Amazon 或 IBM 托管的虚拟机 (VM) 实例。
安装 Deltacloud
一旦您解决了所有依赖关系,Deltacloud Web 应用程序的安装就会相对简单一些,这些依赖关系是相当重要的。为了安装 Deltacloud,您需要安装以下工具:
Ruby 1.8.7+ RubyGems 1.3.7+ G++ libxml2 和 libxml2-dev libxslt 和 libxslt-dev 若干个 Ruby gems,包括 thin、sinatra、rack-accept、rest-client、sinatra-content-for 和 nokogiri
在一个可以为您处理依赖关系的 Linux® 版本上安装所有这些依赖关系要容易得多,因为任何这些依赖关系都可能有其他依赖关系。在一个极少安装的标准系统上,您可能需要花费大部分时间让系统准备好执行下一步操作。