写点什么

谈 Azure Stack 在私有云 / 混合云生态中的定位

  • 2017-08-10
  • 本文字数:6954 字

    阅读完需:约 23 分钟

基于混合云策略的 Azure Stack 是目前唯一一个能够与主流公有云保持一致的混合型云平台。作为 Azure Stack 深入浅出系列的第二篇文章,将从技术功能和业务场景两个维度来分析 Azure Stack 在私有云 / 混合云生态中扮演什么样的角色,同时与主流的开源私有云平台 OpenStack 进行了简单的比较分析,来识别两种云产品的定位,主要内容如下:

  • 私有云的前景如何? Azure Stack 地位如何?
  • 主流的私有云技术提供了哪些技术功能特性,有什么差别?
  • Azure Stack 与 OpenStack 这两大平台成本相比怎样?各自有什么应用场景?

通过对 Azure Stack 功能及生态的分析,本文最后总结了 Azure Stack 这块混合云产品中值得借鉴的功能及技术点。

一、国内私有云业务前景

就在今年 4 月,工信部发布《云计算发展三年行动计划(2017-2019)》,提出 2019 年云计算产业规模将达到 4300 亿。云计算已成为国家新一代信息产业发展的重要战略。

从中国整个 IT 投入来看,政府、央企、国企以及大型民企占据主要份额,这些企业都意图拥抱云计算以提升生产力,但出于安全的考虑,又暂时对公有云有所顾忌。因此未来几年,私有云业务仍然会占据中国大部分市场份额。

根据 Right Scale 发布的《2017 State of the Cloud Survey》,VMware vSphere 以 42% 的占比居于首位,其次是 OpenStack (20 %) 和 VMware vCloud Suite (19 %),Azure Pack/Stack 从 16 年的 9% 增长到 17 年的 14%,涨势迅猛,值得一提的是,有 28% 的公司正处于 Azure Pack/Stack 的试验(Experimenting)和计划(Plan to use)阶段,紧随其后是 OpenStack(25%),暗示了 Azure Pack/Stack 未来巨大的增长潜力。随着微软 Azure Stack(2017 年 7 月)的姗姗到来,2018 年全球私有云市场局面可能会发生变化。

图表 1 全球私有云采用情况及 2017 与 2016 变化

二、不同私有云平台的技术功能对比

1、OpenStack

OpenStack 开始于 2010 年,由 NASA(美国国家航空航天局)和 Rackspace 合作研发并发起,是一个旨在为公共及私有云的建设与管理提供软件的开源项目,发展速度非常快。

为方便说明比较,以下以具体 OpenStack 项目 - 仪电 i-stack 智慧城市云操作系统(基于 OpenStack 开发)为例,i-stack 提供云平台的基础管理功能,包括计算、网络、存储等。

图表 2 i-stack 仪表盘

OpenStack 是大家所熟悉的,在此不做过多赘述。

2、Azure Stack

Azure Stack 到 2017 年 7 月才提供 GA 版本,但目前还是可以通过技术预览版了解该技术。Azure Stack 本质上是核心 Azure 服务的一个私有实例。

Microsoft Azure 自 2010 年起开始提供公有云服务,微软也以 Windows server、 Hyper-V system center 和 Azure Pack 的形式提供私有云。然而,由于这些公有云和私有云服务使用不同的技术运用的,它们并不兼容。 Microsoft Azure Stack 改变了这个状况。

Azure Stack 是 Azure 的扩展,通过软件的形式部署到企业或者服务供应商数据中心。无论从接口和体验上,都与 Azure 高度统一,可以向公有云无缝扩展。这种方式促进了锁定,对供应商有利,但对客户的好处也很明显,因为它提供了一个更快,更容易的私有云路径。

“比如受到严密监管的金融机构,拥有多个分散在各地的工厂的制造企业,或者那些需要在汪洋大海的轮船上运行数据密集型应用程序的邮轮公司。这些不同种类用户的共同点都是渴望利用公有云快速的创新并扩展这些能力到一些公有云无法企及的场所以使他们开启新的商业机会。”

诚如 Jeffrey Snover 在 Azure Stack Technical Preview 2 发布时提到的,Azure Stack 让企业在防火墙后获得与公有云相同的能力,解决了监管限制、 数据敏感性,网路延迟以及自定义功能需求。

图表 3 Azure Stack 仪表板

Azure Stack 源自于 Azure。以下是 Azure Stack 的架构概览:

图表 4 Azure Stack 架构

Azure Stack 在 IaaS 层借助 Windows Server 2016 的软件定义存储 Storage Space Direct 技术和软件定义网络能力。同时跟 Azure 公有云类似,通过资源提供层(Resource Provider)对象封装物理层的资源及能力,最后通过 Azure Resource Manager 统一的对资源接口进行封装,供相关的 UX 和 SDK 调用。我们在后续系列文章中将专门分析 Azure Stack 的系统架构。

Azure Stack 提供的服务及能力

Azure Stack 只支持审核通过的硬件,对资源要求较高。微软最初的规划是在 2016 年末前提供 Azure Stack,让客户可以在他们自己选择的硬件上运行 Azure Stack。考虑到早期的本地云解决方案失败的原因很大来自复杂性,有太多需要用户自己修改的部分。去年 7 月,微软转变了规划,要求用户以一体机的形式购买 Azure Stack。GA 以后用户可以从微软的合作伙伴包括戴尔 EMC、HPE 和联想处购买已经预置好软件系统的一体机,另外 2018 年之后可以从思科和华为处获得一体机硬件。省去用户自己搭建的繁琐,显著提升效率。

Azure Stack GA 阶段公布的最小集群为 4 个服务节点,最大集群为 12 个节点。全部集群节点工作在一个 scale unit 一个 region 之中。其中一个机架上包含两台 Top-of-Rack 交换机,一台 BMC 管理交换机,另外还需要一个 1U 的生命周期管理节点,用于安装部署及更新维护。下表描述了 Azure Stack 多节点环境对不同资源的基本需求:

OpenStack 和 Azure Stack 功能对比

随着云计算技术日渐成熟,不同云平台所能提供的功能也日渐同质化,比如 OpenStack 可以通过多个分支扩展来覆盖云计算领域的众多功能点。当然具体产品和服务的稳定性需要经过一段时间的测试来识别。在不做过多说明的情况,本文仅对比了 OpenStack 社区版本提供的基础服务能力以及 Azure Stack 目前公布的 GA 功能。相关功能比较仅代表了不同产品定位,不能作为性能好快的最终评价。

从基础支持功能上看, Azure Stack 提供功能更为全面,包括虚拟机规模集、更新域、DNS Zone 等相对于其它私有云服务独有的功能,特别是在 PaaS 层,创造性地提供 App Service、无服务框架平台、消息队列服务功能。并且 Azure Stack 运维复杂度低,可靠性、稳定性和桌面支持都很高。

IaaS 层,Azure Stack 更关注性能的提供,而 OpenStack 虽然在虚机层面的容错、扩展、高可用方面也有诸多开源的分支实现,但目前仍不是主流的 Openstack 解决方案。PaaS 层 Azure Stack 更多的是在借助 Azure 的 PaaS 层技术支持,OpenStack 通过配合多款开源 PaaS 层组件构建自己的 PaaS 层解决方案;在管理 / 开发方面,OpenStack 表现不错,支持 REST API 和一键部署模板,但不支持基础设施即服务架构和不停止业务升级。同样,由于是开源项目,OpenStack 运维复杂度更高。但在规模上,OpenStack 优势明显,理论上无限扩容,而 Azure Stack 在 GA 阶段只支持 4-12 个节点,可能会限制用户应用场景的选择。

综上可以看到,Azure Stack 的定位不仅仅是一个纯 IaaS 的私有云平台,更多地是在借助 Azure 公有云的 PaaS 服务实现一个部署在私有云中的 Azure 实例。

三、Azure Stack 和 OpenStack 应用场景分析

是选择商用云平台 Azure Stack 还是选择开源云平台 OpenStack 创建企业私有云确实是个问题。下面我们通过分析性价比、自主可控、性价比、稳定性、易用性等方面,来探讨两种云的使用场景。

价格:Azure Stack 高 OpenStack 低

如果采用 OpenStack 技术,有上表中 5 种方式部署。451 Research 的研究表明, DIY 相对成本较高,选择供应商提供的 OpenStack 分发版,或者直接通过服务提供商(它们也可能使用流行的分发版),运营总成本会有所降低。根据 451 Research 云价格指数,运用 RedHat OpenStack 私有云机小时成本约为 0.10 美元,可以测算出,100% 使用率下,每虚拟机年费为 1300 美元左右。

如果使用 Azure Stack, 成本包括,一体机硬件费用,一次性安装费,Azure Stack 服务使用费等。

图表 4 Azure Stack 服务采用与 Azure 相同的计量单位

如图表 4 所示,Azure Stack 服务采用与 Azure 相同的计量单位,且微软官方表示单价会更低。可以猜测购置一体机硬件费用在总花费上比重最大。我们预估每个节点(软件 + 硬件)年费为 25 万美金(利用率 100%),假设每节点有 50 台 Base VM(含 Blob 存储), 这样每虚拟机年费为 5000 美元左右(数据仅供参考)。

可以揣测,在初期,Azure Stack 在价格方面不会具备特别大的优势,甚至比较昂贵。价格及服务交付方式体现了 Azure Stack 在设计方面的一种思想,在人工成本日益增加的今天,专注于提供一种产品尽量压缩公司在安装、部署、运营等方面的顾虑,将注意力更多的聚焦在业务层面上。这种模式特别适合欧美的云计算现状。当然,在 OpenStack 占主导地位的中国私有云市场,这并不是现状,但这确实是未来发展的一个趋势。

自主可控:Azure Stack 低 OpenStack 高

2014 年以来,受“棱镜门”信息安全事件的影响,我国对信息安全的重视度逐渐加强,推出了一系列应对措施,各种政策和意见明确了通过自主可控的技术来建设国内信息化平台的方向。OpenStack 作为开源项目,意味着云平台会更加自主可控。因此,对于政务云等具有政治敏感性或对安全可控性较高的场景,OpenStack 是比较合适的选项 。

混合云支持能力: Azure Stack 强 OpenStack 弱

企业对公有云和私有云需求存在很大差异,公有云的优势是便宜、便捷,企业基本不需要自己运维,私有云的优势是管理和控制,企业可以随时进行修改。最完美的解决方案是业务可以在公有云、私有云上自由切换,但实际上除了青云等少数厂商,云厂商在公有云和私有云的底层架构设计是不一样的,因此公私切换中存在很多问题。

而 Azure Stack 改变了这个状况,Azure Stack 天生具有支持混合云的基因,它与 Azure 共用应用模型、自主门户平台和 API,并且两者开发与 DevOps、集成管理和安全、身份认证、数据平台均一致,Azure Stack 真正具有混合云所需的高度一致性。

图表 5 Azure Stack 真正具有混合云所需的高度一致性

使用难度:Azure Stack 小 OpenStack 大

OpenStack 具有陡峭的学习曲线,需要花费大量的精力和资源来部署私有云平台,这也是让许多初创公司在考虑部署私有云时对 OpenStack 望而生畏的原因之一。而易用性恰恰是微软的优势,为了便于管理,Azure Stack 开发了视觉化管理平台和图形化界面。同时微软的设计让部署流程简单化。因此 Azure Stack 适合没有技术积累,但对私有 / 混合云有迫切需求的厂商,如转型中的传统企业、一些初创公司等。

最终用户信任度:Azure Stack 高 OpenStack 一般

Azure Stack 是成熟的商业产品,用户信任度较高;OpenStack 的用户信任度则一般

交付周期: Azure Stack 短 OpenStack 长

OpenStack 项目周期较长,一般需要半年以上;Azure Stack 通过一体机的方式获得全面的解决方案,交付周期较短。Azure Stack 部署迅速,初始状态即可交付上百台虚机。

稳定性:Azure Stack 高 OpenStack 一般

毋庸置疑,由于微软在 Azure Stack 上投入大量的研发及测试成本,Azure Stack 在稳定性上要优于开源 OpenStack。Azure Stack 适合金融云等对稳定性、安全性要求较高的场景,同时,金融企业有能力承担不菲的资金投入。同时,用户可以实时地、低风险地使用 Azure Stack 与 Azure 资源。

综上,Azure Stack 非常适合混合云使用场景,官方文档描述的 Azure 和 Azure Stack 混合云案例如下:

  • “边缘及离线解决方案:借助本地和云的通用应用程序逻辑,在 Azure Stack 中处理本地数据,然后在 Azure 中整合和进一步分析,以解决延迟和连接性问题。
  • 跨云和本地的现代应用程序:借助 Azure Stack, 可采用 Azure 网络及移动服务、容器、无服务器计算以及微服务架构,来更新和扩展现有应用程序,并使用本地和云端的一致 DevOps 流程。
  • 满足任意法律法规的云应用程序:在 Azure 上开发和部署的应用,可借助 Azure Stack 在本地环境下灵活部署,满足国家、地域及行业相关法规和政策要求,且无需任何代码修改”。

虽然 Azure Stack 价格上优势不大,但稳定性和最终用户信任度高,交付周期短,而银行等传统金融对稳定性、安全性和实时性要求极高,且要求极强的线下交付能力,非常适合采用 Azure Stack 私有云;互联网金融 P2P 业务,弹性要求高,适合 Azure 公有云为主的混合云策略。同时,Azure Stack 易用性强,适合没有技术积累但有迫切运需求的传统企业或初创公司。

OpenStack 自主可控,适合政务云等对安全和稳定性要求较高的场景,是政府、央企、国企的优选对象;且 OpenStack 相对价格低廉,对于技术型中小企业也是不错的选择。

四、Azure Stack 技术启发

Azure Stack 作为即将推出的新的混合云平台,有许多地方值得我们研究和学习的地方。我们通过对比分析体系架构、功能特点及市场领域等方面,总结如下:

1、云平台的全生命周期管理

一方面由于 Azure Stack 一体机设计的初衷,当然更源于 Azure Stack 采用了 Azure 原生的云平台架构及技术支撑,在设计之初 Azure Stack 就追求对整个云平台的全方位管控及全生命周期管理。尤其体现在云平台的升级环节,一方面可以提供动态的补丁更新,另一方面所有的物理节点可以在服务不中断的前提下一组一组的完成整个升级流程。另外整个固件的升级过程也被包含在系统升级流程之中,可以随软件包一起推送到生命周期管理节点完成升级维护。

图表 6Azure Stack 全生命周期管理

全生命周期管理的另一个特点是,无论是 SaaS、PaaS 还是 IaaS,Azure Stack 和 Azure 都有配套的监控及故障诊断方案,用户或开发人员可以根据自己的需求设定一定的监控规则或故障诊断方式来一起介入对服务的管理,经过大量在 Azure 上的实践,相关功能已经日趋完善,给使用者带来了很友好的用户体验提升。

图表 7 Azure Stack 存储监控界面

2、基础设施即代码

基础设施即代码(Infrastructure as a code, IaaC)的设计理念贯穿于 Azure 的两代门户(经典门户和 ARM 门口),即使是两台门户无法相互兼容,微软也在强力推行基于 ARM(Azure Resource Manager)的设计。所以,毫不意外 Azure Stack 中承载了与 Azure 完全一样的 ARM 结构,足以实现一套代码可以在两个不同平台部署完全相同的功能组件及服务。

同样的,紧接着微软的步伐,2016 年中旬阿里云推出资源编排 ROS 的预览版服务,使基础设施及代码成为可能。Azure Stack 中 ARM 实现的不单单是一键部署应用,同时将整个 ARM 体系与系统更新、系统扩展、系统维护有机结合起来。一个很典型的功能体现是,用户可以先手动部署一份应用,Azure Stack 自动将整个部署过程抽象为 ARM 模板文件,然后用户导出模板文件可以用来在 Azure 或其它 Azure Stack 环境快速部署。

图表 8 Azure Stack 基于 ARM 的资源管理

3、存储方面

Azure Stack 在软件定义存储(SDS)技术上,使用了 Windows Server 2016 的 Storage Space Direct 技术,这是一项跟 ceph 使用形式很类似的超融合软件定义的存储结构。可以充分利用高性能盘构建的缓存性能来提升整个存储系统的 IOPS 能力,另外基于软件定义的统一存储架构可以实现动态的无限扩展、线性性能提升、故障自动迁移等特性。基于对使用资源的诸多规范,使得在性能上,Storage Space Direct 提供了足够的 QoS 保障,可以保证不同租户、不同虚拟机所使用的存储性能彼此互相隔离而不会产生资源竞争导致 IOPS 下降。另外,通过对接口及路径的优化可以充分发挥高性能盘的功能,实现百万级的 IOPS 并发性能。

除了 IaaS 层面的优化,Azure Stack 在 PaaS 层,根据不同用户的业务需求提供了 Queue、Table、Blob 等多种类型的存储方式,同时提供了基于 SAS(Shared Access Signatures)的共享访问控制,提供足够灵活的开发级访问需求的同时也严格控制了系统的安全性。

图表 9 基于 SAS(Shared Access Signatures)的共享访问控制

4、混合平台的业务模式和技术形态

Azure Stack 作为一款典型的混合云平台产品,在混合云技术架构及业务支撑方面有很多值得学习及借鉴的地方。首先,基于 Azure AD 的账号管理体系(Azure 公有云提供了 Identity as a Service 能力),打通了私有云和公有云的统一认证体系,同时可以借助 AAD 所提供的服务能力,快速的将其它的账号体系、自定义域名、自定义应用权限管理、多因子认证能力、单点登录等多种功能有效结合。

在业务支撑技术构建方面,Azure Stack 不再单纯把网络联通作为混合云的标准,提供了更深层次的整合,比如前面提到的通过 ARM 打通了同一套代码开发体系在不同云平台的部署、从 IaaS、PaaS 到 SaaS、用户自有应用多个维度的备份能力及业务提供。

图表 10 Azure Stack 与 Azure 混合云的高度一致性

5、其它

Azure Stack 不是一款纯粹的私有云产品,所以它借助了很多 Azure 的功能特性和技术专长,并在 Azure Stack 环境中得到了充分的体现。比如 GA 阶段提供的 App Service 服务、SQL/MySQL 数据库即服务等 PaaS 业务都为 Azure 公有云原生服务的裁剪。另外,Azure Stack 的另一个特点,是可以借助 Marketplace 的同步功能,未来不断的从 Azure 同步应用及服务来扩展其生态。

参考

  1. 云服务趋势:企业上云成共识,公有云将取代私有云
  2. 微软公开预览 Azure Stack 产品发布目标 2017 年中
  3. OpenStack 私有云和 VMware 私有云谁更贵?
  4. 艾瑞咨询:2016 年中国云服务市场规模超 500 亿

感谢孟夕对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-10 17:153073

评论

发布
暂无评论
发现更多内容

Go学习笔记——常量

为自己带盐

Go 学习笔记 2月月更

通用文件服务设计与开发实践:什么是文件服务

听雨吹风

文件服务 存储系统 2月月更

在低代码开发时代,还需要IT部门吗?

TOBESOFT特碧软件

低代码 数字化 TOBESOFT

OceanBase 雄踞墨天轮2021年度中国数据库魔力象限领导者

OceanBase 数据库

魔力象限 OceanBase 开源 领导者

带你掌握Visual Studio Code的格式化程序

华为云开发者联盟

Python 代码 格式化 Visual Studio Code linter

从IPv4 到 IPv6 的过渡技术

郑州埃文科技

ipv6 ipv4 过渡技术

去吗?去啊!喜欢就不要再犹豫

码哥字节

爱情 2月春节不断更 情人节 情书 2月月更

书单 | 作为冬奥会的技术支持方,阿里云的技术都写在这些书里了!

博文视点Broadview

【网络安全】什么是应急响应,应急响应中你到底该关注哪些指标?

H

网络安全 应急响应

如何用建木CI发送邮件

Jianmu

html 自动化 发送邮件

被催稿了,所以聊聊 长链接在移动端开发中如何做到和短链接一样高效

百瓶技术

TCP 计算机网络 websocket

mycat 中间件安装与使用

编程江湖

用python制作心型照片墙

36度道

Python基础

买贵不买对?这个情人节,你的礼物选对了吗?

易观分析

情人节 美妆

阿里巴巴如何进行测试提效 | 阿里巴巴DevOps实践指南

阿里云云效

阿里云 DevOps 云原生 测试 研发提效

实力卓越,旺链科技与IBM、华为等共登「超级账本」年度贡献榜!

旺链科技

区块链 超级账本 产业区块链

你的数据产品应该是一套解决方案

第519区

数据产品经理 解决方案 数据产品 2月月更

Mac 鼠标手势软件 -- MacStroke

TroyLiu

效率工具 推荐 Mac 鼠标手势 Mac 软件

jQuery常用方法归纳总结

编程江湖

朋友圈系统架构设计

Geek_8d5fe5

架构实战营

[C语言]打开C的大门

謓泽

入门 C语言 编程、 2月月更

小程序框架与平台编译对比

Speedoooo

编译 ios开发 APP开发 Andriod开发 小程序框架

1月月更获奖名单公布!快来获取专属海报

InfoQ写作社区官方

热门活动

网络安全kali渗透学习 web渗透入门 如何进行基于Nmap的扫描方式

学神来啦

霜皮剥落紫龙鳞,下里巴人再谈数据库SQL优化,索引(一级/二级/聚簇/非聚簇)原理

刘悦的技术博客

sql 优化 SQL优化 MySQL优化 :MySQL 数据库

Java&Go高性能队列之Disruptor性能测试

FunTester

Disruptor 性能测试 高性能 消息队列 FunTester

我们找回了泄露的内存

Qunar技术沙龙

DGIOT物联网架构设计

dgiot

物联网 2月月更 2月日更 dgiot dgiot物联网

dart系列之:集合使用最佳实践

程序那些事

flutter dart 程序那些事 2月月更

大数据培训:Flink调度器性能的提高

@零度

flink 大数据开发

运维工程师的工作内容有哪些?能详细列举一下吗?

行云管家

云计算 运维 系统运维 IT运维

谈Azure Stack在私有云/混合云生态中的定位_Azure_周颖颖_InfoQ精选文章