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高度统一,可以向公有云无缝扩展。这种方式促进了锁定,对供应商有利,但对客户的好处也很明显,因为它提供了一个更快,更容易的私有云路径。
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个节点。
2.3 OpenStack和Azure Stack功能对比
随着云计算技术日渐成熟,不同云平台所能提供的功能也日渐同质化,比如OpenStack可以通过多个分支扩展来覆盖云计算领域的众多功能点。当然具体产品和服务的稳定性需要经过一段时间的测试来识别。在不做过多说明的情况,本文仅对比了OpenStack社区版本提供的基础服务能力以及Azure Stack 目前公布的GA功能。相关功能比较仅代表了不同产品定位,不能作为性能好快的最终评价。
- Azure Stack的定位不仅仅是一个纯IaaS的私有云平台,更多地是在借助Azure公有云的PaaS服务实现一个部署在私有云中的Azure实例。
3.1 价格: Azure Stack 高 OpenStack低
如果采用OpenStack技术,有上表中5种方式部署。451 Research的研究表明, DIY相对成本较高,选择供应商提供的OpenStack分发版,或者直接通过服务提供商(它们也可能使用流行的分发版),运营总成本会有所降低。根据451 Research云价格指数,运用RedHat OpenStack私有云机小时成本约为0.10美元,可以测算出,100%使用率下,每虚拟机年费为1300美元左右。
Azure Stack服务采用与Azure相同的计量单位,且微软官方表示单价会更低。可以猜测购置一体机硬件费用在总花费上比重最大。我们预估每个节点(软件+硬件)年费为25万美金(利用率100%),假设每节点有50台Base VM(含Blob存储), 这样每虚拟机年费为5000美元左右(数据仅供参考)。
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.4 混合平台的业务模式和技术形态
Azure Stack作为一款典型的混合云平台产品,在混合云技术架构及业务支撑方面有很多值得学习及借鉴的地方。首先,基于Azure AD的账号管理体系(Azure公有云提供了Identity as a Service能力),打通了私有云和公有云的统一认证体系,同时可以借助AAD所提供的服务能力,快速的将其它的账号体系、自定义域名、自定义应用权限管理、多因子认证能力、单点登录等多种功能有效结合。在业务支撑技术构建方面,Azure Stack不再单纯把网络联通作为混合云的标准,提供了更深层次的整合,比如前面提到的通过ARM打通了同一套代码开发体系在不同云平台的部署、从IaaS、PaaS到SaaS、用户自有应用多个维度的备份能力及业务提供。
- https://zhuanlan.zhihu.com/p/27681595?refer=inesa