携手F5与IBM构建企业云

简介

据部分估算,企业云(也称私有云)的采用速度快于公有云。企业咨询公司Accenture估计,截至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解决方案作为中央消息总线,但也可以使用任何企业消息总线在整个系统中传递事件通知。

编排器

可以将Orchestrator视为企业云的大脑,它负责根据通过总线接收的消息,做出大多数宏观资源调配决策。Orchestrator会启动云架构中的重大事件和工作流,例如启动“调配新虚拟机”工作流。Orchestrator还负责获取每个工作流所需的数据,并将其提供给相应组件。例如,Orchestrator会提供调配新VM所需的IP地址信息。

在该参考架构中,编排器由一系列解释型脚本构建。这些脚本根据总线传来的消息执行操作并启动工作流事件。可以使用任何类型的编排器,例如IBM Tivoli Intelligent Orchestrator、HP Operations Orchestration或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参考架构中,集群控制器从本地存储运行虚拟机;但虚拟机未运行时,其虚拟磁盘位于虚拟化存储中。在工作流置备期间,集群控制器将通过网络文件系统(NFS)向虚拟存储设备请求虚拟磁盘。

应用交付控制器

企业云中的最后一个组件是应用交付控制器(也称为负载均衡器)。在F5和IBM参考架构中,该组件为F5® BIG-IP® Local Traffic Manager™(LTM)。BIG-IP LTM负责管理连接、服务以及来自虚拟机的应用数据交付。最终,BIG-IP LTM是系统中响应工作流置备事件的最后一个环节。

操作演示:手动和自动配置

F5和IBM企业云参考架构旨在提供一个基于实际资源的平台,用于动态部署应用。所有组件部署到位后,将通过各种工作流协同运行,按需配置新的应用服务。企业云中的现有系统可通过两种方式进行配置:手动配置和自动配置。

手动配置

通常,企业云中的第一个工作流会根据系统管理员或应用申请者提供的信息,通过手动流程启动。这并不意味着整个工作流都需要手动执行;只有首次将信息输入系统这一步是手动的。收集管理员提供的数据后,系统便会启动预定义的自动化工作流事件,以完成应用配置。

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

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

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

此信息将用作元数据,支持在整个企业云中进行自动配置。

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

管理员提交所需数据后,云控制器会将这些信息与动态创建的唯一实例ID(例如“vm12345”)打包在一起,并通过消息总线分发给编排器。该ID在整个系统中用于标识要预置的实例。

第一步中提供的所有信息均由消息总线进行规范化处理,然后再传送至编排器。

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

步骤3:编排器分发元数据

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

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

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

第4步:虚拟机通知

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

新启动的VM发出的事件警报还会促使编排器通知企业云的整体监控系统,开始监控该虚拟实例。此时,新配置的虚拟实例已在企业云中启动并正常运行,开始处理应用服务请求。这是企业云中所有服务的正常运行模式。

自动化配置

手动配置是企业云服务配置工作流的第一步,但并不是最常用的配置方式。在运行顺畅的系统中,企业云会转向更加动态、灵活的自我监控机制,并根据实际需求自行配置新服务。这种敏捷的自助配置是所有云平台的核心,需要通过更多自动配置事件和工作流来监控实时事件并作出响应。

第1步:监控和警报

任何自动配置系统的第一步都是监控,即收集和检测整个系统中的事件。在第一轮手动配置期间,监控系统中会填充虚拟实例的相关信息,例如名称、位置、监控类型和事件阈值。这些信息用于自动监控应用和虚拟实例的可用性及性能。监控系统检测到事件后,例如某个虚拟实例消耗了超过75%的可用CPU资源,就会在消息总线上生成一条事件消息,提醒编排器资源即将耗尽。

第2步:数据收集

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

要启动自动配置工作流,编排器必须负责收集组件事件,并请求配置新虚拟实例所需的元数据。在F5和IBM参考架构中,元数据存储在DNS中,并在最初的手动配置工作流中填充。DNS会向编排器返回应用类型、地理位置和配置阈值等信息。

步骤3:启动工作流

在自动化置备工作流的最后一步,编排器通过消息总线将从DNS获取的元数据推送到云控制器。实际上,此自动化步骤模拟了管理员输入计算机信息并手动启动置备工作流的过程。云控制器将接收这些信息(与手动置备时接收管理员输入的信息相同),并启动新的虚拟实例置备工作流。此后,系统将重复执行上述置备步骤和工作流,直至新的虚拟实例启动并运行,且可接受新连接。

典型的企业云部署通常同时包含手动和自动配置工作流。新服务或应用最初会通过手动工作流进行部署,以便管理员控制服务的部署方式和位置。服务启动并运行后,自动配置工作流将根据资源需求和可用性管理配置。

结论

选择部署企业私有云,不应以增加复杂性或导致无法互操作为代价。任何云部署都旨在降低创建新服务的门槛,并提供更敏捷的计算基础设施。企业云将这种敏捷性引入数据中心,显著提升可管理性和控制力。

F5与IBM共同创建了一个用于自动配置企业云的参考架构。该架构采用模块化和灵活设计,可按需集成现有组件,并通过API和共享消息传递基础设施,将整个企业云连接到任何其他云平台。每个私有企业云都有所不同,但F5与IBM的架构可适应不同环境,同时让任何应用部署或数据中心都能受益于敏捷基础设施。

1 Babcock, Charles(2011 年 1 月 18 日)。“私有云日渐兴起”。Information Week。网络版。

发布于2012年1月10日