2 云计算的本质
云计算是什么?最早提出云计算的三家公司因为它们的核心商业模式和利益不同而在看法上差异巨大。
我们先来看IBM。在PC时代以前,计算机行业,尤其是IBM,制造的都是(大型)主机分时系统。当时的主机(可以理解成服务器)非常昂贵,所有用户同时通过终端(可以理解成今天的PC)分享主机的计算和存储。用户可以通过与主机相连的任意终端访问自己的信息,得到所需的服务,因为这些信息和服务都不在本地终端而在主机上。当然,在同一主机的这些终端用户很容易共享信息,只要他们的权限许可。但是,不同主机之间的通信功能很弱,不同主机的用户也几乎不会共享信息和服务。至于用户能得到什么服务则完全是被动的,因为软件和服务完全由计算机厂商(当时还没有独立的软件公司)提供。
1979年IBM推出IBM-PC,PC时代正式开始,之前苹果的个人电脑只能算是一个序幕。这项革命性的发明反而差点要了IBM的命,因为在PC时代,计算机的用户从企业普及到个人,而个人倬用计算机的方式将不再是通过终端共享价格昂贵的大型机资源,而是每个家庭各自拥有计算能力相对较弱但买得起的个人电脑。由于PC的性价比要比大型机好很多,它反过来侵蚀大型机的企业级市场。随着主导个人电脑的微软–英特尔体系(WinTel)的形成,IBM退居二线。
当然,此时大家倬用不同的PC,他们的数据和信息是很难共享的,软盘和后来的U盘成了大家传播信息的载体,同时也造成了病毒的泛滥。PC时代的另一个问题是不同PC上有不同的软件,同一个软件也可能版本不同,使得大家在某一台计算机上做的工作,很难在另一台上继续进行。我本人就碰到过两次因为对方计算机上没有相应的软件或版本不对而引发的糗事。一次是在IBM做报告,我事先将自己用微软PowerPoint做的幻灯片传给IBM的同僚,遗憾的是因为他们是微软的竞争对手,一层楼里只有一两台计算机上装了Office,于是浪费了不少时间在计算机之间将讲稿倒来倒去。另一次是在国外,由于Office的版本不对,我打不开自己的讲稿,只好用上备用的真正的胶片,在投影仪上放映。
随着互联网的出现,尤其是在宽带上网和搜索引擎普及以后,人们获取和交换信息变得方便许多。2000年以后,随着运营几万台服务器的大型数据中心的出现,计算资源和能力才有了共享的可能,而这些大型数据中心之间采用高速光纤网络连接。这样全世界的计算能力就如同天上飘着的一朵朵云,它们之间通过 联网连接。人们可以通过互联网享用一个甚至是多个大型数据中心的计算和存储功能,而家里的PC则渐渐降级为不那么重要的终端。这样,在表面上似乎又回到了当年IBM大型机的分时共享模式,只是大型机被大型数据中心取代,大型机到终端的专线被互联网取代,而用户从大型企业普及到每一个人。被微软压制了多年的IBM当然希望通过这个转变重新谱写它的百年传奇。IBM服务的对象依然是企业级用户,直到2012年,它的商业模式主要是卖云计算的服务器,这是IBM对云计算的理解。因此,到目前为止,它还没有像亚马逊那样提供对外服务的超级数据中心。但是2012年以来,它对云计算的认识也从卖机器上升到对外提供各种并行计算和存储服务。2014年年初,IBM宣布投资12亿美元扩建它在全球的云计算中心,不过12亿美元对于建造云计算基础架构而言,算不上多大的投资。
作为一家 联网公司或更准确地说是电子商务公司,亚马逊对云计算的理解和IBM完全不同。亚马逊早期除了卖书以外,另一项主要业务就是通过它的开放市场,允许小商家在亚马逊上售卖商品。当然,不同的商家卖的东西不同,店铺的设计、交易的方式和提供的服务也不同,这些商家大多拥有单独的网站。对于中小商家,自己建立和维护这些网站从成本上讲是非常不合算的。于是,亚马逊开始给它们提供网站托管(Web Hosting)服务,建立了一些通用的交易平台,为这些商家托管其网上商店。为了满足众多商家的网站托管需求,亚马逊开始自建数据中心。这时,亚马逊发现,它不仅可以为商家提供网站托管服务,还可以为任何需要建立网站的公司提供。这样,任何想通过互联网提供服务(包括电子商务)的公司和个人都无需自建网站,而只要租用亚马逊的计算资源即可。这就是亚马逊理解的云计算,和IBM的理解完全不同,但并不矛盾。IBM可以作为它的服务器提供商,只要亚马逊觉得价钱合适。
Google是最早开发云计算技术的公司,初衷是为了其大计算量的搜索服务。但是随着自身业务的扩展以及与微软竞争的日益加剧,Google逐渐将原本运行在用户本地计算机上的各种应用软件搬到了服务器端。最早是日历(Calendar),这在微软则是其电子邮件组件Exchange的一部分。Google通过统一的账号系统(云计算的关键技术之一)将它的电子邮件(即Gmail)和日历打通,并通过简单的自然语言理解,从电子邮件中提取与约会相关的事项,并加到日历(Google Calendar)中。当然,所有这些信息都存在服务器端,跟用户终端无关,这样只要用户能上网登录,就能随时获取自己的日程表。不久,Google又推出了离线的电子邮件和日历服务,实际上就是微软Exchange的替代品。做到这一步,Google还只是在追赶微软上补了些课而已,看不出丝毫云计算的意思。但是,接下来Google做的几件事让人渐渐看清楚了它的云计算思路。
首先,Google把本来运行在客户端的许多应用软件的主要功能,包括处理和 分 享 图 片 的 Picasa, 类 似 Office 的 字 处 理 、 表 格 处 理 和 讲 稿 演 示(Presentation)搬到了服务器端,或者说云端。易然相比PC上演进了十几年的同类产品,这些应用仍非常初级,包括我本人开始都怀疑它们能否完全取代PC上的那些软件。但是,它的发展和普及速度却大大超出人们的预期,首先这些简单免费的替代品能完成这些复杂的同类产品90%以上的功能,基本上能满足95%的用户需求。实际上,不经训练的话,Photoshop和Office的那些复杂功能连很多计算机专业人士都不会用。要知道买一套正版的Photoshop和Office是很贵的,对于个人用户,一套Photoshop的价格从200美元到上千美元,而一套Office的价格也在100美元到300美元,视功能而定。对于企业级用户,成本更高,每年都要收取倬用费。其次,也是非常重要的,Google的这些在线应用软件分享数据和信息的功能要比PC上的同类产品强得多。如果一个小组几个人一同起草一份文档,用Google Docs比用微软的Office要方便许多,易然前者的排版不如后者漂亮。这个分享功能成了Google基于云端应用和服务的卖点。
在Google Docs问世前,如果一个人要和朋友或同事共享自己的文件或讲稿,要么作为附件用电子邮件发送给别人,要么复制到磁盘或U盘上,然后将物理的磁盘或U盘交给别人。如果他要将在办公室里没有写完的文档拿回家写,那么也要复制到某个载体上带回去。这么做既麻烦又不安全,但是还勉强可以工作。然而,要想在出差途中检查一下日历有无更新,或者同事是否对他的文档提出了修改意见,那一般只好等到了目的地,用自带的笔记本找到上网的地方才能工作,而倬用别人的电脑并不安全。在Google Docs问世后,我们日常大部分办公的需求,从文档到日历,基本上都可以随时随地访问,而文档本身保存在服务器端,即倬从公共计算机上访问也比较安全。正是这些便利弥补了Google Docs在功能上的不足。
与IBM和亚马逊都不同,Google强调的是对用户的服务。易然Google也生产服务器,而目产量不低(相当于全球第三大服务器厂商),但是它无意进人服务器的市场。Google一度试图进人亚马逊的网站托管市场,推出Google Site这样的服务,但做得不成功,也就没有坚持。总的来 ,这三家各有各的特点和市场,基本上是 补而非竞争关系。把这三者的想法合起来,就可以得到云计算的本质了。
首先,云计算保证用户可以随时随地访问和处理信息,非常方便地与他人共享信息。我们不妨对比一下上个世纪末和现在一位商务人士出差的场景。
1999年,营销员比尔匆匆忙忙飞到外地签合同,此前他要提前三天做好各种准备,特别是打好几个小时的长途电话,确认合同的很多细节,以免到了目的地白跑一趟。然后,他要把自己的行程、酒店预订信息和租车信息打印出来,带在身上。考虑到上次做报告时PPT的版本不兼容,最后搞得很狼狈,他这次还带了专门的投影胶片以备不测。
到了机场,遇到航班晚点,他不得不通知对方延后第一个会议开始的时间,由于对方的时间是凌晨两点,他只好给对方的手机留言,但不知道对方能否及时处理。所幸的是,当他5个小时后下飞机时,对方改变了安排。不过,接下来的活动都要调整,相关各方无法自动获知他的航班晚点了,行程要重新安排,最后比尔不得不打电话一一通知,而有些会议间隔时间太短,无法赶上,比尔不得不取消一些活动。
到了2010年,情况就大不相同了。虽然比尔依然走得匆忙,和客户的会面都还没完全安排好,自己寄给客户的合同也没有得到反馈,客户答应在他到达目的地之前给他答复。不过大部分文件都在云端,他只需带一个平板电脑出行即可。比尔在飞机场等候转机,通过手机了解到客户已经确定了会面的时间地点,并目会看一看合同书有无反馈。由于飞机晚点,他直接在机场上网,修改了随后的一系列安排。而他的日历是与某些相关人士共享的,对方即刻就知道了他行程有变。
在飞机上,该航班通过卫星和Wi-Fi为乘客提供(收费的)上网服务,比尔得以在飞机上进一步安排好所有行程。他甚至和对方就销售协议彼此做了一些修改,使用在线的Google Docs(或微软的Office Online)双方可以实时看到对方的修改。等比尔到达目的地时,不仅行程已重新安排妥当,且由于已经跟客户预先交流过一些合同细节了,接下来合同的谈判就会顺利得多。后面要做报告也很简单,因为所有文件都存放在云端,不存在兼容性问题,只要客户给他提供一个投影仪就好。如果他要演示什么大系统(比如语音识别系统),并不需要带很多演示用的服务器,只需通过浏览器就可以调动在数据中心的多台服务器完成演示。
上面的故事,如今每天都在发生。仅仅过去了10年,人们的出行和工作方式就发生了很大的变化,这便是能够随时随地访问信息之后带来的便利。
第二,云计算保证用户可以倬用云端的大量计算资源,包括CPU处理器和存储器(内存和磁盘),而无须自己购置设备。打个比方,这就像我们不需要在自家院子里打井取水,不需要在厨房里用柴油机发电,而是享用水电公司提供的服务一样。它的好处是让全社会的计算资源得到最有效的利用,同时尽可能降低个人和公司使用计算资源的成本。以一个中型网站或电子商务公司为例,它需要几百台服务器和足够的带宽。以前,它需要自购服务器,租用数据中心,在服务器上安装操作系统和Apache之类的服务器软件,然后雇佣网络管理工程师和运维人员,才能为用户服务。这里面有十几个重要的决定要做,包括数据中心的选择、服务器的选型和布局、操作系统的选择、带宽的选择、容灾的处理,等等。为了保证服务的流畅,该公司服务器的峰值计算能力必须是其均值的3—10倍,加上容灾备份,服务器的使用率其实不高。
因此,算下来这个公司的运营成本是很高的。实际上,目前中国的中小型互联网公司的平均运营成本比大公司(腾讯、阿里巴巴和百度等)高,中国的大公司比美国的Google和亚马逊高,很大程度上就是因为资源利用不充分。
如果这些中小公司租用计算资源,那么平均运营成本就会低很多。而且这些提供云计算服务的专业公司的运维和信息安全的管理更容易做到高质和有效,对用户来讲,服务质量也能得到更好的保障。事实上,在美国,很多财富500强的公司,包括和亚马逊竞争的企业(比如美国第二大连锁店Target),其网站和电子商务都是由亚马逊提供托管服务的。同时,很多跨国公司的电子邮件和文档系统都是由Google提供服务的。虽然在中国,大公司出于安全和稳定性的考虑,还没有使用阿里巴巴的云计算服务,但是大部分小型创业公司都不再自建后台服务系统,而是使用阿里云的服务。据大部分使用者介绍,虽然阿里云的服务还不太完善,但是成本要比他们自建服务器低很多,而且服务的可靠性和安全性也基本能够满足业务的要求。
对于个人或没有计算资源的单位来 ,云计算可以让他们完成以前根本完成不了的任务,一个很好的例子是图像处理。了解这个专业的人都知道,图像处理的计算量非常大。例如,公安局刑侦科得到一张嫌疑犯的照片,他们要通过计算机从上千万张图片中找到和嫌犯长相相似的人的档案。这一千万张照片,可能存在几十个城市的公安分局里。以前要完成这件事,先要把嫌犯的照片通知到各个公安分局,每个公安分局还要派专人去计算中心处理和匹配照片,这样的难度倬得这项任务几乎不可能完成。(即倬这些照片存在同一个计算机系统中,匹配一千万张照片也可能需要一个月甚至更长时间,因为图像处理很费时,而嫌犯可能已经逃脱。)现在有了云计算,这一千万张照片即使物理上分布在不同的计算中心,但是对于全国各公安分局来讲,感觉都像是在自己的机房里。同时,云计算的工具可以把计算工作并行地安排到互联网上闲置的服务器中,几分钟就可以完成任务。
云计算不仅可以用于IT领域和企业管理,还可用于和IT看似相关性不大的行业。2016年成立的Grail公司是一家利用基因检测进行早期癌症筛查的公司,它的核心技术在于通过对基因变化的计算监控,跟踪被检测者的新陈代谢,特别是身体内基因的变化,其计算量大得惊人。Grail公司在亚马逊云计算服务(Amazon Web Service,AWS)的帮助下,将计算成本降低了两个数量级,倬得这项技术得以商业化。
本书评论