对于Azure以及公有云的了解,可谓是永无止境的,用一句客户的话来说就是Azure是大海,只要你往前航行,一定能时不时的发现宝藏;Azure好比是一座冰山,当你以为你已经对Azure很熟悉了,其实这只是冰山一角。Azure与其他的公有云服务不同,是针对企业的,是真正完全为企业服务的,所以单纯的去按照官网单价乘以744小时来计算每月的服务价格,再乘以12来计算每年的服务价格,这种模式对于Azure并不是很适用。
所谓公有云,就是需要按需使用,按使用计费,而并非包断一次性计算,就如同我们家里的自来水、电费以及天然气。没有哪一种说是每小时多少钱,乘以744小时来算一个月交多少水电费,而都是按需使用,按使用计费,这才是真正的公有云。
在中国Azure的官方网站,我们可以看到非常清晰的服务报价,这个价格也是公开透明的,对于用户来讲,可以选择标准协议和高级协议。就拿Windows 虚拟机服务来看,所有规格的虚拟机都明码标价,每小时单价多少钱,每月多少钱(单价乘以744小时)。
虽然从价格来看,中国Azure比友商贵了很多,但实际上,这才是真正的公有云,真正的按需使用,按用量计费。下面我们来好好的看下什么是按需使用,按用量计费。对于Azure来讲,这点是Azure毋庸置疑的优势,我们拿虚拟机举个例子,当我们在Azure管理门户创建一台虚拟机,然后我们把它启动起来。
这时,Azure将会按分钟针对此虚拟机进行计费,这点通过前面的介绍相信大家已经了解了,如果这时候,我们选中虚拟机并单击管理控制台下方的关闭按钮,执行关闭操作。
稍等片刻后,我们再看虚拟机的状态,已经变成了"已停止(已取消分配)"。那么恭喜你,你的虚拟机已经不会再产生任何的费用了。你可能会问,这有什么用呢?专门创建一个虚拟机让它不开机运行,虽然不会产生费用,那这样有什么意思,那创建来干嘛呢?
可能有的朋友已经想到了,这就跟我们平常上班一样,每天早上9点到公司,晚上5点半下班,那么公司的电脑就一般来说就是我们上班的这朝九晚五中间的8个小时需要开机,而在其他的时间则不需要使用,除非加班。其实服务器也是一样,并非所有的服务器都需要7x24x365小时运行,也可以按照一定的规律作息。
如果按照这种算法(一台虚拟机每天只上班的时候运行8个小时),每天8个小时就意味着一个月只有三分之一的时间在运行,所以实际一年的价格就应该是:虚拟机每小时单价x31x12/3,也就是虚拟机每小时单价x31x4。我们这里拿一个中等性能的Windows虚拟机(A3 级别,四核心、7G 内存、285G 磁盘)来看一下,这样算下来到底一年需要多少钱:
由于中国Azure官网不支持按年算价格,我们只能选择4台此规格的虚拟机,来计算出4个月的价格:
需要注意的是,这4个月还是包含节假日的,一些服务器、系统可以在节假日关闭,那么一个月就只需要按照四分之三的时间运行,那么4个月的时间里实际上只有3个月的时间服务器是在运行的,那么一年这个配置的虚拟机的价格可以进一步降低到:
看了这么多,是不是觉得Azure的计费非常的有意思?这里提一个问题:如果在虚拟机中关闭虚拟机的操作系统,比如通过远程桌面连接到Windows虚拟机,然后在虚拟机中执行关机操作。
稍等片刻后,我们在管理控制台中可以看到此虚拟机已经处于关机状态了,大家猜一下这个时候此虚拟机还会计费吗?
答案是仍然会正常计费。为什么呢?因为Azure的虚拟机分为多种状态以及对应的是否计费,具体如下:
如果虚拟机处于"已停止取消分配"状态,将不对它计费。如果处于"已停止分配"状态,因为它仍占用计算资源,将对分配的虚拟内核计费,但不对软件许可证本身计费(比如SQL数据库的软件费用)。
看到上表,相信所有朋友都能够很清楚的知道,什么时候虚拟机将计费,什么时候不计费。那么问题来了,怎么才能确保虚拟机关闭了完全不计费呢?
若要确保不计费,请从管理门户停止 VM。在Azure的管理门户中,选择虚拟机,并在下方执行关闭操作。
还可以通过 Powershell 调用"PostShutdownAction"等于"StoppedDeallocated"的 ShutdownRoleOperation 来停止 VM。不过,如果从内部(例如,使用 Windows 中的电源选项)或通过 PowerShell 调用"PostShutdownAction"等于"Stopped"的 ShutdownRoleOperation 来关闭 VM,则将继续计费。
通过以上方式,耐心等待虚拟机由"正在运行"变成"正在停止"再到"已停止(已取消分配)"这时此虚拟机将会完全停止计费(包括软件和虚拟机资源计费)。
关于今天Azure的计费,只是一个可以按照一定作息时间对服务器进行关机的例子。当然,现实生活中的企业很多的服务器是不能关闭的,比如邮件系统、会议系统以及一些需要24小时待命响应的系统。所以这种按照作息关机节约IT投入的方式并不是在任何场景和服务器系统类型都适合,Azure也并不能一刀切的按照这种方式去节省IT投入。
但是还有更多的方法能够让Azure帮助企业节约IT投入,这里我们一步一步的来,Azure是一座冰山,而我们看到的、熟悉的,也许只是Azure的冰山一角而已。好了,今天的内容就到这里,欢迎各位朋友一起交流,学习:)