分类: IT业界
2009-01-03 11:26:11
云计算(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说就是这些计算机科学概念的商业实现。云计算的基本原理是,通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。
这个解释实在有些让人看得云里雾里,所以我更倾向下面这种说法:
云计算(cloud computing),是分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。透过这项技术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大效能的网络服务。云计算是一种资源交付和使用模式,指通过网络获得应用所需的资源(硬件、平台、软件)。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取。这种特性经常被比喻为像水电一样使用硬件资源,按需购买和使用。最简单的云计算技术在网络服务中已经随处可见,例如搜寻引擎、网络信箱等,使用者只要输入简单指令即能得到大量信息,未来如手机、GPS等行动装置都可以透过云计算技术,发展出更多的应用服务,进一步的云计算不仅只做资料搜寻、分析的功能,更可计算一些像是分析DNA结构、基因图谱定序、解析癌症细胞等。稍早之前的大规模分布式计算技术即为“云计算”的概念起源。
以上可以说是云计算的基本概念解释,与目前微软、谷歌和IBM等炒作的云计算有一定的区别,不过基本没有脱离这个概念范围,微软除了说到“云”还特别强调“端”(既各种终端设备如手机、PC和手提电脑等上运行的“云计算操作系统”),操作系统可是微软的支柱和强项,微软不可能放弃,而这种方式比较接近当前用户的操作习惯,是一种进化式的变更;谷歌则比较强调“云”而淡化“端”,各种数据和计算都放在“云”上,“端”则仅需要Web浏览器既可以了,这样无论什么样的“端”(如手机、台式电话、电视机、PC、手提电脑和MP4等待)只要支持Web浏览器就能实现“云”端计算和应用(无需操作系统的支持,如果成功了可以说直接掐断微软的生命线,是一种革命式的变化,所以现在和微软吵的狂厉害);IBM则仅仅关注与“云”的搭建,帮助客户建立的专有的云计算(私有云),提供数据中心设计服务以及IBM的服务器、存储设备和软件,并还可用自己的数据中心基础设施提供托管的云计算服务(公有云),IBM并不在乎“端”,无论如何各大公司如果想支持“云计算”,出于安全性的考虑,他们都要搭建“私有云”的。
这里我还觉得无论“云计算”将来如何发展,其“云”和“端”以及“云”与“云”之间的通信流量必然非常庞大,必然需要更高效更稳定和大流量的网络支持,而无论微软、谷歌和IBM在谈论“云计算”时都没有涉及这个方面的问题,我并不认为这是他们的疏忽,而是他们都认为将来的网络一定能够适应“云计算”的需求,那么对于以网络通信起家的思科和华为来说,他们都必将是“云计算”的赢家之一。
分布式计算((Distributed Computing):是一种把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,在上传运算结果后,将结果统一合并得出数据结论的科学。目前常见的分布式计算项目通常使用世界各地上千万志愿者计算机的闲置计算能力,通过互联网进行数据传输。如分析地外无线电信号,从而搜索地外的生命迹象的SETI@home项目,该项目数据基数很大,超过了千万位数,是目前世界上最大的分布式计算项目,已有一百六十余万台计算机加入了此项目(在中国大陆大约有1万4千位志愿者)。这些项目很庞大,需要惊人的计算量,由一台电脑计算是不可能完成的。
并行计算(Parallel Computing):是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问题。此外还包括:利用非本地资源,节约成本 ― 使用多个“廉价”计算资源取代大型计算机,同时克服单个计算机上存在的存储器限制。
为利用并行计算,通常计算问题表现为以下特征:
l 将工作分离成离散部分,有助于同时解决;
l 随时并及时地执行多个程序指令;
l 多计算资源下解决问题的耗时要少于单个计算资源下的耗时。
网格计算(Grid Computing):通过利用大量异构计算机(通常为桌面)的未用资源(CPU周期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个模型。网格计算的焦点放在支持跨管理域计算的能力,这使它与传统的计算机集群或传统的分布式计算相区别。网格计算的设计目标是解决对于任何单一的超级计算机来说仍然大得难以解决的问题,并同时保持解决多个较小的问题的灵活性。这样,网格计算就提供了一个多用户环境。它的第二个目标就是:更好的利用可用计算力,迎合大型的计算练习的断断续续的需求。