云计算

在技术发面,云计算并不是一门全新或者独创的技术,而是基于一些实际需求,比如降低运维成本、海量数据处理和提升应用的易用性等,在过去技术基础发展而来的新一代技术。

概述

云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。

“云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。

 

任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样。不是所有人都是CTO,所以有时候看到云技术背后的一些词可能会比较头疼。

云也是分层的

任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure(基础设施)-as-a- Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在 中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。

下面是一些具体演化的例子:

在降低运维成本方面:VMware将原先使用在大型机和小型机的系统虚拟化技术引入到X86架构当中,并且对这些技术展开了进一步的发展,使得一台X86服务器能整合过去多台服务器的负载,从而有效地提升硬件的利用率,并降低能源的浪费和硬件的购置成本,还有,通过系统虚拟化技术能有效地提升了数据中心自动化管理的程度,从而极大地减少了在管理方面的投入。

在海量数据处理方面:Googe在传统函数编程语言的基础上开发MapReduce这个框架,在成熟的数据库和文件系统基础上开发BigTable和GFS,这些技术都使得海量数据的处理不再是难事。

在提升应用的易用性方面:通过在过去HTML4的基础上引入HTML5,而它能支持多种多媒体功能和复杂的事件处理,使Web应用在用户体验方面已经越来越接近传统的桌面应用。同时Apple将一些成熟的Mac OSX技术引入到手机端,从而构建了IOS这个移动操作系统。这样让用户远离PC之后,依然能使用到PC类的功能。

最后,就像之前技术发展围绕着Client/Server,还有互联网那样,新一代技术大多离不开云这个主题,所以我觉得在技术层面,云计算只是新一代计算技术的简称,没必要太纠结于其具体定义。

IaaS: Infrastructure-as-a-Service(基础设施云服务)

第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。

但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。

一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。

PaaS: Platform-as-a-Service(平台云服务)

第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。

PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。

一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud

SaaS: Software-as-a-Service(软件云服务)

第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。

你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。

一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。

参见