云计算发生变化的13个方面:重要的是算法而不是硬件
3263
2016-05-31 17:40
文章摘要:  与仅仅几年前相比,新的服务和定价模式使云计算更强大、更复杂、更便宜。   云计算的定义一直以来有点模糊。基本想法一向直观简单:如果它不是存储在你自己办公室的触摸得到的机架里面的裸机系统上,它就是在云端。如果它是在别人托管设施的别人机器,它就是在云端。   不过,细节不是同样清晰明了。这些年来,


  与仅仅几年前相比,新的服务和定价模式使云计算更强大、更复杂、更便宜。




  云计算的定义一直以来有点模糊。基本想法一向直观简单:如果它不是存储在你自己办公室的触摸得到的机架里面的裸机系统上,它就是在云端。如果它是在别人托管设施的别人机器,它就是在云端。




  不过,细节不是同样清晰明了。这些年来,你获得什么样的资源、何时获得已发生了转变,市场在开始了解人们想要什么、其实需要什么。一开始,你获得一台机器和一个root密码, 仅此而已。其他一切取决于你。现在,扩建基础设施的工具和技术越来越好。毕竟,常规机器是大路货,所以许多公司的竞争手段变成了增添简化用户生活的附加功能。




  我们获得了更多资源,但是使用起来并不总是很简单。当然,你最后仍以root方式出现在可能运行Linux的某个设备上,但是从这台机器获得合适的性能比较复杂。现在,你在存储数据方面的选择比以前更多,哪种选择最佳并不总是显而易见。要运行与持久磁盘进行密切联系的数据库吗?如果你只是运行可以将所有重要数据缓存在内存中的Web服务,就需要做不同的事情。




  但是如果你试图弄清楚如何为计划的云部署付费,真正有意思的一幕就会出现,因为现在拥有比以往更多的选择。如果你愿意在计算时间方面很灵活,它们就会给你机会。如果你愿意在很多机器上测试你的应用程序,你可能会惊讶地发现性能有多么不同,哪怕是在规格似乎相似的机器上。在一些情况下,成本工程可能比软件工程还要来得复杂。




  下面列出了最近云计算已经改头换面或焕然一新的13个方面。这方面有赖于想更容易地共享计算资源的工程师,这比任何时候都要来得真实。




  可变定价




  一开始,云业务很简单。你输入信用卡信息后,为使用服务器实例的每一小时(或每一分钟)付费。每一秒钟的价格都一样。




  这种模式简单又直观,但忽略了一个重要的现实要素:对云端计算能力的需求并不一致。许多电子商务公司发现,人们在午餐时间购物。流媒体视频公司注意到孩子们回家后需求猛增,可是等成年人在晚上安顿下来寻找娱乐内容时,需求又大幅上升。需求随着人们使用或忽视Web而应地猛增或减少。




  一种自然而然的解决方案是,根据需求,对不同的时间段收取不同的价格,云计算公司在开始提供这种选择。亚马逊现在为其机器开展竞价拍卖,这个方法让实例的价格可以随着需求增减。如果你能够在下班时间处理任务,需求高涨时让开,就可以大大节省费用。如果需求猛增时你需要计算能力,就要付更高的价。




  抢占式机器




  许多云服务提供商将租户当成是所有者。你启动一个实例后,实例就是你的,直到你释放它。除非出现了可怕的灾难,或者奇怪地违反了服务条款,比如垃圾邮件,否则你的机器就会一直运行,直到你决定将其关闭或信用卡被拒收。




  谷歌看到了需求变化这个挑战后,决定为关闭后可以生存的机器提供较低的价格,以此克服这个挑战。你的机器就是你的,直到谷歌的某个算法认定别人会出更高的价。需求疲软时,你可以支付少得多的钱,可能只有平时的30%,但是需求大增时,你会是第一个被提供商抛弃掉的用户。需求再次减退时,提供商又会让你回来。




  对于不需要服务有保证的人来说,这是个很好的选择。唯一的挑战在于你要编写代码,那样它在崩溃后也能生存下来。但是你可能已经在那么做了,就像优秀的程序员那样。




  重要的是算法而不是硬件




  第一批云实例几乎就是空空如也的机器。就算它们自带任何软件,那也是标准开源操作系统的常规发行版。它们好比是一张白板,你的任务就是往上面填内容。




  一些新的解决方案颠覆了这种模式。比如说,微软的Azure将机器学习和数据分析工具作为服务捆绑起来。你可以将数据存储在微软的云,然后启动其软件来处理数字。硬件的价格已包含到软件中。比如说,数据湖分析(Data Lake Analytics)工具按分钟、按已完成的任务计费。你专注于编写微软的U-SQL语言用于分析,查询完成后,它会向你发来一份账单。




  事先购买




  云公司面临的挑战之一是,预测到底会出现多大的需求。会计人员看过电影《梦幻之地》中凯文·科斯特纳的表演后会说:“如果你建好了,有人会来”。但是这无法保证人家肯定会来。




  亚马逊从一定程度上避免了这个风险,办法是让客户可以购买“保留”实例,这种方案将服务保证与承诺支付联系起来。




  就最简单的而言,你开一张支票,亚马逊会保证将你的机器运行一至三年。无论你的机器有没有做任何事情,你都要付费。作为这种承诺的回报,亚马逊提供幅度从30%至50%不等的折扣。




  批量购买




  谷歌采用了一种不同的方法奖励长期客户:提供类似的折扣,不需要客户作出坚定的承诺。一旦你的机器运行时间长达1个月的至少25%,它就开始为生效的“可持续使用”提供折扣。随着运行时间增长,折扣幅度会加大;如果用满1个月,谷歌会提供60%的折扣。所有折扣求平均值后,如果你的机器整个月都持续不断地运行,你就可以节省30%。




  关键的区别是,你的机器不需要整个月持续不断地运行。谷歌按分钟计费和计算折扣。即使你只是偶尔运行机器(只要你的综合使用量达到谷歌的某一个折扣档次),照样可以省钱。这减小了一些实例处于闲置状态的机会。




  除了保留实例(Reserved Instance)外,亚马逊还提供了另一种更大的折扣。如果你为亚马逊其中一个地区的实例所花的费用超过50万美元,折扣幅度至少有5%。如果你花的费用超过400万美元,折扣幅度就会提升到10%。




  数据源




  从前,将数据倒到云端是你的份内事。现在,云服务提供商认识到,一些数据源可以共享。比如说,亚马逊在存储气象数据。如果你需要访问来自美国国家海洋和大气管理局的NEXRAD数据,亚马逊已经签署了一份合同,将信息装入到其S3存储区。数据可实时享用,可以检索到早至1991年6月的数据。




  还有几十个数据源可从大型公共科学项目(比如人类微生物组项目)和开源项目(比如维基百科)收集而来。访问这些数据源是免费的,不过你可能想要在亚马逊云租一个实例来运行软件。




  自动扩展




  扩展一向是Web的老大难。把某件事做好是一回事;当你的出色服务流行开来,面对世界上访问你网站的每个人,同样把这件事做好是另一回事。




  云服务提供商提供的新型软件层可以为你处理扩展任务。谷歌是先驱者之一。它的应用程序引擎(App Engine)拿来你薄薄的一层代码后实现自动扩展,确定它到底需要多少的计算能力,才能处理得了面临的负载。谷歌的云决定你需要多少的计算能力,然后按照请求,而不是按照机器来对你收费。亚马逊有一种更基本的选择:Elastic Beanstalk,它会调度普通的EC2实例来处理负载,那样你就不必自行处理负载。




  GPU越来越普遍




  GPU芯片在台式机的显卡中很常见,但云机器不是台式机。它们没有USB接口、CD/ DVD驱动器或视频卡,因为它们只通过网络与外界进行联系。它们不需要运行游戏,甚至不需要显示视频流。




  谁要是在运行只连接字符串的标准的Web服务器,这不是一个问题,但如果你想要处理繁重的并行计算——GPU正好适合这种任务,这就是个问题。鉴于越来越多的科学家和其他人士发现在GPU上运行并行算法的威力,越来越多的人要求其云机器中要有GPU。




  你在标准实例中找不到作为选项的GPU,不过IBM的SoftLayer会将GPU安装在裸机服务器中。它不像在短短数秒内启动实例一样简单,但是你可以享用与CPU在同一个机器里面的GPU的威力。亚马逊还有两种类型的机器,随带随时可以运行的GPU。




  更好的分析




  早期的云机器随带计量表,到了月底,你会收到一份账单。如果你想要更多细节,必须登录到机器,并安装自己的分析软件包。如今,更容易获得有关你机器在如何运行的数据。




  谷歌的仪表板提供绘制机器负载情况的实时图形。微软的仪表板包括用于监视系统性能的图形和图表。另外还有一批公司提供的增强型服务,比如LogicMonitor或NewRelic。由于它们专注于分析领域,甚至还提供数据和图表。如今,各大云有许多卫星公司与之合作,以便你更清楚地了解你的云机器经受的情况。




  众多的选择




  最大的挑战之一就是选择一个机器。你可能认为这很容易的,因为它们都运行Linux或Windows,但实际上变得比以往更困难。亚马逊有大约九种不同类型的机器,每种机器可能有不同配置的内存。而这只是目前这一代机器。如果你想坚持使用老式机器,亚马逊也拥有至少九种类型的老式机器。




  其他公司同样如此。Rackspace拥有较新的机器,它们针对密集计算、快速输入/输出或大容量内存进行了优化。你应该把数据库放在针对输入/输出进行优化的实例上,因为它们不断从磁盘读取和写入。像搜索索引这些庞大数据集需要尽可能多的内存,如果经济允许的话。




  裸机




  原始的云机器根本不是单个机器,而是运行虚拟机的大型机器的时间片。你有root,但它是在大型机器上运行的虚拟机。有了虚拟化软件,就很容易调整内存数量或确保几个不同的机器运行一致,不过它们给系统增添了开销。虚拟化层总是像交警那样在工作,将信号发送到不同的虚拟机,因而导致各环节速度减慢。




  越来越多的公司在销售“裸机”,这就是非虚拟服务器。你得到一台设备和一个操作系统,可能除了某种BIOS外,操作系统与硬件之间根本没有什么东西。磁盘读取和写入速度更快了。与网卡的交换更迅速。由于没有虚拟化碍事,一切都更简单了。




  IBM和Rackspace是两家比较抢眼的公司,它们按小时租赁裸机机器。Rackspace有一大批标准机器,即将在本月推出其第二代机器。IBM有一些常规机器,但如果你想要的话,它还会构建自定义机器。




  容器




  Docker正在云计算领域卷起一场风暴。它让每个人部署软件来得极为容易,人们想简化将Docker容器部署到云机器的任务也是很自然的事情。




  就最简单的而言,云将启用一个新的实例,底层是随时支持Docker的操作系统版本。然后,它安装容器,让容器运行起来。谷歌还提供集群管理工具,使用Kubernetes,让这项任务基本上实现了自动化。




  最值得关注的方案之一也许是Joyent使用Trident,对Docker容器实行裸机托管。它改动了Solaris/SmartOS的一个版本,可以支持直接在基本操作系统上运行的基于Linux的Docker容器。这去除了如同大迷宫的虚拟化,大大加快了启动和停止速度。




  区块链即服务




  云服务基本上遵循乐高玩具的模式。最早的机器与早期的积木套装一样变化多端。有几个基本的选择,得由你自己用基本模块构建所需的东西。现在有众多不同寻常的选择,它们都以“XaaS”这种方式提供你需要的东西。




  眼下最非同寻常的莫过于微软的区块链即服务(Blockchain as a Service),这种选择让你可以将比特币区块链的所有促进信任的功能添加到贵公司的IT部门。它不仅仅用于非法和匿名交易,因为共享总账有助于简化会计、合规及其他监管难题,它们都使用一个不可变的数据库。


版权声明:

凡本网内容请注明来源:T媒体(http://www.cniteyes.com)”的所有原创作品,版权均属于易信视界(北京)信息科技有限公司所有,未经本网书面授权,不得转载、摘编或以其它方式使用上述作品。

本网书面授权使用作品的,应在授权范围内使用,并按双方协议注明作品来源。违反上述声明者,易信视界(北京)信息科技有限公司将追究其相关法律责任。

标签:

评论