一、 国内私有云业务前景
就在今年4月,工信部发布《云计算发展三年行动计划(2017-2019)》,提出2019年云计算产业规模将达到4300亿。云计算已成为国家新一代信息产业发展的重要战略。从中国整个IT投入来看,政府、央企、国企以及大型民企占据主要份额,这些企业都意图拥抱云计算以提升生产力,但出于安全的考虑,又暂时对公有云有所顾忌。因此未来几年,私有云业务仍然会占据中国大部分市场份额。
根据Right Scale发布的《2017 State of the CloudSurvey》(参见下图),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%),暗示了AzurePack/Stack未来巨大的增长潜力。随着微软Azure Stack(2017年7月)的姗姗到来,2018年全球私有云市场局面可能会发生变化。
二、 私有云平台的技术功能对比
2.1 OpenStack
OpenStack开始于2010年,由NASA(美国国家航空航天局)和Rackspace合作研发并发起,是一个旨在为公共及私有云的建设与管理提供软件的开源项目,发展速度非常快。
为方便说明比较,以下以具体OpenStack项目-仪电i-stack智慧城市云操作系统(基于OpenStack开发,见下图)为例,i-stack提供云平台的基础管理功能,包括计算、网络、存储等。
2.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让企业在防火墙后获得与公有云相同的能力,解决了监管限制、 数据敏感性,网路延迟以及自定义功能需求。
Azure Stack源自于Azure。以下是Azure Stack的架构概览:
Azure Stack在IaaS层借助Windows Server 2016的软件定义存储Storage Space Direct技术和软件定义网络能力。同时跟Azure公有云类似,通过资源提供层(Resource Provider)对象封装物理层的资源及能力,最后通过Azure Resource Manager统一的对资源接口进行封装,供相关的UX和SDK调用。我们在后续系列文章中将专门分析Azure Stack的系统架构。
2.2.1 Azure Stack提供的服务及能力
2.2.2 硬件需求
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多节点环境对不同资源的基本需求:
组件 | 要求 |
---|---|
Top-of-Rack Switches |
一个机架两台交换机用于高可用; |
10GbE或更高的网络联通 | |
支持BGP、DCB、PFC、ETS和MC-LAG | |
BMC/管理网络交换机 |
1GbE交换能力,通过L3路由无缝连接至ToRs |
服务器节点 |
CPU:最小20 cores(2 socket @ 10 cores) |
内存: 最小256GB | |
启动盘: 1或2个(镜像复制)400GB | |
网卡:至少10Gb,2个端口的RDMA网卡 | |
管理网口:BMC | |
电源:双电源 | |
存储-缓存设备:至少两块NVMe或SSD硬盘 | |
存储-存储设备:至少4块HDD或SSD硬盘 |
2.3 OpenStack和Azure Stack功能对比
随着云计算技术日渐成熟,不同云平台所能提供的功能也日渐同质化,比如OpenStack可以通过多个分支扩展来覆盖云计算领域的众多功能点。当然具体产品和服务的稳定性需要经过一段时间的测试来识别。在不做过多说明的情况,本文仅对比了OpenStack社区版本提供的基础服务能力以及Azure Stack 目前公布的GA功能。相关功能比较仅代表了不同产品定位,不能作为性能好快的最终评价。
对比点 | OpenStack | Azure Stack | |
---|---|---|---|
IaaS |
虚拟机生命周期管理 | 有 | 有 |
云主机QoS | 无 | 有 | |
可用性集(VM HA) | 无 | 有 | |
虚拟机规模集 | 无 | 有 | |
容错域 | 无 | 有 | |
更新域 | 无 | 有 | |
负载均衡 | 有- | 有 | |
Ipsec ××× | 有 | 有 | |
DNS Zone | 无 | 有 | |
Live Migration | 有 | 有 | |
超融合 | 有- | 有 | |
PaaS |
App Service | 无 | 有 |
无服务框架平台 | 无 | 有 | |
微服务平台 | 有 - | 有 | |
消息队列服务 | 无 | 有 | |
管理/开发 |
密钥仓库 | 无 | 有 |
MarketPlace | 无 | 有 | |
混合模式支持 | 有- | 有 | |
Restful API接口 | 有 | 有 | |
基础设施即服务架构 | 无 | 有 | |
一键部署模板 | 有 | 有 | |
监控 | 有- | 有 | |
不停止业务升级 | 无 | 有 | |
其它 |
可靠性 | 中 | 高 |
稳定性 | 中 | 高 | |
运维复杂度 | 高 | 低 | |
桌面支持 | 中 | 高 | |
使用成本 | 中/低 | 中/高 | |
规模 | 理论上无上限 | 4-8(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创建企业私有云确实是个问题。下面我们通过分析性价比、自主可控、性价比、稳定性、易用性等方面,来探讨两种云的使用场景
3.1 价格: Azure Stack 高 OpenStack低
如果采用OpenStack技术,有上表中5种方式部署。451 Research的研究表明, DIY相对成本较高,选择供应商提供的OpenStack分发版,或者直接通过服务提供商(它们也可能使用流行的分发版),运营总成本会有所降低。根据451 Research云价格指数,运用RedHat OpenStack私有云机小时成本约为0.10美元,可以测算出,100%使用率下,每虚拟机年费为1300美元左右。
如果使用Azure Stack, 成本包括,一体机硬件费用,一次性安装费,Azure Stack服务使用费等。
如上图所示,Azure Stack服务采用与Azure相同的计量单位,且微软官方表示单价会更低。可以猜测购置一体机硬件费用在总花费上比重最大。我们预估每个节点(软件+硬件)年费为25万美金(利用率100%),假设每节点有50台Base VM(含Blob存储), 这样每虚拟机年费为5000美元左右(数据仅供参考)。
可以揣测,在初期,Azure Stack在价格方面不会具备特别大的优势,甚至比较昂贵。价格及服务交付方式体现了Azure Stack在设计方面的一种思想,在人工成本日益增加的今天,专注于提供一种产品尽量压缩公司在安装、部署、运营等方面的顾虑,将注意力更多的聚焦在业务层面上。这种模式特别适合欧美的云计算现状。当然,在OpenStack占主导地位的中国私有云市场,这并不是现状,但这确实是未来发展的一个趋势。
3.2 自主可控: Azure Stack 低 OpenStack 高
2014 年以来,受“棱镜门”信息安全事件的影响,我国对信息安全的重视度逐渐加强,推出了一系列应对措施,各种政策和意见明确了通过自主可控的技术来建设国内信息化平台的方向。OpenStack作为开源项目,意味着云平台会更加自主可控。因此,对于政务云等具有政治敏感性或对安全可控性较高的场景,OpenStack是比较合适的选项 。
3.3 混合云支持能力: Azure Stack 强 OpenStack 弱
企业对公有云和私有云需求存在很大差异,公有云的优势是便宜、便捷,企业基本不需要自己运维,私有云的优势是管理和控制,企业可以随时进行修改。最完美的解决方案是业务可以在公有云、私有云上自由切换,但实际上除了×××等少数厂商,云厂商在公有云和私有云的底层架构设计是不一样的,因此公私切换中存在很多问题。
而Azure Stack改变了这个状况,Azure Stack天生具有支持混合云的基因,它与Azure共用应用模型、自主门户平台和API,并且两者开发与DevOps、集成管理和安全、身份认证、数据平台均一致,Azure Stack真正具有混合云所需的高度一致性。
3.4 使用难度: Azure Stack 小 OpenStack 大
OpenStack具有陡峭的学习曲线,需要花费大量的精力和资源来部署私有云平台,这也是让许多初创公司在考虑部署私有云时对OpenStack望而生畏的原因之一。而易用性恰恰是微软的优势,为了便于管理,Azure Stack开发了视觉化管理平台和图形化界面。同时微软的设计让部署流程简单化。因此Azure Stack适合没有技术积累,但对私有/混合云有迫切需求的厂商,如转型中的传统企业、一些初创公司等。
3.5 最终用户信任度: Azure Stack 高 OpenStack 一般
Azure Stack是成熟的商业产品,用户信任度较高;OpenStack的用户信任度则一般
3.6 交付周期: Azure Stack 短 OpenStack 长
OpenStack项目周期较长,一般需要半年以上;Azure Stack通过一体机的方式获得全面的解决方案,交付周期较短。Azure Stack部署迅速,初始状态即可交付上百台虚机。
3.7 稳定性: 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作为即将推出的新的混合云平台,有许多地方值得我们研究和学习的地方。我们通过对比分析体系架构、功能特点及市场领域等方面,总结如下:
4.1 云平台的全生命周期管理
一方面由于Azure Stack一体机设计的初衷,当然更源于Azure Stack采用了Azure原生的云平台架构及技术支撑,在设计之初Azure Stack就追求对整个云平台的全方位管控及全生命周期管理。尤其体现在云平台的升级环节,一方面可以提供动态的补丁更新,另一方面所有的物理节点可以在服务不中断的前提下一组一组的完成整个升级流程。另外整个固件的升级过程也被包含在系统升级流程之中,可以随软件包一起推送到生命周期管理节点完成升级维护。
全生命周期管理的另一个特点是,无论是SaaS、PaaS还是IaaS,Azure Stack和Azure都有配套的监控及故障诊断方案,用户或开发人员可以根据自己的需求设定一定的监控规则或故障诊断方式来一起介入对服务的管理,经过大量在Azure上的实践,相关功能已经日趋完善,给使用者带来了很友好的用户体验提升。
4.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环境快速部署。
4.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)的共享访问控制,提供足够灵活的开发级访问需求的同时也严格控制了系统的安全性。
4.4 混合平台的业务模式和技术形态
Azure Stack作为一款典型的混合云平台产品,在混合云技术架构及业务支撑方面有很多值得学习及借鉴的地方。首先,基于Azure AD的账号管理体系(Azure公有云提供了Identity as a Service能力),打通了私有云和公有云的统一认证体系,同时可以借助AAD所提供的服务能力,快速的将其它的账号体系、自定义域名、自定义应用权限管理、多因子认证能力、单点登录等多种功能有效结合。在业务支撑技术构建方面,Azure Stack不再单纯把网络联通作为混合云的标准,提供了更深层次的整合,比如前面提到的通过ARM打通了同一套代码开发体系在不同云平台的部署、从IaaS、PaaS到SaaS、用户自有应用多个维度的备份能力及业务提供。
4.5 其它
Azure Stack不是一款纯粹的私有云产品,所以它借助了很多Azure的功能特性和技术专长,并在Azure Stack环境中得到了充分的体现。比如GA阶段提供的App Service服务、SQL/MySQL数据库即服务等PaaS业务都为Azure公有云原生服务的裁剪。另外,Azure Stack的另一个特点,是可以借助Marketplace的同步功能,未来不断的从Azure同步应用及服务来扩展其生态。
作者:周颖颖
参考
云服务趋势:企业上云成共识,公有云将取代私有云
微软公开预览Azure Stack产品发布目标2017年中
OpenStack私有云和VMware私有云谁更贵?
艾瑞咨询:2016年中国云服务市场规模超500亿
如果对文章内容感兴趣请联系:
仪电(集团)有限公司Azure Stack技术支持团队( [email protected] / [email protected])
转载请注明:转载自Azure Stack Notes博客(http://a-stack.com)