第1章 云计算技术简介
云计算,即我们通常所说的Cloud Computing,是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给使用者。云计算是继20世纪80年代大型计算机到客户端−服务器的大转变之后的又一个巨变。在目前普遍采用软件包部署和发布的情况下,云计算以其部署方式简单、维护成本低、更有利于构建基于多租户模型的SaaS系统逐渐被业界所关注。
云计算和此前出现的网格计算关系紧密却又有不同。网格计算更倾向于将分布于世界各地的计算机通过某种算法组合在一起,共同完成一个复杂的计算任务——例如几年前的寻找外星人计划。而云计算技术是提供商负责所有的硬件资源,包括计算机、存储节点、缓存、网络等,并通过虚拟化技术和分布式技术对外提供服务。而使用者并不关心具体的运算设备,而是基于使用量进行付费。这样看来,云计算技术不仅仅是在技术层面和传统的软件业有了明显的区别,而且在软件开发、交付、部署和维护等对整个软件产业提出了新的模式。随着计算机技术在各行各业的深入应用,云计算将会逐步被人们所接受,并且成为软件包模式以外最重要的一种软件开发模型和商务模型。
1.1 云计算所要解决的问题
任何一个新的技术都不会是凭空出现的,都是在现有的商业模式和技术框架中发现了难以解决的问题之后应运而生并且不断发展起来的。云计算技术也不例外。要想更好、更快速地了解云计算,首先应该知道其所要解决的问题所在。
设想一下某家企业目前已经开发出了一个旅游网站并且准备开始运营。首先企业需要购买一个应用服务器来部署这个网站,并且可能还需要一个数据库服务器来部署后台数据库,接下来是配置网站的域名等工作。此后开发人员需要部署代码,上传数据库结构和数据,并进行必要的测试。最后测试通过,运维人员将会开通网站。在运行期间,企业需要雇佣专门人员负责服务器和网络的维护、定期备份数据等日常工作。所有这些都是一笔不小的开支。
而作为旅游网站提供商,其主要精力应该是如何提供更好的旅游路线和相关服务。但是在这种传统的软件模式下,企业还不得不招聘与其核心业务不相关的运维人员来维护服务器。而且,当这家网站越做越大的时候,不可避免地面临服务器不堪重负的情况。这时候,企业则需要购买新的服务器并且增加更多的运维人员。但是由于购买和安装设备都是需要时间的,可能在此期间整个网站已经出现了响应缓慢、经常出错等问题,导致大量客户的流失。而且,在每个长假前夕和旅游旺季,为了应对业务量和网站访问量的增加还不得不临时购买更多的服务器。但是在旅游淡季,由于访问量较低,这些刚刚购买的服务器又成为了资源的浪费。
图1-1更形象地展示了这种情况,可以看到,实际的资源分配很难满足瞬息万变的企业需求。一方面资源无法及时增加,导致系统缓慢、用户体验差甚至系统出错,从而造成客户的流失和经济上的损失。而另一方面,而资源过剩时企业只能白白浪费而无法退回。套用当下的流行语,“你用,或者不用,服务器就在那里,成本一分不少”。
图1-1 传统模式下应对资源变化
而云计算技术的出现从根本上解决上述问题。因为云计算是通过互联网将共享的硬件和软件资源按需提供给使用者,这就意味着使用云计算平台后,IT设备的增加和减少将会变得非常容易,并且是按需付费的。同时,由于所有设备都由云计算服务商维护,因此无论是专业的软件开发商还是最终的客户,都可以将全部精力集中于业务领域,而无须过多地考虑硬件维护、容灾等运维问题,无形之中也为企业节省了成本。
例如同样的情况,这次该旅游网站使用了云计算平台,因此在系统启动的时候只需要购买少量的云计算服务,然后开发人员便可以进行部署和测试了。如图1-2所示,网站正式运营的时候,由于访问量少的企业可以只租用很少的计算和存储服务,而且也不需要雇佣专门的运维人员,公司所有的精力都投入到如何提供更好的旅游服务上面。在旅游旺季到来之前,企业可以通过云计算平台的管理界面方便地增加服务器数量来应对访问量的上升,从而完全避免资源不足造成网站使用出现问题的情况。同样的,在旅游淡季即将到来的时候,企业也可以方便地减少资源。基于云计算平台按需付费的原则,可以立即降低运营成本。
图1-2 云计算模式下应对资源变化
可以看出,云计算平台一般具备如下特点:
· 基于虚拟化技术快速部署资源,获得服务;
· 实现动态的、可伸缩的资源扩展;
· 按需求提供资源、按使用量付费;
· 通过互联网提供,面向海量信息处理;
· 用户可以方便地参与;
· 形态灵活,聚散自如;
· 减轻用户终端的处理负担;
· 降低了用户对于IT专业知识的依赖。