一、什么是云计算?
云计算是由分布式计算、并行处理、网络计算发展来的,是一种新兴的商业计算模型。目前,对于云计算的认识在不断的发展变化,云计算仍没有普遍一致的定义。关于云计算的定义有以下几种:
[1]维基百科给云计算下的定义:
云计算将IT相关的能力以服务的方式提供给用户,允许用户在不了解提供服务的技术、没有相关知识以及设备操作能力的情况下,通过Internet获取需要服务。
[2]中国云计算网将云定义为:
云计算是分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些科学概念的商业实现。
[3]中国网格计算、云计算专家刘鹏定义云计算为:
云计算将计算任务发布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。
[4]美国国家实验室的资深科学家、Globus项目的领导人Tan Foster:
云计算是由规模经济拖动,为互联网上的外部用户提供一组抽象的、虚拟化的、动态可扩展的、可管理的计算资源能力、存储能力、平台和服务的一种大规模分布式计算的聚合体。
[5]百度百科:
云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。狭义云计算指IT 基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。
其实简单地说,云计算是一种基于互联网的超级计算模式,它将计算机资源汇集起来,进行统一的管理和协同合作,以便提供更好的数据存储和网络计算服务。
二、云计算的特点
具有高可靠性。云计算提供了安全的数据存储方式,能够保证数据的可靠性,用户无需担心软件的升级更新、漏洞修补、病毒的攻击和数据丢失等问题,从而为用户提供可靠的信息服务。
具有高扩展性。云计算能够无缝地扩展到大规模的集群之上,甚至包含数千个节点同时处理。云计算可从水平和竖直两个方向进行扩展。
具有高可用性。在云计算系统中,出现节点错误甚至很多节点发生失效的情况都不会影响系统的正常运行。因为云计算可以自动检测节点是否出现错误或失效,并且可以将出现错误和失效的节点清除掉。
虚拟技术。云计算是一个虚拟的资源池,它将底层的硬件设备全部虚拟化,并通过互联网使得用户可以使用资源池内的计算资源。
廉价性。云计算将数据送到互联网的超级计算机集群中处理,这样无需对计算机的设备不断进行升级和更新,仅需支付低廉的服务费用,就可完成数据的计算和处理,从而大大减少了成本资金。
三、云计算的发展阶段
从云计算概念的提出,一直到现在云计算的发展,云计算渐渐的成熟起来,云计算的发展主要经过了四个阶段,这四个阶段依次是电厂模式、效应计算、网格计算和云计算。
[1]电厂模式阶段:网上的比喻很好,网上说电厂模式就好比利用电厂的规模效应,来降低电力的价格,并让用户使用起来方便,且无需维护和购买任何发电设备。我觉得云计算就是这样一种规模,将大量的分散资源集中在一起,进行规模化管理,降低成本,方便用户的一种模式。
[2]效应计算阶段:在1960年左右,由于计算机设备的价格非常的昂贵,远非一般的企业、学校和机构所能承受,于是很多IT界的精英们就有了共享计算机资源的想法。在1961年,人工智能之父麦肯锡在在一次会议上提出来“效应计算”这个概念,其核心就是借鉴了电厂模式,具体的目标是整合分散在各地的服务器,存储系统以及应用程序来共享给多个用户,让人们使用计算机资源就像使用电力资源一样方便,并且根据用户使用量来付费。可惜的是当时的IT界还处于发展的初期,很多强大的技术还没有诞生,比如互联网等等。虽然有想法,但是由于技术的原因还是停留在那里。
[3]网格计算阶段:网格计算说穿了就是化大为小的一种计算,研究的是如何把一个需要非常巨大的计算能力才能解决的问题分成许多小部分,然后把这些部分分配给许多低性能的计算机来处理,最后把这些结果综合起来解决大问题。可惜的是,由于网格计算在商业模式、技术和安全性方面的不足,使得其并没有在工程界和商业界取得预期的成功。
[4]云计算阶段:云计算的核心与效用计算和网格计算非常类似,也是希望IT技术能像使用电力那样方便,并且成本低廉。但与效用计算和网格计算不同的是,现在在需求方面已经有了一定的规模,同时在技术方面也已经基本成熟了。
四、云计算的组成
云计算的组成可以分为六个部分,它们由下至上分别是:基础设施(Infrastructure)、存储(Storage)、平台(Platform)、应用(Application)、服务(Services)和客户端(Clients)。
[1] 基础设施
云基础设施,即IaaS,是计算机基础设施,通常是虚拟化的平台环境,作为一项服务。具体应用例如:Sun公司的Sun网格(Sun Gird)、亚马逊(Amazon)的弹性计算云(Elastic Computer Cloud,EC2)。
[2]存储
云存储涉及提供数据存储作为一项服务,包括类似数据库的服务,通常以使用的存储量为结算基础。全球网络存储工业协会(SNIA)为云存储建立相应标准。它既可交付作为云计算服务,又可以交付给单纯的数据存储服务。具体应用如:亚马逊简单存储服务(Simple Storage Service,S3)、谷歌应用程序引擎的BigTable数据存储。
[3] 平台
云平台,即PaaS,直接提供计算平台和解决方案作为服务,以方便应用程序部署,从而节省购买和管理底层硬件和软件的成本。具体应用如:谷歌应用程序引擎(Google AppEngine),这种服务让开发人员可以编译基于Python的应用程序,并可免费使用谷歌的基础设施来进行托管。
[4] 应用
云应用利用云软件架构.往往不再需要客户在自己的电脑上安装和运行该应用程序.从而减轻软件维护,操作和售后支持的负担。具体应用例如:Facebook的网络应用程序、谷歌企业应用套件(Google Apps)。
[5]服务
云服务是指包括产品、服务和解决方案都实时的在互联网上交付和使用。这些服务可能通过访问其他云计算的部件.比如软件.直接和最终用户通信。具体应用如:亚马逊简单排列服务(Simple Queuing Service)、贝宝在线支付系统(PayPal)、谷歌地图(Google Maps)等。
[6] 客户端
云客户端包括专为提供云服务的计算机硬件和电脑软件终端。例如:苹果手机(iPhone)、谷歌浏览器(Google Chrome)。
五、云计算技术发展现状
云计算是目前的研究热点之一,许多著名的IT公司(如Google, Microsoft, IBM, Amazon等)都在积极地进行云计算的研究,已取得了一定的研究成果。
Google是云计算研究的先行者,它推出的GAE(Google App Engine)平台就是一种典型的云计算服务。该平台允许用户在上面编写程序,并且可以在其基础构架上运行。用户无需担心运行时所需的资源问题,应用运行的一切平台资源都由GAE提供。GAE基础构架模式由4个系统组成,这4个系统分别是Google File System分布式文件系统、Map Reduce编程模式、分布式的锁机制Chubby和大规模分布式数据库Big Table。这4个系统既相互独立又紧密联系,共同协作为用户提供一体化的主机服务器和自动升级的在线应用服务。
Microsoft公司信奉的理念与Google公司不同,它主要强调的是“云端计算”,注重的是云端和终端的均衡。Microsoft Azure是微软推出的云计算平台,它的主要作用是提供一整套完整的开发、运行和监控的云计算环境,为软件开发人员提供服务接口。Microsoft Azure所提供的服务包括NETServices, Live Services, SQL Services, MicrosoftSharePoint Services以及Microsoft Dynamics CRM
Services。
IBM推崇的云计算是网格计算和虚拟化技术相结合,它的蓝云计算平台为企业提供了可通过Internet访问的分布式云计算体系。“蓝云”结合了IBM的先进技术和原有的软硬件系统,支持开放标准与开放源代码软件。它的组成部分包括一个数据中心、应用服务器、Tivoli部署管理软件、数据库、Tivoli监控软件和一些开源信息处理和虚拟化软件。“蓝云”计算平台的存储体系结构由集群文件系统和基于块设备方式的存储区域网络SAN组成,这2个部分相互协作为用户提供更可靠的可扩展的云计算服务。
六、云计算未来发展的展望
随着云计算的发展,互联网的功能越来越强大,用户可以通过云计算在互联网上处理庞大的数据和获取所需的信息。从云计算的发展现状来看,未来云计算的发展会向构建大规模的能够与应用程序密切结合的底层基础设施的方向发展。另外,不断创建新的云计算应用程序、为用户提供更多更完善的互联网服务也可作为云计算的一个发展方向。目前看来,云计算的发展前景虽然很好,但是它未来发展所面临的挑战也是不容忽视的。
[1]数据的安全问题
数据的安全是企业关心的问题之一。数据的安全包括两个方面:一是保证数据不会丢失,二是保证数据不会被泄露和非法访问。如果数据出现丢失又没有备份或者被泄露和非法访问,都会给企业和客户带来无法估量的损失。因此必须制定出有效的方案来保证数据的安全。虽然云计算为存储数据提供了无限的空间,也为数据的处理提供了无限的计算能力,但是用户对于托管自己加密数据的云计算运营公司能否确保数据的安全仍存在着质疑。在使用云计算服务时,用户往往不清楚自己数据存放的位置,这样就会使用户产生对数据安全的担心。所以,要有效地解决数据的安全问题,未来的云计算必须考虑全方位的安全解决方案,提供多用户架构的良好设计,还必须要有确实可信的云计算运营公司。
[2]网络的性能问题
提高网络性能也是云计算面临的挑战之一。用户使用云计算服务离不开网络,但是接入网络的带宽较低或不稳定都会使云计算的性能大打折扣,因此要大力发展接入网络技术。此外,在云计算网络中完成信息的高效处理,云计算集群服务器要具备较高的性能,同时为了保证云计算的服务高质量地传给需要的用户,网络中通信设施也必须具备高性能。
[3]互操作问题
在对云计算系统进行管理时,应当考虑云系统之间的互操作问题。当一个云系统需要访问另一个云系统的计算资源时,必须要对云计算的接口制定交互协议,这样才能使得不同的云计算服务提供者相互合作,以便提供更好更强大的服务。
[4]公共标准的开放问题
目前,云计算还没有开放的公共标准,这给用户造成了许多不便。用户很难将使用的某个公司的云计算应用程序迁移到另一家公司的云计算平台上,这样就大大降低了云计算服务的转移弹性。因此,云计算要想更好的发展,就必须制定出一个统一的云计算公共标准。
总结:
云计算作为一种新型的计算模式,利用高速互联网的传输能力将数据的处理过程从个人计算机或服务器转移到互联网上的计算机集群中,带给用户前所未有的计算能力。云计算的产生与发展,使用户的使用观念发生了彻底的变化,他们不再觉得操作复杂,他们直接面对的将不再是复杂的硬件和软件,而是最终的服务。云计算将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。云计算现在还存在着一些问题:如数据安全问题、网络性能、互操作问题等,但是它的优点是毋庸置疑的。云计算不仅大大降低了计算的成本,而且也推动了互联网技术的发展。在众多公司和学者的研究下,未来的云计算将会有更好的发展。在不久的将来一定会有越来越多的云计算系统投入使用。