与 F5 和 IBM 合作构建企业云

介绍

据估计,企业云(也称为私有云)的采用速度比公共云更快。 企业咨询公司埃森哲预计,到 2011 年底,私有云企业普及率将达到 77%。1 快速创建敏捷现场基础设施的举措很大程度上源于大型和小型企业 IT 部门需要对基础设施和数据进行内部控制和管理。

一旦决定采用云基础设施,内部/私有和外部/公共之间的选择就取决于成本、风险和价值的分析。 公共云通常提供灵活的方法和最大的成本节约;然而,它也存在与安全性、服务级别协议 (SLA) 和可用性以及管理相关的风险。 IT 可以以较低的进入成本获得近乎无限的规模,但却牺牲了控制权。 从传统的现场或托管数据中心迁移到外部公共云基本上就像将整个数据中心转移到别人的手中。

有了企业云,IT 就可以拥有所需的控制级别,并避免与公共云相关的风险;但私有云的部署成本更高,需要员工具备更多级别的知识和专业技能,并且会增加内部数据中心的复杂性。 企业云基础设施可以根据需要进行扩展,并提供动态配置和灵活性,但这种扩展和控制通常伴随着更高的进入成本。

F5 Networks® 和 IBM 共同设计了企业云的参考架构,以缓解与复杂性相关的许多挑战。 它将公共云的许多架构和规模组件带到了本地,从而显著降低了构建内部零碎系统的成本。 通过预定义所需组件并概述这些组件如何协同工作,F5 和 IBM 创建了完整、动态且敏捷的企业云基础架构。

工作流程

按需配置系统最重要的元素是根据事件做出决策并采取行动的能力。 系统中某个地方的事件会创建一个警报或消息,该警报或消息被某个组件(订阅了消息总线的组件或直接通过 API 调用请求的组件)接收,然后该组件对该消息采取行动。 工作流是组件对系统消息采取行动的过程和顺序。

在企业云中,工作流程通常分解为请求或放弃资源的配置组件,以及管理资源分配所需的步骤。 当虚拟机(VM) 需要额外的 CPU 资源时,就会启动一个工作流程来确定这些 CPU 资源的来源、启动新的 VM、分配 IP 地址等等。

工作流架构

F5 和 IBM 企业云架构基于两个关键原则:

  1. 有一个集中的消息总线用于承载事件通知消息,所有需要对事件采取行动的组件都绑定到该总线。
云参考架构图
云参考架构。

除了这两个原则之外,F5 和 IBM 参考架构具有极强的可塑性,这意味着它可以适应任何现有的数据中心或云架构。 例如,如果已经存在用于管理虚拟机部署的编排引擎,则可以调整此参考架构,以便使用现有引擎。 关于构建企业云的一个误解是必须更换整个基础设施;F5 和 IBM 解决方案的创建就是为了在每个可能的步骤中与现有组件集成。

工作流组件

无论哪些组件已经存在、哪些是新的,企业云工作流都是由执行特定任务的特定组件组成的。 整个云系统由这些单独的组件组成,它们协同工作以提供完整的云基础设施。 该基础设施通过组件工作流(管理云事件的协调任务)来提供支持和控制。

消息总线

消息总线是向每个受影响的组件传送基于事件和警报的消息的系统。 当事件触发消息时,该消息将通过消息总线发送到特定组件,该组件有关于如何处理该消息的规则。 消息总线还负责根据特定组件的规则规范化消息。

F5 和 IBM 参考云架构使用 IBM Tivoli Netcool OMNIbus 解决方案作为中央消息总线,但是任何企业消息总线均可用于在整个系统中传输事件通知。

编排器

可以将编排器视为企业云的大脑——该组件负责根据通过总线接收的消息做出大多数宏观配置决策。 编排器将启动云架构中的主要事件和工作流程,例如启动“配置新虚拟机”工作流程。 编排器还负责获取每个工作流所需的数据并将其提供给适用的组件;例如,编排器将提供配置新虚拟机所需的 IP 地址信息。

对于参考架构,编排器是通过使用一系列解释脚本创建的,这些脚本对来自总线的消息起作用并启动工作流事件。 可以使用任何类型的编排器,例如 IBM Tivoli Intelligent Orchestrator、HP Operations Orchestrator 或 VMware vCenter Orchestrator。

云控制器

云控制器是负责收集和汇总启动配置过程所需的初步数据的前端系统。 最初,此信息由管理员作为创建过程的一部分提供,并且特定于用于配置的每种类型的工作流。 例如,云控制器收集包括虚拟机位置、应用类别(Web 服务器、数据库服务器、邮件服务器等)和最低资源要求在内的信息。

在自动配置事件期间,一旦这些初步数据存储在系统中,编排器就会请求并提取现有信息来为配置工作流程提供种子。 云控制器的示例包括 Eucalyptus Cloud Controller、VMware vCloud Director 或 Amazon EC2。 为了未来的增长和扩展到其他云平台,选择能够集成或与一组标准云 API 通信的云控制器是一种很好的做法。 这使得云控制器能够扩展到公共或混合云提供商,而无需重新架构企业云平台。

集群控制器/虚拟机管理程序

集群控制器是企业云中负责管理正在配置的虚拟机以及运行虚拟机所需的存储和元数据的组件。 集群控制器作为虚拟机的运行环境,既包括虚拟平台虚拟机管理程序,也可以包括更大的虚拟机管理程序管理环境。 例如,集群控制器可能是基本的虚拟机管理程序,如 VMware ESXi,或者更大的分布式虚拟机管理程序系统集合,如 VMware vSphere 或 VMware vCloud。

监控

健康和状态监控是任何企业应用部署的基本要素。 监控还提供配置系统的状态更新,例如,当虚拟机启动并应答网络上的连接时。 对系统的持续监控可以提供实时警报,最终输入到新的工作流程并影响配置决策。 任何能够监控应用和网络状态的组件都可以在企业云部署中使用;然而,F5 和 IBM 参考架构中使用了 IBM Tivoli Monitoring 软件。

DNS

域名系统 (DNS) 在 F5 和 IBM 企业云参考架构中发挥着关键作用: 它不仅负责存储 IPv4 和 IPv6 的 IP 和域名信息,还负责存储系统元数据,例如云控制器收集的信息和唯一的机器识别信息。 对于此参考架构,选择 DNS 作为元数据的存储位置,因为它是一个基于标准的系统,已经存在于大多数网络中,可供所有云组件使用,并且减轻了向基础设施添加额外数据库类型存储的要求。 任何由 IT 管理且能够添加额外区域和区域文件的 DNS 解决方案都可以使用。

贮存

对于 F5 和 IBM 参考架构,集群控制器从本地存储运行虚拟机;但是,当它不运行时,VM 虚拟磁盘位于虚拟化存储上。 在工作流配置事件期间,集群控制器将通过网络文件系统 (NFS) 从虚拟存储设备请求虚拟磁盘。

application交付控制器

企业云中的最后一个组件是应用交付控制器(也称为负载均衡器),在 F5 和 IBM 参考架构中,它是 F5® BIG-IP® 本地流量管理器™ (LTM)。 BIG-IP LTM 管理来自虚拟机的应用数据的连接、服务和传送。 最终,BIG-IP LTM 是系统执行工作流配置事件的最后一个部分。

演练: 手动和自动配置

F5 和 IBM 企业云参考架构的目标是提供一个真实的、基于资源的平台,用于动态部署应用。 一旦所有组件都到位,它们就会通过各种工作流程协同工作,根据需要提供新的应用服务。 有两种方法可以配置企业云中现有的系统:手动配置和自动配置。

手动配置

通常,企业云中的第一个工作流程是根据系统管理员或应用请求者的输入从手动流程启动的。 这并不是说工作流程是手动的;只有第一次将信息输入系统的行为才是手动的。 一旦从管理员那里收集到数据,系统就会开始预定义的自动化工作流事件以进行应用配置。

步骤 1: 云控制器数据输入

使用云控制器 GUI,管理员(或应用请求者,取决于谁负责启动新的配置事件)输入启动新虚拟机并使应用上线所需的信息。 这些信息通常是更高级别的基础设施数据,例如:

  • 应用类型: 可用应用类型的预定义列表,例如 Microsoft SharePoint、Web 服务器、邮件服务器、Oracle 数据库等。
  • 网络信息: 集群 IP 地址、前端 URL、此应用是否面向公众还是仅供内部使用等。
  • 配置信息: 配置系统所需的任何其他信息,例如网络位置(通常是与物理数据中心绑定的地理参考,例如“欧洲 - 哥本哈根数据中心”),以及对给定应用类型允许的最小和最大实例数的任何限制。

此信息用作整个企业云自动配置的元数据。

第 2 步: 启动配置工作流程;分发元数据

一旦管理员提交了所需的数据,下一步就是让云控制器打包该信息(以及整个系统用于识别此实例以进行配置的动态创建的唯一实例 ID,例如“vm12345”),并通过消息总线将其分发给编排器。

第一步提供的所有信息在传递给编排器之前都会由消息总线进行规范化。

同时,云控制器通过 API 向虚拟机管理程序提供相同的元数据和唯一实例 ID,并指示其部署所需的应用映像。 此事件提示虚拟机管理程序从基于云的存储中请求适用的虚拟机磁盘映像。 存储设备通过 NFS 检索适当的磁盘映像并开始将该映像复制到本地存储。

步骤 3: Orchestrator 分发元数据

当编排器从消息总线接收到规范化的事件信息和元数据后,它会启动两个不同的工作流程,同时将元数据推送到监控系统和 DNS。 监控系统使用此信息为应用配置自动监控计划,并在通知启动并运行后开始监控应用。 在此步骤中,编排器还将定义监控系统事件的阈值 - 例如,指示监视器在此虚拟实例的 CPU 利用率超过 75% 时发送事件通知。

编排器还将虚拟实例元数据推送到 DNS,该数据存储在那里以供整个企业云使用。 编排器负责以适当的 DNS 区域格式提交元数据,因此它必须根据实例 ID 构造域名,创建 IPv4 和 IPv6 DNS 记录,从云控制器添加实例信息,并将新实例信息添加到适当的区域。 例如,编排器将采用唯一的实例 ID,为“vm12345.vm.cloud.example.com”创建 DNS 条目并将其添加到现有的 example.com 区域。

在整个企业云中分发元数据的最后一步是使用新的实例信息(例如主机名、IP 地址、应用类型(或 BIG-IP LTM 上的池)和监控信息)填充 BIG-IP LTM应用交付控制器。

第 4 步: 虚拟机通知

在步骤 2 中,云控制器指示虚拟机管理程序启动与新配置的实例相关联的虚拟机。 一旦该虚拟机按预期启动并运行并可供连接,它将通过消息总线上的事件警报通知编排器。 编排器将接收该事件警报并启动工作流,指示 BIG-IP LTM 将新 VM 标记为池中可用,并开始根据负载均衡方法向虚拟实例发送和分发新连接。 BIG-IP LTM 还将使用分配给应用池的先前配置的应用监视器开始监视新实例。

来自新运行的虚拟机的事件警报还将提示编排器通知整个企业云监控系统开始监控虚拟实例。 此时,新配置的虚拟实例已在企业云中启动并运行,并处理应用服务请求。 这是企业云中所有服务的正常运作模式。

自动配置

手动配置是企业云中配置服务的第一个工作流程步骤,但它并不是最常见的配置形式。 在运行平稳的系统中,企业云将转向更加动态和流畅的自我监控系统,并根据需要和需求自行提供新服务。 这种敏捷的自我配置是任何云平台的核心,它需要额外的自动配置事件和工作流程来监控和响应实时事件。

步骤 1: 监控和警报

任何自动配置系统的第一步都是监控:收集和检测整个系统中的事件。 在第一轮手动配置期间,监控系统填充了虚拟实例信息,例如名称、位置、监控类型和事件阈值。 此信息用于自动监控应用和虚拟实例的可用性和性能。 一旦监控系统检测到某个事件(例如,某个虚拟实例消耗了超过 75% 的可用 CPU 资源),它将在消息总线上生成一个事件,向编排器发出资源已耗尽的警报。

第 2 步: 数据收集

在典型的自动配置场景中,编排器负责创建一个新的虚拟实例,以帮助减轻当前实例的资源负载。 两个或多个虚拟实例将用于分配应用计算和网络负载。

为了启动自动配置工作流程,编排器必须负责收集组件事件,以及请求配置新虚拟实例所需的元数据。 在 F5 和 IBM 参考架构中,元数据存储在 DNS 中,并作为原始手动配置工作流程的一部分填充。 DNS 将向编排器返回信息(例如应用应用类型、地理位置和配置阈值)。

步骤 3: 启动工作流程

在自动配置工作流的最后一步,编排器通过消息总线将从 DNS 获取的元数据推送到云控制器。 本质上,这个自动化步骤模拟了管理员输入机器信息并手动启动配置工作流程的步骤。 云控制器将接收此信息(就像在手动配置中从管理员那里获取信息一样)并开始新的虚拟实例配置工作流程。 从此时起,重复上面详述的配置步骤和工作流程,直到新的虚拟实例启动、运行并接受新的连接。

典型的企业云部署将包括手动和自动配置工作流程。 新的服务或应用将首先使用手动工作流程进行部署,以便管理员可以控制服务的部署方式和位置。 一旦服务启动并运行,自动化配置工作流程将根据资源需求和可用性管理配置。

结论

选择部署私有企业云不应该以增加复杂性或不可操作性为代价。 任何云部署的目的都是减少创建新服务的障碍并提供更灵活的计算基础设施。 企业云将这种灵活性带入数据中心,显著提高了可管理性和控制力。

F5 与 IBM 合作创建了自动配置企业云的参考架构。 该架构设计为模块化和灵活的——可以根据需要集成现有组件,并且整个企业云可以通过 API 和共享消息传递基础设施连接到任何其他云平台。 没有哪个私有企业云是完全相同的;然而,F5 和 IBM 架构将适应不同的环境,同时为任何应用部署或数据中心带来敏捷基础架构的好处。

 

1 巴布科克,查尔斯(2011 年 1 月 18 日)。 “私有云正在腾飞。” 信息周刊。 网络。

2012 年 1 月 10 日发布
  • 分享至 Facebook
  • 分享到X
  • 分享至 Linkedin
  • 分享至电子邮件
  • 通过 AddThis 分享

通过 F5 进行连接

F5 实验室

最新的应用威胁情报。

DevCentral

F5 社区,提供讨论论坛和专家文章。

F5 新闻中心

新闻、F5 博客等等。