网路资讯/IaaS商场擂台:Amazon与Google你押谁赢?

作/查理

没有两家一模一样的云端基础建设商,任何企业采购必学的第一堂课:评估他们的架构

对云端系统来说,每当出状况时,就会凸显整个架构的重要性

云端业者要完成一个架构,通常会经过一连串的小型决策,决定要提供哪些资源、然后舍弃哪些功能。

有时候,这些被舍弃的东西,会给客户带来严重的梦魇

例如,目前云端储存业者Nirvanix表示他们已经破产、准备歇业,而他们的客户这才发现,要把长期以来逐渐累积的资料移出云端储存系统,竟是如此的困难。

因为一直到该公司清算前的四星期,关于Nirvanix营运不善的谣言才开始流传,然后只过了一周,公司就正式宣布退出市场的计划,整个过程非常混乱。

云端业者要准备多大的网路管道来移动云端资料,这就是建立架构时的一个抉择,而Nirvanix当时决定把资料输入的管道做大,至于资料移出的管道则小一些(这样的架构,通常反映了业者对于自家营运的偏见)。

最后,竟是由第三方业者出面协助,利用10Gbps的交换线来解救其客户,或直接把这些客户资料移到另一家业者的系统里。

多数云端业者的抉择,并不见得会像Nirvanix的案例一样充满戏剧性,但重要的是,顾客应该要了解他们的IaaS(infrastructure as aService)供应商究竟使用哪一种架构,毕竟这可以让IT团队以更有效率的方式建立应用与设计工作量。

许多公司未来会投入更多资金在IaaS业者上,而这样的效率,也应该更受重视。波士顿顾问公司Cloud Technology Partners资深副总裁David Linthicum表示,「你应该要了解公有云系统的运作模式,但一般人总不愿思考这些东西。」

为了了解IaaS服务业者的架构差异笔者将检视亚马逊Web Services与Google Compute Engine Services的细微差别,然后把这些服务与微软(Microsoft Azure)服务对比,最后再讨论这三种服务之外的其它选项

laaS的核心架构

IaaS业者不会谈论他们使用何种架构,毕竟这是自己的竞争优势。

不过基本上,这些云通常是用横向扩展(scale-out architectures),而比较少用一般企业偏好的垂直扩展(Scale-uparchitecture)。

云端业者会定期增加伺服器、网路容量磁碟,而他们的云端管理体会自动侦测并整合这些新的实体资源。这些资源通常经由Layer 3网路直接连线,搭配10Gbps的乙太网路交换器

私有云业者Cloudscaling执行长Randy Bias表示,亚马逊WebServices与Google Compute Engine「在语意上与架构上有95% 是相同的。」Bias曾主导韩国电信的云端堆叠系统;他说,「从纯粹架构角度来看,亚马逊与Google 非常相似。」当然,两者间还是有不同的地方,笔者先论述相同之处,如此一来,较容易进行比较。

Bias表示,亚马逊与Google都希望在架构中限制「故障范畴」。如果其中一项硬体失效,他们的云端管理软体会立刻提供新的虚拟伺服器,并进行工作移转;如果某种应用或作业系统失效,其它应用软体、资料库与网路伺服系统则会继续运作。

两家业者都使用「复杂的虚拟机器排程」,把虚拟机器平均分配于各个主机,然后用这些主机来跑特定的虚拟伺服器。

他们避开了传统的企业架构,不再把高效能伺服器配对,以达到更高的可用性,或在伺服器机柜之外配置储存区网路,因为这么做会导致延迟递送。

Bias提到,亚马逊与Google都不使用一般商业软体来改变管理资料库的设定,提供虚拟伺服器或管理工作周期,而是使用自己的开放原始码,因此成本低廉。

两家公司都把四散于各地的资料中心集结成独立的「区域」(Region),其中各个资料中心内都有次区域(Subregion)。(亚马逊把资料中心里的次区域称做「可用区域」。) 每个区域在设计上,都希望能防止故障冲击大幅扩散;举例来说,它们都有自己的电源供应和通讯连结。

IaaS供应商可以保证其在服务层级协定的高度可靠性;但水平扩充的商业云端架构供应商,却无法做出同样保证。

他们只能承诺「尽可能」达到最好的服务层级,如果故障时,只能提供客户必要的补偿,但这些补偿并不包含因故障而产生的客户流失。

相反的,他们会要求客户,在运算服务正常运作的时候,在另一个次区域或可用区进行备份,但这么做的缺点是,几乎让客户的云端花费往上翻了一倍。

亚马逊、Google与微软都卖固定规格的虚拟伺服器执行个体(你可以选择小型、中型或大型,但他们无法让客户自行设定规格),对云端服务商来说,标准化规格让他们比较容易自动部署工作,因为整个基础建设会侦测、并快速辨识一个已知的伺服器类型,然后按照规则进行安置。

Bias表示,整体而言,Google与亚马逊的架构有一个核心原则:就是「所有决策都要符合经济效益」。

聚焦于经济效益不代表他们不重视资安、可靠性与其它要素。但他们的IaaS架构主要目标,就是用最少的营运费用和人员,达到最好的可靠度与可扩充性

一般大型IaaS业者都不会揭露其云端事业的获利数字,但众所皆知,亚马逊、Google、微软与其他像是Rackspace等业者,都以非常接近的虚拟伺服器价格,彼此激烈竞争。因为架构不同而产生的些微效率差异,很可能决定了厂商的成功或失败。