最近的Ignite 2017宣布了Azure将在年底推出保留实例(Reserved Instance)。虽然在没有RI的这些年,Azure的EA Monetary Commitment同样也提供了和RI相似的价格优惠

但是对于公有云的用户来讲,这个消息依然振奋人心,毕竟在https://feedback.azure.com随便搜搜,都能发现早在2009年就有人提交了在Azure支持RI的feature request。

非常可惜的是,Azure的官网关于保留实例RI的文档几乎没有。我们只能从Ignite的视频中试试能不能窥一斑而知全豹。

Azure RI的概述

看完Ignite上RI的介绍的视频,第一感受是简单粗暴但是有效,非常不微软。

首先,任何EA客户或Web Direct 客户都可以购买RI。

其次,

  • 从付费模式来讲,Azure RI支持预付费
  • 从Reserved期限来讲,Azure RI支持一年期或三年期
  • 从可变动性来讲,Azure RI支持在购买期限的任何时间段退换货(大杀器)
  • 从使用范围来讲,Azure RI支持订阅限定或EA限定(支持购买后的范围更改)
  • 从License来讲,  Azure RI支持微软的Azure Hybrid Benefit (Windows Workload的省钱大杀器)

另外,年底会有 新版本的EA Monetary,EA预付费的那部分钱可以在EA期限内的任何时间段购买RI(杀器+1)。

接下来,我们通过具体例子来分析Azure RI的优势,以及为什么说Azure RI有大杀器

Azure RI的优势

节约成本

用户对RI最关心的问题是买RI可以省多少钱,我们看一下下面两张图

  • RI vs Pay-as-You-Go

可见,一个Dv2系列的虚机一年期RI可以省46%,而三年期可以省到65%。大内存的M系列虚机三年期RI则可以省到72%

  • RI with Azure Hybrid Benefit vs Pay-as-You-Go (Windows)

在激活Azure特有的Hybrid Benefit后,Dv2最大可节约82%的开支-----------应用场景: 对于在On-Prem已经购买Windows Server License with SA的用户,Azure上的Windows RI节约开支高达82%

简单灵活

从上一章节可以看到,Azure RI在节约成本方面遵循了一贯的price matching策略,即对虚机,存储,带宽等产品match AWS的相应价格(在Windows workload来讲,Azure的RI省钱更多)。

那么在价格相似的情况下,用户最关心的问题就是使用是不是简单灵活。我们看一下常见的RI使用中的问题:

  • 在RI到期之前,由于业务变化等原因,某系统的Infrastructure不再被需要
  • 在RI到期之前,Azure推出了价格相同性能更好的新系列虚机
  • 在RI到期之前,全球多Region部署的系统需要把在业务下降的Region A购买的RI转移到业务增长迅速的Region B
  • 在RI到期之前,系统的Infrastructure经过优化,需要更改RI的型号和数量
  • 在RI到期之前,原来为某个部门的订阅专门购买的RI需要转移到其他部门的订阅或者直接转移到EA
  • ...

Azure RI解决这些问题的办法相当简单,不管是一年期还是三年期的RI:

  • 需要改RI的虚机Size,数目或者Region,只要新买的RI的价值大于等于还没用掉的那部分RI价值 ,Portal(可能还有Powershell和CLI)里直接改就好了。
  • 需要完全取消RI的, 还没用掉的那部分RI价值减掉一个early termination 费用后会退还用户
  • 需要从分配给某个订阅的RI转移到其他订阅或是EA的,也是直接就可以改了

相比AWS的RI,为了达到购买后虚机Size和数目的可变动性,用户必须购买单价更高期限必须是三年的Convertible RI。

同时,AWS的RI不支持退货,只能去RI MarketPlace出售。AWS会收取成交价格的12%做为手续费。

EA

既然Azure的RI简单灵活,也支持Web Direct的模式,那企业用户还有没有必要买EA呢?我们继续看一下Ignite上透露出来年底新版本EA的信息。

  • EA预付费的金额不在受限于一年内用完,在EA的3年commitment周期都有效。
  • EA预付费的金额可以在EA期限内任何时间段购买Azure RI。
    1. EA用户不再需要commit固定额度的Azure的花费后才能购买打折虚机
    2. EA用户可以在合同结束前把未使用的预付费金额购买RI,RI的期限不受EA期限的限制(用户预付费的每一分钱都不会被浪费)

Again,简单粗暴但是有效。另外,无责任猜想一下,基于Azure的Price Matching策略,根据EA客户的预付费金额大小还可以购买打折的RI

Azure RI的管理

使用RI的主要目的不仅仅是Cost Saving,更多时候是对应用系统的一种Capacity Planning。因此,我们还需要做到以下几点来管理好RI:

  • 理解系统在bussiness上长期目标
  • 了解应用的需求,架构以及End User的使用习惯
  • 监测云环境和云资源使用率
  • 留心RI的过期日
  • 做好RI的变更管理,根据优化需求调整RI类型,清理不需要的RI
  • Consolidate来自于不同管理平台的成本控制信息(EA portal, Azure Portal, On-prem Hybrid,CSP...)

等RI年底上线后,我们可以看看微软今年购买的云成本管理软件Cloudyn在这方面有没有相应的功能支持。

我们注意到,即使在产品快速迭代敏捷发布的今天,一些骨灰级公有云用户都已经达到了云上虚拟机资源70%~90%的RI使用率,RI管理优化这一领域有很大的发展空间。同样无责任猜想一下,国内的云管平台厂商应该也会迅速跟进。

Azure RI的购买

以下是Ignite上展示的Azure RI购买页面,用户只要给出Region, VM Size和期限就可以了,相当简单。(题外话,国内的EA用户应该不用担心发票问题,如上章所述,EA的committed预付费是可以购买RI的)

想象空间

Azure目前的计划是在年底在公共region中逐步推出RI,之后向独立Region(德国,中国,US Gov)推出。所以国内的Azure 用户还需要耐心等待一段时间。

那么除了Ignite公布的功能,我们的想象空间里还能加入些什么,比方说:

  • RI Marketplace

有了随时退换货的杀器,Azure应该不会需要build一个出售购买二手RI的MarketPlace。

毕竟lauch有5年之久的AWS RI Marketplace叫好不叫座,全球每天offer的instance数目不到1500,其中50%以上还集中在us east,四分之一是micro,nano和small size的instance。

  • Scheduled RI

Azure已经有了Batch可以满足此类需求

  • Spot Instance

同样,Batch的low priority instance也满足了此类需求

  • Reserved SQL PaaS, Reserved MySQL PaaS,Reserved Redis,Reserved Data Warehouse....

这个可以有,大家赞同的话麻烦去https://feedback.azure.com提需求

  • CPU/Memory Usage Commitment

有随时退换货的杀器,这个功能应该也不需要了

  • TBC

初探Azure的保留实例(Reserved Instance)的更多相关文章

  1. OC 实例变量(instance var)与属性(@property)的关系 isa指针

    实例变量(instance var)与属性(@property)的关系 Objective-C 2.0之后,声明一个@property name自动产生一个实例变量,名为_name,因此省去实例变量和 ...

  2. Linux/Unix shell 监控Oracle实例(monitor instance)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...

  3. 第一次链接Azure,固定实例内部IP(DIP)

    下载web pi 下载Azure powershell 打开 Poweshell ISE 输入 Get-AzurePublishSettingsFile -Environment "Azur ...

  4. 什么是实例内部类 Instance inner class有什么语法?

    1.Instance inner class定义,用途和用法 重要语法:马克-to-win:1)实例内部类一定得有个外层类的实例和它绑定在一起,所以可以用This指针.所以必须先实例化外层类之后才能再 ...

  5. C#代码实现,确保windows程序只有一个实例(instance)

    static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static vo ...

  6. 获取当前应用程序实例(instance:HINSTANCE)(转)

    if using MFC AfxGetInstanceHandle(). For console programs, call GetConsoleWindow() to get the HWND t ...

  7. Azure Reserved IP

    Azure PowerShell > Add-AzureAccount> Select-AzureSubscription "SubscriptionName"> ...

  8. 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构

    什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...

  9. OC 实例变量(Instance Var)和成员变量(member var)区别

    摘要:  Objective-C  引入了“实例变量"的概念,但同时, 也经常出现 “成员变量”的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢? 今天查看apple 的官方 ...

随机推荐

  1. 【手记】让Fiddler抓取入站请求,或者叫用Fiddler做反向代理

    注意:本文不涉及HTTPS的场景 最近在弄公众号开发,除了主动去调公众号接口,还存在公众号后台要反过来调你的情形,攻受转换一线间.对于回调的情况,想要知道对方是怎样来请求的很有必要.此前经常用Fidd ...

  2. Kaggle Challenge简要介绍

    https://en.wikipedia.org/wiki/Kaggle 以下内容,直接摘自维基百科,主要起到一个记录的作用,提醒自己有时间关注关注这个竞赛. Kaggle is a platform ...

  3. x86平台上的Windows页表映射机制

    首先,在x86架构的处理器上,一个正常页面大小为4KB,非PAE模式下,CR3持有页目录页面的物理地址,PDE和PTE格式相同大小为4字节.此时每个页表页面包含1024个PTE,可以映射1024个页面 ...

  4. web离线应用--applicationCache

    applicationCache是html5新增的一个离线应用功能 离线浏览: 用户可以在离线状态下浏览网站内容. 更快的速度: 因为数据被存储在本地,所以速度会更快. 减轻服务器的负载: 浏览器只会 ...

  5. TCP/IP协议栈 --- IP路由

    IP路由:当一个IP包在主机发送出去或者在网络当中时,是怎么选择路径到达目的主机的呢? 一般情况下, 如果说源主机和目的主机在同一个网络中的话,那个数据报可以直接到达目的主机而不经过路由器,下面可以试 ...

  6. 基于Node的高性能MVC框架

    赶上公司去Windows化,有一大波.net站点需要转成Node.js,于是自己就顺便琢磨一个通用的Node版MVC框架. 经过几天的努力,beta版终于面世了!因为其高性能的特点,特地命名node- ...

  7. mysql最佳优化经验

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...

  8. echarts 点击方法总结,点任意一点获取点击数据,在多图联动中用生成标线举例

    关于点击(包括左击,双击,右击等)echarts图形任意一点,获取相关的图形数据,尤其是多图,我想部分人遇到这个问题一直很头大.下面我用举例说明,如何在多图联动基础上,我们点击点击任意一个图上任意一点 ...

  9. dock使用方法

    Docker 是一个开源项目,为开发者和系统管理员提供了一个开放的平台,在任何地方通过打包和运行应用程序作为一个轻量级的容器.Docker 在软件容器内自动部署应用程序.Docker 最开始由 Sol ...

  10. jqgrid嵌套子表格

    jqgrid的subGrid子表格 jqGrid的一项高级功能就是嵌套子表格,使用起来也非常简单.使用的方式有两种: 使用普通的subGrid子表格: 使用一个完整jqGrid作为子表格: 1.选项含 ...