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

上海仪电Azure Stack技术深入浅出系列1:谈Azure Stack在私有云/混合云生态中的定位的更多相关文章

  1. 上海仪电Azure Stack技术深入浅出系列2:Azure Stack与Azure的有QoS保证的网络联通实现方法和对比测试

    本篇文章作为<Azure Stack技术深入浅出系列>的第二篇,将描述我们目前在构建基于Azure Stack混合云业务解决方案方面所面临的网络连通困难,以及相关技术人员为解决这一问题所做 ...

  2. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  3. Azure IoT 技术研究系列3-设备到云、云到设备通信

    上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...

  4. Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别

    上两篇博文中,我们介绍了将设备注册到Azure IoT Hub,设备到云.云到设备之间的通信: Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系 ...

  5. Azure IoT 技术研究系列5-Azure IoT Hub与Event Hub比较

    上篇博文中,我们介绍了Azure IoT Hub的使用配额和缩放级别: Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别 本文中,我们比较一下Azure IoT Hub和 ...

  6. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  7. Azure IoT 技术研究系列2

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  8. Azure IoT 技术研究系列3

    上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...

  9. Azure IoT 技术研究系列4

    上两篇博文中,我们介绍了将设备注册到Azure IoT Hub,设备到云.云到设备之间的通信: Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系 ...

随机推荐

  1. java如何随机生成定长的字符串

    小数,字符串.时间等示例代码 String base = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 public c ...

  2. php最全基础,数组,函数,超全局变量,时间,回话,文件,php操作mysql

    共享一份学习php最全基础语法知识的笔记 原文链接:http://www.cnblogs.com/oscn/p/3607757.html:略有修改   http://www.cnblogs.com/l ...

  3. poj3449 Geometric Shapes【计算几何】

    含[判断线段相交].[判断两点在线段两侧].[判断三点共线].[判断点在线段上]模板   Geometric Shapes Time Limit: 2000MS   Memory Limit: 655 ...

  4. Hibernate的状态,缓存和映射

    Hibernate的状态,缓存和映射 1.对象的状态 1.1.对象状态的概念和分类 在使用Hibernate操作数据库的时候,我们先创建了JavaBean对象,然后使用session来保存或者更新到数 ...

  5. tensorflow和python操作中的笔记

    前一段时间做了一些项目,把一些笔记放在了txt中,现分享出来,自己也能够时长预习. 1) 读取文件时,将固定的文件地址,采用数组或者字符串的形式,提前表示出来,后期使用时候采用拼接操作 2) # 得到 ...

  6. 【css a标签 鼠标悬浮时变手型】

    <a href="#" style="cursor:pointer">

  7. centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课

    centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/ind ...

  8. java-mybaits-009-mybatis-spring-使用,SqlSessionFactoryBean、事务

    一.版本限制 参看地址:http://www.mybatis.org/spring/ 二.使用入门 2.1.pom <dependency> <groupId>org.myba ...

  9. git-【五】远程仓库

    一.准备工作 在了解之前,先注册github[https://github.com/]账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置: 第一步 创建SSH ...

  10. python基础(基础数据类型)

    一. 引子 1. 什么是数据 x=10,10是我们要存储的数据 2. 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3.数据类型 数字 字符串 列表 元组 字 ...