借助混合云实现成功:部署混合云的最佳实践
在上两篇“最佳实践”文章中,我讨论了如何规划和构建混合云,完成这些技术练习之后,本文将着重探讨部署这一精心设计且构建的混合云的最佳实践。
本文将介绍一些关键的部署项目,比如 Service Provider Foundation 和 IaaS(软件定义网络、远程控制台设置、库项、VM 模板)等 Windows Azure Pack 功能、网站(使用代理服务器、脱机库)和数据库(Microsoft SQL Server、MySQL)。我们还将探讨 Service Management Automation、Usage、WAP 身份验证提供程序、门户主题设定/定制和迁移等功能。
我还将指明如何排除一些常见的部署障碍。是否准备好深入研究一番?
Service Provider Foundation
Service Provider Foundation (SPF) 属于 System Center - Orchestrator 的一部分。SPF 是一个可扩展的 OData web 服务,能够与 Virtual Machine Manager、Operations Manager 和 Orchestrator 等进行交互,因此支持在服务提供程序等多租户环境中使用这些产品。在云 OS 版本中,SPF 是 Windows Azure Pack 与 Virtual Machine Manager 之间通信的关键– 它也用于通过 Operations Manager 启用的使用管道。
另外注意:属于 IaaS 一部分的远程控制台有一个 SPF 服务器条目,而且 SPF 自身支持多达 5 个 VMM stamp。
在不了解一些细节的情况下,设置和操作 Service Provider Foundation 的最佳实践会很复杂,因此我要首先介绍设置期间应避免的 6 个关键误区:
- SPF IIS 应用池需要在域帐户(也是 VMM 管理员)权限下运行。
- 该域帐户必须是 4 个本地 SPF 组的一个成员。
- 该帐户的用户需要在 Windows Azure Pack 中注册 SPF,否则 Service Management Automation 在将 Runbook 附加到 SPF 操作时可能会遇到问题。然而,如果未将 Runbook 附加到 SPF 操作,可以使用本地用户。
- 该帐户还需要访问您在部署期间指定的 SQL Server。
- 在 SPF 机器上配置 IIS 的基本身份验证功能。
- 一旦有了域服务帐户,登录到 SPF 服务器。
如要深入理解这些要素,推荐阅读以下文章:
- 如何安装 Service Provider Foundation。
- Windows Azure Pack 一般故障排除列表。
- 配置 SPF 的 IaaS 使用和计量。
- TechEd 2013:Microsoft System Center 和 Windows Server 中的多租户 IaaS 云。
Windows Azure Pack
Windows Azure Pack (WAP) for Windows Server 是运行于 Windows Server 2012 R2 和 System Center 2012 R2 之上的 Windows Azure 技术集合,跨公有云、私有云和混合云实现一致的云体验。
之前我发表过很多篇文章,讨论了云间一致性的重要性,虽然我不想再次提及,但有一点再怎么强调都不为过,那就是微软是世界上唯一一个运营大规模全球公有云、然后分享经验供您在数据中心中使用的组织。WAP 就是这一工作的典型代表。
出于部署目的,我要重点介绍 WAP 交付的三个具体资源:IaaS、网站和数据库。如果您不熟悉 WAP(或者如果您还没有它),推荐您阅读面向 WAP 和 Windows Server 的本部署概述和 WAP 安装和配置概述。
IaaS
Windows Azure Pack 是我们通过 Windows Server 和 System Center 交付的基础结构即服务功能的核心组件。我们的 IaaS 功能允许您将 Windows 和 Linux 虚拟机托管在您的数据中心的一个云体系结构中。这些功能还包括一个 VM 库、伸缩选项、VM 访问选项和虚拟网络。如要了解有关 Microsoft IaaS 产品的更多细节,推荐阅读这篇文章。
IaaS 功能的三个重要元素包括 SDN、远程控制台、库项和 VM 模板。
软件定义网络
网络的一个重要里程碑是内置 NVGRE 网关的平台功能,该功能可在 VM/租户网络与虚拟网络外部的网络之间搭建起沟通的桥梁。查看以下链接,更多地了解通过平台交付的虚拟网络功能以及它们在 WAP 内的作用。
- 使用 Hyper-V 网络虚拟化的混合云:第 1 部分、第 2 部分、第 3 部分。
- Web 平台安装程序源(包含 NVGRE 网关 VMM 模板)。
- 另外请查看 微软的 SDN 策略。
在部署可以通过 Web 平台安装程序免费下载的 HA NVGRE 网关服务模板时,请谨记以下三点:
- 需要一个主机群集来放置 HA 网关服务(PA 地址)。
- 不要让网关 VM 高度可用,因为如果这么做,CA 地址将不再遵循 PA 地址。
- 不要将您的虚拟交换机手动配置为绝对 QoS 模式。
远程控制台
虚拟机的改进之一是能够获取到控制台会话的直接连接。在很多情况下这非常重要,尤其是用于应对这样一种情况,即一个租户错误地配置了网络设置且无法再通过远程桌面进行连接。现在该租户无需打开支持服务记录,而是可以使用新控制台连接选项独立解决问题。
下图概要描述了从不可信网络访问 VM 控制台时所需的组件。
您可以在这本指南中找到详细的设置、安装和配置说明。
证书需求似乎会导致该配置存在一些混淆,接下来我们看一下这个问题:用于签署 VMM、RD 网关插件和 Hyper-V 主机之间的令牌的证书不同于用于签署在租户门户中下载且由客户端计算机打开的 RDP 文件的证书。用于签署 RDP 文件的证书必须将 RD 网关的 FQDN 作为 CN。
库项
Windows Azure Pack 包括一个 VM 库,该库包含 VM 角色。一个 VM 角色通常包含两个部分:
VM 角色的该配置的一部分要求您分配特定标记给虚拟硬盘映像。该配置还要求指定虚拟硬盘的操作系统、系列名称和版本。为了让这个流程简单明了,每个 VM 角色示例都随附一个概述这些要求的部署指南。目前还可通过 Web 平台安装程序获取大量库项示例,不过您也可以使用 VM 角色创建工具构建您自己的库项。
如要深入了解这一主题,请查阅构建这些功能的工程师发布的以下文章:
- 使用 WAP 实现本地 IaaS 解决方案。
- 故障排除库项:第 1 部分、第 2 部分
- 在虚拟机云中使用库项。
- VM 角色创建工具 概述。
- Web 平台安装程序源(包含库项示例)。
Windows Azure 网站
Windows Azure Pack 的网站组件提供高密度的多租户 Web 托管服务。这是一个可伸缩、共享且安全的 Web 托管平台,面向基于模板的 Web 应用程序以及 ASP.NET、PHP 和 Node.js 等编程语言。这是一个我们在 Azure 中创新且验证过的功能,现在我们将其提供给您,供您在数据中心中运行。利用这个功能,您可以在一个 Windows Server OS 实例上运行 5,000 个网站。如要部署该组件,请访问该页面。
使用代理服务器
您是否尝试过基于库项创建新网站却发现列表是空的?发生这一情况的原因很可能是您被代理服务器拦截了。这一问题的典型故障排除流程包括,检查代理服务器日志文件,然后确认您是否可以在安装了 Web Application Gallery 组件的机器上的 Web 浏览器中访问库 URL。
脱机库
如果您在一个安全的环境中工作,您希望控制哪些 Web 应用程序库项可供您的租户使用,那么您可以考虑使用库的一个脱机副本。这一安排还使您能够进行代码审阅并审批库项。如要查看相关必要步骤的深入概述,查阅这篇详细的文章。
文件服务器
Windows Azure Pack 网站需要一台文件服务器。这可以是一台独立的文件服务器、文件服务器群集或第三方 NAS 设备。如要更多地了解所有需求,查阅这篇文章。
数据库
Windows Azure Pack 能够支持 Microsoft SQL Server 或 MySQL 数据库对租户的托管,或者数据库即服务 (DbaaS)。这些数据库通常与网站服务一同使用,而且作为 Windows Azure Pack 的一部分提供。如要进一步了解如何安装和配置 SQL Server 和 MySQL 资源提供程序,查阅此概述。另外请注意,对于该数据库功能,您必须首先在 WAP 之外(这样一来,WAP 便被用作配置数据库服务的一种途径)许可和部署 MySQL 或 SQL Server 的实例。
为了提高您的租户数据库的可用性,您可以使用 SQL AlwaysOn 可用性组。SQL AlwaysOn 支持您将 Azure 用作数据中心的一个扩展,来对数据库进行备份和灾难恢复 – 一个非常酷而且易用的混合云方案。该功能是 SQL Server Enterprise Edition 的一部分。在 SQL Server 2012 中,这些备份/灾难恢复方案通过 SQL 工程师在 MSDN 上提供的手动脚本获取;在 SQL Server 2014 中,这些方案可通过内置于 SQL Server Management Studio 中的一个 UI 轻松获取。
您可以阅读以下 TechNet 文章,了解有关这一功能的更多信息:
- 在 Windows Azure 中配置 SQL AlwaysOn 可用性组。
- 通过 System Center 2012 – Ops Mgr 使用 SQL Server 2012 AlwaysOn 可用性组。
- 启用和禁用 AlwaysOn 可用性组。
- 在 SQL Server 2012 上设置 AlwaysOn 可用性组。
可以获取并通过 Web 平台安装程序安装最新版本的 MySQL。特定于 MySQL 的配置步骤是启用远程登录。如果您没执行这个重要的步骤,就无法在管理门户中注册 MySQL Server。
Service Management Automation
Service Management Automation (SMA) 是 System Center 随附的一个新组件(在 Orchestrator 映像上提供)。SMA 支持您在云中执行自动化任务,而且与 SPF 一样,SMA 公开了一个可扩展的 OData Web 服务。SMA 利用 Runbooks 在 Windows Azure Pack 中实现自动化。SMA Runbooks 是 Windows PowerShell 工作流脚本,可在 Windows Azure Pack 内导入和/或创作该脚本。可以安排执行 Runbook 的时间,Runbook 执行由 WAP/SPF 事件触发或手动发起。鉴于这一点,Automation 在 WAP 内的主要用途之一是基于其他 WAP 操作(例如启动虚拟机)执行 Runbook。
几个值得注意的设置和操作 Service Management Automation 的最佳实践是:
- 与 SPF 一样,SMA IIS App Pool 需要在域帐户权限下运行
- 为了执行使用 SPF 的 Runbook,需要为信任彼此的 SMA 服务器和 SPF 服务器颁发证书。
- 需要“标记”Runbook 才能将其用于自动化任务(例如,为了在 VM Automation 下显示,需要用 SPF 标记 Runbook)。
有关这一复杂主题的更多参考资料,参见以下链接:
- SMA 详细概述和简介。
- 如何安装 Service Management Automation Web 服务。
- 从 SMA 调用 Orchestrator Runbook,第 1 部分。
- Service Management Automation:SMA Runbook Toolkit Spotlight–SMART for Runbook 导入和导出。
Usage
跟踪云使用情况至关重要。将 System Center 与 Windows Azure Pack 搭配使用,是提供使用情况统计、支持对 WAP 中的服务即用即付的最佳途径之一。WAP 中的 Usage 利用以下组件:Virtual Machine Manager、Operations Manager、Service Provider Foundation 和 Service Reporting。
借助这些组件,合作伙伴和企业可以使用 OData web 服务从 Windows Azure Pack 提取使用数据。这就引出了三种 Usage 场景:
- 使用 CloudCruiser 退款。
- 使用 SQL 的 Service Reporting。
- 构建一个自定义计费适配器。
设置和操作 Usage 的一些简单最佳实践包括:
- Operations Manager、Virtual Machine Manger 和 Service Provider foundation 必须部署就绪才能使用 VM 云。
- WAP Usage 服务必须设置好用户名和密码才能提取数据。
- SPF IIS 应用池需要拥有对 Operations Manager 数据仓库 的读访问权限。
- Service Reporting 需要访问 Operations Manager 操作数据库。
- CloudCruiser 扩展支持在 Windows Azure Pack 之上进行退款。
更多参考资料,参见以下链接:
- 使用 System Center 2012 R2 和 Windows Azure Pack 的 IaaS Usage 和 Service Reporting。
- 配置 VMM 和 OM 以使用和计量 IaaS。
- 安装和配置 Service Reporting 以使用和计量 IaaS。
- Windows Azure Pack 和 Usage 故障排除。
WAP 身份验证提供程序
Windows Azure Pack 使用基于声明的身份验证支持多租户身份验证。WAP 支持 ADFS、SAML、WS 等广泛身份验证技术,提供一种灵活的方式来对登录到 Windows Azure Pack 的用户进行身份验证。一旦经过身份验证,用户便被赋予权限基于指定的订阅访问(然后可以使用)WAP 内的服务。默认情况下,WAP 租户使用 .Net 身份验证,但可轻松将其改为使用另一个身份验证提供程序。WAP 管理门户默认使用 Windows 身份验证,但也可将其改为使用 ADFS。
WAP 中的身份验证允许您执行以下两个操作:
- 从其自己的 Active Directory 向用户提供管理员访问权限。
- 向租户用户提供对租户门户的自助访问。
一些值得注意的设置和操作身份验证的最佳实践包括:
- 将 WAP 中的身份验证服务改为使用 CA 证书。
- 将 ADFS 配置为通过 WAP 进行身份验证。
- 将 ADFS 配置为通过租户 ADFS 或其他基于声明的服务进行身份验证。
- 在 WAP 门户中创建用户。
- 让用户在 WAP 门户中用他们自己的凭据登录,并提供给他们对 WAP 的访问权限。
更多参考资料,参见以下链接:
- Windows Azure Pack 中基于声明的身份标识。
- 通过 AD FS 为 Windows Azure Pack 配置联合身份验证服务 – 第 1 部分、第 2 部分、第 3 部分。
- 在 Windows Azure Pack 中创建用户。
- AD FS 和 AD FS 控制台。
门户主题设定 – 定制
可以通过以下三种主要方式修改 Windows Azure Pack,以满足合作伙伴/企业/服务提供商的需求:
- 更改主题。
- 构建一个资源提供程序。
- 构建您自己的门户。
门户主题支持对门户进行简单的修改,定制租户门户体验,包含自定义徽标、颜色和图标。
要谨记的两个门户主题设定最佳实践是:
- 利用 Windows Azure Pack Developers Kit 附带的示例主题包。该包展示了可定制的租户门户范围。
- Contoso theming kit 显示与一家虚构的托管公司 Contoso 的商标一致的图像和样式。
有关更多信息,查阅这些 WAP 服务管理 API 示例。
迁移
有两个重要迁移场景。
- 从 Windows Azure Services for Windows Server 迁移。
- 将 WAP 集成到现有的 System Center 部署。该场景仅以 IaaS 工作负载为目标。
如果您在 Windows Azure Services for Windows Server 于今年年初发布时就已经开始使用了,那么一定要花时间获取最新(而且免费)的 Windows Azure Pack,开始利用其新功能。详细的步骤指南可在以下链接中找到。
上面提及的第二个场景关键就是确保现有的虚拟机如预期出现在 WAP 租户门户中,该门户为适当的租户用户角色所有。
值得留意的有关这一主题的两篇文章是:
* * * *
这一主题显然非常复杂,如要了解更多信息、最佳实践和最新知识,强烈建议您查看 Building Clouds 博客上的 Deployment 专题。
完成本文之后,我必须承认,我们还有很多简化工作要做。
在下一篇文章中,我们处理部署完混合云之后的操作和管理。