1#
     从Amazon到Windows Azure,IaaS云在性能表现、复杂性和速度上存在着巨大差异。    云上的信息总是相当简单:交出你的担忧,IT管理人员和我们会帮你解决一切。忘掉拨皮抽骨般地安装服务器和需要双击的引擎备份吧,别再担心成千上万的东西会出错了。你只需向我们提供信用卡号和你的数据,我们就能为你完成后续所有事情。
    在过去的几个月里,我都一直活在梦里,那里我建造了一个遍及全球的庞大计算机王国。无处不在的设备将我的数据处理成极小的微小字位,然后又把他们处理成更多的数字。个人网络在不同的设备间传输我那些零散的秘密信息以便其他人能够处理数据并将其改造为漂亮的图片。确实,我的台式机实在有点老旧而且本该可以使用更多的内存条,但是我用浏览器创造了一支全球机器军队,我能像“幻想曲”中的魔法师学徒那样轻松自如地操纵他们。
    好消息就是,与学徒不同,当我让这些机器离开,他们就能或多或少地消失。这就是云的妙处!当你需要的时候,你就去购买你需要的东西。哦!使用微软Windows Azure Cloud存储那一点点的数据字符串,我们需要掏一笔不定的经常性费用,不过还好技术支持已经在调查如何消除这笔费用,我希望速度能快一点。每次当我看到几便士的费用单出现在我的信用卡账单上时,总会让我想起这些数据字符串。
    然后其他设备来了,随之而来的是以美分计价的小笔费用。大多数的几元店巧妙地重新命名以适应那些售价低于5美元的物品,但在云上,很有可能买设备就像买便宜的便士糖。总有人该让这些老式的设备厂商和厂商宣传重新焕发生机。
    关键不同
    当完成对所有的云的调查后,最惊人的发现就是云世界是如此显著地变化多端。那些认为云设施仅仅只是商品的人那就大错特错了。市场团队坚持认为云能让我们在电脑和存储设备间转换自如,就像可随意替换的乐高积木那般方便,但这观点不完全正确。所有的供应商都试图通过提供略有不同、略微优秀的东西让他们的产品和服务与众不同。有时候你需要花点时间来正确找到不同产品间的不同之处,但对于付出大量工作努力的任何人而言,变更总是至关重要。
    差异性总是伴随着运营系统而产生。我们很容易认为什么都是Linux因为Linux无处不在,但那无视了在配给物上的对比。尽管诸如Ubuntu这样的标准发行版本随处可见,企业依然用细微或不那么细微的技术增强创造了他们自己的企业版本。举例来说,Amazon Web Services(AWS,Amazon网页服务)和Google Compute Engine(GCE,谷歌计算引擎),二者都有他们专用于云的Linux系统。Rackspace使用者可以在一批免费版本中选择,也可以每月支付一定费用购买红帽软件的企业级Linux。
    Linux不是唯一选择。许多云系统可以使用Microsoft Windows系统,但需要额外付费。不过如果你采用微软Windows Azure和戴尔云应用,你就无需支付额外费用,他们希望通过服务吸引微软商店以便帮助他们更便捷地将越来越多的计算迁移至云上。稳定地把钱花在了微软技术的任何公司可以很顺畅地使用微软Windows Azure。还有一家Joyent Cloud,他们的特色是提高效率后的开放源代码,称作SmartOS(智能操作系统)。
    更深层次的差异性表现在视觉上。虽然所有这些设备从购买Intel处理器到将其放到你的机架上都几乎毫无区别,但事实是他们是大量的多心刀片机切割而成的虚拟机以方便使用。你无需在自己的地盘上租用一个单独的设备--你只需注册登记一组设备(中的一个)或者按时间分摊使用。
    基准设备
    当你开始计时后,刀片机之间的不同之处就快速显露出来。企业为了帮助我们,创造了衡量CPU性能的计量单位,但那些只是非常粗略的指标。通过DaCapo收集的Java路径,一种超级优秀的Java应用测试方法,我把电脑放到我那个庞大的计算机王国。DaCapo为这些测试配备了多种多样的测试内容,如在Java中作图、启动Tomcat服务器等。由于每种标准都能对设备施加不同的压力,不使用Java的人也能对不同设备的性能有一个全面而广泛的认知。


    网络选择    另一个让人困扰的主题是网络。某些云--如戴尔云和SoftLayer云--提供连接到设备的私人网络。客户很容易创建一个只听取该私人网络命令的数据库设备,这也使数据库能更安全地躲过来自公共网络的攻击。技术不够完美因为云的安全性仍然是个“多云”的东西,但是个好的开始。
    其他一些供应商提供了更多关于他们的云的一些详尽的地理上的区别。客户知道对自己的设备放在哪里,方便决定将数据存储在什么地方。尤其有些多疑的企业人员,他们管理着特别重要的数据。他们可以创建一个庞大的设备帝国,将数据备份存储在不同地点,以更好地抵御风暴、火灾及其他洪涝灾害。比如谷歌公司对不同数据中心的带宽成本十分清楚,因此,数据在不同带宽间传输的成本价格高出在同一数据中心传输的价格。
    带宽计量有可能造成混乱。例如戴尔云,不收取传入流量的任何费用,简化测量与核算,而创建一种专门针对客户信息的蟑螂汽车旅馆,数据存入但不希望输出。如果创建一个巨大的处理数据的机器,就像来自“银河系漫游指南”的来客,吸收大批量数据却只提供一个数据作为答案,类似的数据计划颇具吸引力。
    基础知识之外
    云最有趣的地方就是专门用途的设备。即便它们并不十分适用于当前客户常用的PHP码,它们也可以更便捷地处理未来挑战。如Amazon,有一组显卡(GPU)用于任何你梦想和使用的算法,执行简单易操作。物理学家、生物学家以及计算机科学家都已经改变算法,在这批显卡上运行。这仅仅只是云让我们更方便地尝试新架构的一个例子。
     这些特殊的计算机装置也不是任何时候都需要特殊的硬件设备。好多云--包括Amazon、Joyent、Windows Azure等--提供特别的Hadoop设备来满足狂热的需求。他们协调基础的运营系统、优化JVM,性能更加卓越。Joyent声称他们的设备速度比之前快3倍。真的吗?这取决于你命令设备做些什么。如Amazon,在这部分,推出一种可以直接以Hadoop工作、帮助获取备用机时间的云设备。
    还有其他一些特征,于我而言最终无关紧要。有些云性能表现更优异,更安全。最开始它们吸引了我,但之后我就对此不再关注。了解设备的整体组装益处多多,但多数开发者需要侵入他们自己的统计数据以更清楚的了解设备组合的吞吐量。客户需求可能变化无常,尽管如此,其他额外的性能特质也许才是客户需要的。
    其他类似的性能最后可能更加重要。云上的一些最新特征使自动化设备大军更方便,然后一点点的改变每一个设备的配置。Amazon云允许客户以同样的形象创建数百个新机器,然后配置信息,允许每台设备自我修改,无需再单独地登陆到每台设备并配置相关信息。
    类似这种的性能的价值主要取决于运行的工作类型。如果你的设备仅用于统计数据,各项特征间差异不大。但如果你想安装和拆卸大型机组,自动化配置的能力十分重要。对类似这种的性能的更多支持的期望支配着人们的选择,他们的工作是处理偶尔爆发的大数据。
    最适合你的云
    如果有一门可以展示以上所有的课程,那肯定是答案永远不会被削减,毫无水分。你最便宜的设备,对我而言可能不是最便宜;你的最佳带宽成本计划也许对我来说有些昂贵;基础标准随着数据存储的价格而变化。在做出决定前,我们都是被系统逼迫着耗时耗力处理数据、运行测试。
    这部分很有趣。云可能看起来像可以解决一串服务器上运行的所有复杂问题,但提供商要做的是解决让人困扰的所有难题,同时开放自由态度,允许客户选择其他不同的架构设施。由于我们无需对备份生成件和机架容量产生过多担心,企业选择正变得越来越透明,也越来越便捷。在花费数月时间在我那庞大的机器王国之后,我也仅仅只是意识到我还没真正完成。