微软发布 Azure Stack 技术预览版,Azure 即将实现本地托管?

  • Richard Seroter
  • 邵思华

2016 年 2 月 5 日

话题:DevOps语言 & 开发

就在上周,微软推出了Microsoft Azure Stack的首个技术预览版,这个产品能够让来自各个行业的组织在他们自己的数据中心内运行 Azure 服务。这已是微软欲推出一种本地化的 Azure 体验的第三次尝试了,而这次尝试首次实现了对 Azure 公有云体验的还原,并且目标群体更加扩大了。

来自微软的 Mike Neil在一篇博客文章中宣布了此次技术预览版的发布,他在文中详细地分析了当今的企业所面临的现状,即基础设施的混合。

但是,我们也了解许多企业对于完全迁移至公有云平台仍有着诸多商业上的顾虑,例如数据的所有权与管理方面的问题。这使他们感到左右为难,唯有选择一部分业务使用公有云,其余部分继续使用本地环境。

为了管理这种复杂性,微软相信企业必须将云计算视为一种模型,而不是一个部署环境。这种模型贯穿了基础设施、应用以及使用者,并需要通过某种混合型的云策略在私有的、托管的以及公有的云平台之间保证一致性。如今,微软已进入了其混合型云策略的下一阶段,推出了 Microsoft Azure Stack 的首个技术预览版,这是目前唯一一个能够与在业内处于领先地位的公有云保持一致的混合型云平台。Azure Stack 诞生自 Azure 云,它能够帮助组织在自己的数据中心内交付 Azure 服务。

微软认为,一个一致的混合型的云平台对于客户来说很有价值,并指出了三点理由:

  • 应用程序开发者可以实现“一次编写,任意部署至 Azure 或 Azure Stack”的开发,从而使他们的生产力实现最大化。由于 Azure Stack 所使用的 API 与 Azure 是相同的,因此开发者可以基于开源或.NET 技术创建应用程序,并方便地运行在本地或公有云中。他们可以充分利用丰富的 Azure 生态系统以启动在 Azure Stack 上的开发工作。
  • IT 专员可以利用与微软用于操作 Azure 环境相同的管理与自动化工具,将本地数据中心中的资源转入 Azure 的 IaaS 或 PaaS 服务,同时又保持了一贯的监管能力。通过这种方式应用云计算,让 IT 专员在业务中扮演了一个举足轻重的角色,他们能够将服务快速地交付给业务部门,同时仍然能够满足企业的管理需求。
  • 组织可以按照自己的方式应用混合型云计算,以帮助他们应对各种业务与技术上的考虑事项,例如管理、数据所有权、自定义以及延迟等等。Azure Stack 让业务部门能够自由决定将应用程序与访问量部署在哪里,而不会受到技术上的限制。

那么,在 Azure Stack 技术预览版中到底包含了哪些功能呢?微软表示,Azure 公有云平台与 Azure Stack 都使用了标准化的基础设施、相同的用户门户、基于 Azure 资源管理器的应用模型、并且支持相同的工具,例如 Visual Studio 和 PowerShell。此次发布的技术预览版支持部署到一台单一的Windows Server 2016 数据中心版(技术预览版 4)操作系统,建议的硬件规格需要 16 个物理核、128GB 内存,以及 1TB 以上的存储空间。此外,你还需要能够连接到 Azure 活动目录上。目前,我们只提供了在微软公有云平台上所有服务的一个很小的子集。我们将在 2016 年第四季度发布首个完整版产品,预计将包括 IaaS 及 PaaS 中的核心服务,包括虚拟机Storage Blob 和 Tables虚拟网络负载均衡器VPN 网关以及Web Apps。微软已确定在 Azure Stack 正式可用时还会推出其他一些服务的预览版本,包括Service FabricStorage QueuesKey ValutLogic AppsMobile Apps以及API Apps。在这篇博客的留言中,微软的员工表示将根据用户的反馈排列其他服务的优先级,例如 Azure 机器学习、服务总线或 Azure SQL 数据库。来自微软的 Ryan O'Hara 向The Next Platform表示,有部分 Azure 的服务对于 Azure Stack 来说是没有意义的。

来自微软企业云部门的项目管理总监 Ryan O'Hara 向The Next Platform表示:“将一个 Azure 的拷贝原封不动地搬到企业环境中是没有意义的。虽然对于企业客户来说,Azure Stack 应当表现为另一个区域而已,并且我们应当尽力最大化能够在本地部署的服务,但这些服务的规模必须能够缩减到单个企业的水平。有一些服务是客户仅仅在 Azure 公有云平台的规模上才能受益的,例如 Azure Data Lake、Data Ingestion 或 Data Encoding 等等。”

根据The Next Platform的报告,Azure Stack 将能够“在 Windows Server [2016] 的精简版实现 Nano Server 上运行。”通过干净的监督服务的安装以及 Nano Server 的配置,就可以自动安装补丁或升级。微软目前还在考虑 Azure Stack 升级周期的设定,在他们看来,每小时或每日更新过于频繁,但手工更新又显得太慢。

The Next Platform 认为,微软走出了一条新的道路,他们进入了一个 Google 或 Amazon 都没有尝试过的领域。

微软与 Google 其实都想避免提供基础设施云平台,而计划将他们的基础设施当作平台服务提供给外部世界,但多数企业客户对此不屑一顾。企业客户的数据中心往往通过虚拟服务器运行成千上万种不同的应用,而微软与 Google 的想法与现实实在相距太远。这也正是 AWS 推出 EC2 计算引擎以及 S3 和 EBS 存储的原因。虽然企业的数据中心与这些基础的 AWS 服务之间仍存在巨大的间隙,但已足以点燃用户的热情。正是出于这一原因,Google 与微软前些年在这方面栽了几个跟头,最终他们痛定思痛,推出了相应的计算引擎以及 Azure 虚拟机服务。

……

但 Google 和 AWS 仍然相信,从本质与核心上来说,云计算就意味着公有云,除非你是某个美国政府机关,手头有几亿美元没处花,那么你不妨用这笔钱去打造一个真正的私有云。而这种观念为 Microsoft Azure 提供了一个进入这一市场的机会。

……

来自微软企业云部门的 Technical Fellow 及首席架构师 Jeffrey Snover 表示:“许多人认为云只是一个托管环境,而我们不认可这种看法。我们认为云就是一种模型,它可以在多个环境中应用。”

……

在微软负责运营 Azure 的高管以及他们的同事的目标是将 Azure 的功能带到世界上的任何一个数据中心,他们的看法是:我们所关注的并非如何将云基础设施进行分解的争论,而是专注于表现现代化云软件比起传统软件以及僵硬的基础设施的优势。

正如Ars Technica 所描述的一样,Azure Stack 有点儿像是一种“添加了 Azure 风味的 OpenStack”,业务部门通过它可以在本地与云部署方面获得类似的体验。来自计算机世界的 Ben Kepes 对这一主题进行了展开讨论

对于已经留下了微软印迹的组织来说,Azure Stack 所带来的真正价值在于 Azure 的公有云与私有云之间的一致性。某些公司可能会使用亚马逊 Web 服务(AWS) 作为公有云,同时又打造了一个基于 OpenStack 的私有云平台,他们在公有资源与私有资源的互操作上很可能会遇到各种困难。而如果使用了 Azure Stack,那么在公有云与私有云之间就能够实现高度的协调。

……

OpenStack 实际上是一种混合型的云平台,但这一点从来没有真正地实现。虽然这个项目已经在许多领域获得了成功,但软件商所提供的版本一直没有一个一致的系列。也就是说,虽然 OpenStack 声称自己是一个跨各个发布版本的一致的平台,但每个发布版本都有细微的差别,这也限制了基于 OpenStack 的不同云应用之间的可移植性。

有些人或许还记得,这已是微软第三次尝试推出私有的 Azure 体验了。在 2010 年,微软曾经推出了一个 Azure Appliance 计划,可以将应用部署在部分合作伙伴的托管环境中。但市场对此反应冷淡,因此该计划很快就中止了。在 2013 年,微软又宣布推出 Azure Pack,这个产品当时的描述是这样的:“Windows Azure Pack 能够让你在自己的数据中心内运行 Windows Azure 的技术,让你能够构建丰富的、自服务的、多租客的服务,同时又保持与 Windows Azure 的一致性。”在这次宣布推出 Azure Stack 服务的博客文章中,一名微软员工在留言中阐述了从 Azure Pack 转向 Azure Stack 的一些想法。

首先,必须理解 Azure Pack 与 Azure Stack 是两种不同的架构。前者基于 Windows Server 和 System Center,以及一个额外的技术层,用于高效地模仿 Azure 的体验,以自服务的方式设置各种核心组件,例如 VM、DB、网站等等。而后者(Azure Stack)是一个经过精心设计的产品(而不是某种部署在 Windows Server 及 System Center 基础上的东西),允许你在自己的数据中心(或某个合作伙伴的数据中心)内为终端用户构建及提供 Azure 服务。举例来说,在 Azure Stack 中,用于与虚拟机服务进行交互的 API 与 Azure 服务所使用的 API 是一致的。因此实际上你就是在自己的数据中心内运行 Azure 服务。正如你所想象的,对于不同的底层架构进行系统的原地升级往往是不可行的,对于这个产品来说情况也一样。根据我们与客户交谈的结果,大部分客户都计划保留 Azure Pack 的部署环境,等到 Azure Stack 发布之后再搭建新的环境,然后将前者逐渐迁移至后者。

微软还没有提到该产品的价格与许可方式,也没有谈到它的基础设施拓扑在高可用环境中的表现形式。同时,TechCruch 将 Azure Stack看作一次策略上的赌博。

从很多方面来看,Azure Stack 都是微软整个混合型云策略逻辑上的下一步。如果你希望能够在自己的数据中心与 Azure 之间进行常规的调整,那么 Azure Stack 能够为你自己的数据中心及云环境提供一个单一的平台及一套一致的 API,这将大大简化你的流程。

查看英文原文:Microsoft Azure On-Premises? Technical Preview of Azure Stack Released

DevOps语言 & 开发