内容


使用 IBM Cloud Automation Manager 跨多个云管理工作负载和资源

一种将云基础架构部署在混合云管理平台上的方法

Comments

简介

随着您将越来越多的应用程序迁移到云中,您就越发需要合适的管理功能对其进行调节。此外,您的工作负载可能会在多个云中运行,而这些云由不同的提供者管理。但是,出于各种技术和非技术原因,您无法将所有应用程序都迁移到公有云中。这时就需要混合云管理平台。在此平台上,可以跨多个云(包括私有云和公有云)来管理工作负载及其底层资源。

本文将介绍一种使用 IBM® Cloud Automation Manager 产品实现混合云管理平台的方法。

启用了云的应用程序与云原生应用程序

目前使用的大部分应用程序在构建时都没有考虑到云。许多应用程序基于整体式的多层架构,这些架构使用了中间件,比如应用服务器和关系数据库。尽管如此,仍然可以对这些工作负载应用一些云计算原则。例如,可以自动化基础架构和软件的准备和配置,以便支持动态分配所需的资源,这是云计算的一个特征。因此,这些环境被称为启用了云的环境

与此同时,现在开发新应用程序时都考虑到了云。也就是说,这些新应用程序基于最近出现的架构原则,比如基于微服务的架构,而且它们被构建为 12 因素应用程序。这些应用程序被称为云原生应用程序,通常在容器化的运行时环境中运行。

混合云管理平台必须能同时支持启用了云的和云原生的工作负载风格。

混合云简要介绍

已有许多有关混合云的阅读资料。出于本文的目的,可考虑以下简要说明。启用了云的工作负载与云原生工作负载的共存,推动了对混合云的需求。例如,在公有云提供者处运行的云原生应用程序可能必须连接企业内部的、启用了云的系统,才能从中检索数据,出于合规性原因,这些数据必须保留在本地。或者,公司可将启用了云的应用程序和云原生应用程序迁移到某个云提供者那里并作为标准,但希望同时使用仅在另一个提供者的云上提供的某些云服务。

混合云环境覆盖多个位置,从现有的企业内部数据中心到在云提供者的数据中心内运行的私有、专用和公有云。此环境包含多种互联的工作负载,它们不一定是针对云而构建的。

混合云环境
混合云环境

这个复杂环境需要一个集中管理平台 - 混合云管理平台。本文剩余部分将介绍各种用例,这些用例有助于确定此平台需要的功能组件。

混合云管理的入口点

每个企业都有自己的优先处理事项和要克服的挑战。每个企业都从不同的入口点开始创建混合云。

IT 自动化

IT 自动化入口点由 IT 组织以更高效方式运行其应用程序的需求触发。它专注于运行应用程序所涉及的所有资源的生命周期管理自动化。

可以使用模板来定义拓扑结构和环境的抽象描述。也就是说,将应用程序表示为资源的一种整合流程。这些资源是以一种明确定义的格式被捕获的,并与一个能解释和执行该整合流程的引擎配对。资源类型可以是具体和明确的,比如虚拟机、容器或网络;也可以更加笼统和更复杂,比如云服务或企业监视系统。

有多种语言可以实现此目的。一些语言特定于一种云,比如 CloudFormation for Amazon Web Services。OpenStack Heat 是一个语言示例,它定义了一组一般性资源类型,然后使用 OpenStack 中包含的服务将这些资源映射到现有资源。Terraform 语言使用提供者插件来定义特定于各个提供者的资源类型。

混合云管理平台必须能支持多种格式及其相关引擎,还必须支持跨不同的企业内部和企业外部目标来部署模板。

不是所有资源都是在模板中使用整合流程来创建和管理的。一些资源是在建立管理平台之前创建的。其他资源是使用各自的云工具原生创建的。因此,您需要一个可发现和管理这些基础资源的层。目前有各种各样的库和框架都支持此功能,它们跨所有相关的目标云来提供 API。

下图展示了支持这个入口点的架构组件。

IaaS 和模板管理
IaaS 和模板管理

IT 即服务

对于 IT 即服务入口点,IT 组织的目标是成为服务提供者(至少在内部),但通常还要考虑到外部用户。需要有一种机制来定义一个蓝图,蓝图中包含基本的自动化单元(即之前介绍的模板)。这还涉及到将这些元素集成到包含第三方环境的更大的 IT 生态系统中,这些环境不是云的一部分,也不由混合云管理平台管理。例如,您可能向配置管理数据库 (CMDB) 注册您创建的虚拟机。或者,您可能需要更新一个防火墙以访问新创建的环境。

此外,企业需要围绕 IT 服务的使用来建立一个治理模型,该模型必须相应地反映在管理平台中。在简单的例子中,此模型包含定义批准步骤的能力。在更高级的案例中,它包含建立包含人工任务和升级流程等的复杂业务工作流的能力。

混合云管理平台不仅支持相关云资源的初步供应和配置,还提供了合适的端到端生命周期管理能力。例如,它提供了简单的控制功能,比如启动和停止各个资源。它还必须允许对可能包含手动任务或其他复杂逻辑的第 2 天操作的定义进行定制。

要直接支持服务提供者与服务用户的分离,需要使用一个自助门户以受控方式将 IT 服务向其用户公开。服务提供者必须有一种定义服务的所有必要元素的方法,即整合流程模板、集成和流程流,以及第 2 天操作。它必须将这些元素组合成最终的产品,也就是服务。然后可将此服务发布到一个目录,而该目录可通过自助门户供用户使用。

下图展示了支持这个入口点的架构组件。

IT 即(云)服务
IT 即(云)服务

DevOps

企业引入云计算的常见驱动因素不仅仅是需要更高效、更经济地执行 IT 操作。他们还在寻找一种途径来向客户快速引入新功能,以及快速应对市场形势的变化。为了实现这两个目标,他们应用了 DevOps 原则,这些原则结合了应用程序的开发与相关的操作方面。此概念的一部分是分配 DevOps 工具链。此工具链支持通过持续测试、部署、监视和管理应用程序,完全自动化应用程序开发生命周期的所有部分。

混合云管理平台必须连接到工具链中,比如 DevOps 工具链,以便将它部署和管理的资源映射到在它们之上运行的应用程序工作负载。具体来讲,对于启用了云的环境,创建所需的基础架构来托管应用程序可能很耗时。而且它的生命周期通常比应用程序生命周期长得多。

避免将基础架构的整合流程和自动化放入应用程序部署逻辑中。例如,不要将它包含在自动化构建流程中,或者在应用程序部署管理工具(比如 IBM UrbanCode Deploy)中定义它。而使用工具链,通过明确定义的 API 将基础架构的整合流程和自动化委托给混合云管理平台。借助此方法,可以管控和维护这些环境(前面已讲到),同时还支持在生产中自动化地、持续地交付应用程序。

下图展示了 UrbanCode Deploy 和 IBM Cloud Automation Manager 如何作为一个 DevOps 工具链的一部分来协同工作。

DevOps 工具链
DevOps 工具链

认知混合云管理

为 IT 环境提供自动化的准备和生命周期管理的系统已存在一段时间了。但是,它们通常无法在混合领域中同时支持启用了云的工作负载和云原生工作负载。不过,它们拥有前面介绍的入口点。最近的一次开发将引入认知计算能力,并需要将这些能力应用到混合云管理上下文中。

认知混合云管理的实用用例可分为两类:人机交互和认知操作。

人机交互

人机交互用例描述以人性化方式与 IT 环境进行交互的方法。也就是说,它们不需要基于使用了控制台或仪表板的传统用户体验。相反,这些交互涉及到对话和/或自然语言。将此概念应用到混合云管理平台时,用户就必要的功能与系统进行对话或 “聊天”。

一个具体的示例是,聊天机器人 在人与计算机程序之间模拟对话。以下面的对话为例,看看用户 Sandy 如何在一个混合云管理平台前面与聊天机器人 Charlie 对话,以合成并发布一个数据库服务:

Sandy:Charlie,我想让财务团队运行 MySQL。

Charlie:我发现两个可以创建 MySQL 的模板:“MySQL on VMWare” 和 “MySQL on Amazon”。

Sandy:让我们试试 VMWare 1。

Charlie:我看到您已有一个名为 “Local Infra” 的 VMWare 连接。您是否想使用该连接?

Sandy:是的。

Charlie:该模板有一个集群参数没有默认值。您需要为它指定一个值。

Sandy:我的 VMWare 集群有哪些?

Charlie:您拥有 “East” 和 “West”。

Sandy:让我们使用 West 吧。

Charlie:好的。用户能够指定 “所需的存储空间”。这样行吗?

Sandy:我们暂时将它限制为 50 MB,以便他们可以执行开发测试。

Charlie:好的。您还没有任何服务,所以我为您创建了一个新服务。您想怎么称呼它?

Sandy:我想将它称为 “MySQLaaS”。

Charlie:好的。您可以使用此链接测试它,或者我可以为您测试和部署它。

Sandy:请为我测试它。

Charlie:我成功创建了一个 50 MB 的存储空间。可以从此处访问它。

Sandy:看起来不错。发布它吧。

Charlie:好的。您的服务现已上线。可以在此处看到它。

Sandy:非常好,现在让我们回家吧。

<后来>

Sandy:早上好,Charlie。

Charlie:财务团队今天早上订购了两个 MySQL 实例。两个都已准备就绪。

作为另一个示例,一个启用了语音的接口能将口语命令转换为对混合云管理平台的 API 调用。

认知云操作

在认知云操作用例中,我们倾向于广泛使用术语认知,而不考虑它的技术定义。例如,我们的认知操作规则表明:“如果数据是结构化的,那么它不属于认知数据,而是属于分析数据。”本节中提到的一些功能适用于机器学习,这不属于认知范畴。

认知云操作生命周期中的所有功能元素都会影响最终结果,而且实现目标功能通常(或者可能总是)需要它们。将它们汇总起来时,就会发现相关功能位于一个循环中,如下图所示。

Cognitive Cloud Operations 生命周期
Cognitive Cloud Operations 生命周期

这些功能相互合作。后一个生命周期阶段依赖于之前的阶段,以便实现一种向平台添加功能的分阶段方法。

数据收集

要实现任何认知操作功能,需要从与混合云管理平台交互的所有环境中收集结构化和非结构化数据。除了明确拉入的有关已部署资源的数据之外,此数据还包括日志、警报和其他事件。

可在以后用于认知功能的另一个数据来源是,在系统的所有用户中积累的集体信息池。通过让每个人贡献其获取的信息,可以让系统变得更加 “智能”。使用机器学习的系统仅在拥有可供学习的足够数据时,才能得出有意义的结论。因此,您可能认为所有混合云管理平台实例都应将该数据提供给一个通用位置。但是,此方法会带来使用潜在的敏感数据的挑战,企业可能不想共享这些数据。

仪表板/报告

通过使用仪表板/报告功能,可以使用不同的数据视角(比如地区、组织或功能视角),简单地导航、探索、排序和过滤收集到的数据。类似地,系统必须允许创建历史数据的自定义报告。

分析/模式检测

拥有所有有趣的数据后,可以使用分析/模式检测功能来分析它们。例如,这种分析有助于检测异常和错误条件,或者确定趋势和模式。它还可以应用机器学习来创建注入新功能、预测和响应的模型。

预测/自动化响应

预测/自动化响应功能与前一个阶段直接相关。只要发现某种模式或趋势,就可以预测系统或工作负载最可能的行为方式。此外,基于该预测,可以定义您希望系统如何反应。

例如,检测到环境的内存利用率持续增加,得出它将在预先确定的时刻耗尽内存的预测结论。作为一种自动反应,系统可以向该系统分配更多的内存。

在更高级的示例中,可以分析跨多个云地区的多种网络资源的性能,然后自动将关键工作负载迁移到表现出最佳性能的环境。

HCM 顾问

HCM 顾问功能是认知云操作生命周期的最后一个元素,所有其他功能都在这里用来向用户提供建议。建议可应用于多个层级:

  • 它可以帮助创建能在部署后更有效运行的业务流程和服务。例如,“您可能想在默认情况下为这些 VM 定义更少的 vCPU,因为您的应用服务器部署在过去未能得到充分利用。”
  • 它有助于在部署时引导服务用户。例如,“达拉斯数据中心拥有足够的容量来支持使用高峰,而不需要将流量引入其他数据中心。因此,您应在这里部署压力测试环境。”
  • 这种引导是可行的。例如,“预计下一周会出现应用程序负载的季节性峰值,所以您应该扩展消息集群。”

IBM Cloud Automation Manager

来自 IBM 的混合云管理平台的基础是最新版本的 IBM Cloud Automation Manager。最终,此产品将包含本文中介绍的功能。下图演示了 Cloud Automation Manager 的整体功能架构。

IBM Cloud Automation Manager 功能架构
IBM Cloud Automation Manager 功能架构

Cloud Automation Manager 的第一个版本是在 IBM Bluemix 中以服务形式提供的。它支持采用基于 Terraform 开源工具的模板驱动自动化来部署云基础架构。它支持各种预先构建的内容且包含丰富的 API,允许以编程方式来调用和集成现有的 DevOps 工具链。下图演示了现在提供的服务。

IBM Cloud Automation Manager Bluemix 服务
IBM Cloud Automation Manager Bluemix 服务

随着时间的推移,IBM 将增强此解决方案,将它发展为一个全功能的混合云管理平台,包括在自己的数据中心本地运行它的能力。

了解更多信息试用 Cloud Automation Manager

结束语

本文介绍了一个管理平台的功能特征。文中重点介绍了建立混合云的需求。具体来讲,文中解释了跨多个云(包括企业内部和企业外部)对启用了云和云原生工作负载执行部署和生命周期管理的支持性基础架构。

在未来,这些平台将包含用于人机交互和认知云操作的认知功能。此解决方案的起点是 Bluemix 上的 IBM Cloud Automation Manager 产品。在未来的版本中,此解决方案将支持混合云管理平台所需的所有功能。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Middleware, Cloud computing
ArticleID=1046453
ArticleTitle=使用 IBM Cloud Automation Manager 跨多个云管理工作负载和资源
publish-date=05312017