摘要:在云计算的研究和应用中一些热点问题比较突出,如:如何理解计算资源及其虚拟化、云计算与网格计算的差异、云计算中心与高性能计算机的关系、云安全和云标准等。文章对此给出了一些见解:计算资源的虚拟化促使信息服务走向规模化、集约化和专业化;网格计算是“多为一”,而云计算是“一为多”;部署于高性能计算中心的高性能计算机未必适合云计算;云安全已经将传统安全问题发展为服务方和被服务方之间的信任和信任管理问题;在现有标准的基础上,云计算标准将需更加关注服务的互操作等。
关键字:云计算;虚拟化;网格计算;云安全;云标准
英文摘要:In the study of cloud computing and its applications, topics such as understanding computing resource utilization, differences between grid and cloud computing, relationship between high performance computers and the cloud computing centre, and security and standards have attracted intense research interest. This paper analyzes these topics and concludes that virtualization provides Internet users with intensive, large-scale professional services; grid computing involves utilizing many computers for one large-scale computing task, while cloud computing involves one platform for many services. A high performance computer in the high performance computer center may be unsuitable for a cloud computing; security in cloud computing focuses on trust and trust management between service suppliers and consumers; and based on existing standards in cloud computing, new standards should be developed to realize interoperability between services.
英文关键字:cloud computing; virtualization; grid computing; security of cloud computing; standards of cloud computing
作为一种基于互联网的大众参与的计算模式,云计算以服务的方式提供计算资源(包括计算能力、存储能力和交互能力等),形成了一种动态可伸缩虚拟化的新型计算资源组织、分配和使用模式。这种模式使得计算资源成为向大众提供服务的社会基础设施,与传统利用桌面计算资源的模式有很大不同,将可能会对信息技术本身及其应用产生深刻影响。软件工程、网络与端设备的资源配置、获取信息与知识的方式等[1],无不因云计算的发展而产生重要变化。自从2007年云计算概念被提出以来,经过科研和产业界一段时间的推进,云计算正在逐步从理想走向实践。但是,也正因为云计算所产生的影响将会非常深刻,其技术手段和实现方法的完善必将会是一个较为长期的发展和演进过程。云计算有一些重要的基本热点问题正在被广泛讨论[2-7],涉及云计算的技术基础、服务模式和商业运作等各方面。本文从对计算资源虚拟化的理解、网格计算与云计算的差异、云计算中心与高性能计算机的关系、云安全和云标准等热点入手加以探讨并发表看法。
1 计算资源虚拟化问题
维基百科将虚拟化定义为“对计算资源的抽象[8]”。从技术的发展历史来看,虚拟化技术早已存在。如操作系统弱化了软件应用环境与硬件平台之间的依赖,甚至完全隔离;中间件弱化了应用软件对软件运行的依赖,甚至完全隔离;它们都可以说是采用了虚拟化技术。进一步,在由单机向互联网环境转变的背景下,虚拟化技术催生了云计算的雏形。如Web邮箱通过浏览器收发和管理海量的电子邮件,而邮箱管理系统的结构和实现细节被虚拟化了;搜索引擎服务于个性化搜索请求,但是搜索和匹配的细节被虚拟化了;网络相册用于存储和分享照片,而存储中心的动态管理被虚拟化了;网上开店已成为我们的日常生活,而网上交易、支付被虚拟化了等等。
我们可以将虚拟化的对象——计算资源归纳为3个主要类别:计算能力、存储能力和交互能力,恰好对应于传统的单台计算机的CPU、存储和输入输出等资源。但是计算资源虚拟化促使我们不能单纯地把计算看作是主体。若把计算看作主体,主体就是计算中心;若把存储看作主体,主体就是存储中心;也可以把交互看作主体,而计算和存储可为其辅助。大众用户可用更加自然的交互方式呈现出个性化服务的强劲需求,无需关心特定应用软件的服务方式,如是否被他人同时租用;无需关心计算平台的操作系统以及软件环境等底层资源的物理配置与管理;无需关心计算中心的地理位置。分别满足于这3方面要求的恰为互联网环境下的虚拟服务:软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)。由他们实现动态可伸缩的计算资源组织、分配和使用。
互联网资源配置的变迁如图1所示。大量服务器的使用促使了服务器托管的出现以减轻各机构自身维护的成本负担,而简单的托管并不能对服务器实施更好的集约化使用,如果能够实现虚拟化服务,将服务器变成“服务”,则服务提供方就可以进一步地整合各类计算资源。
从虚拟服务的演变过程可以看出,云计算以服务的方式提供计算资源是必然的。这与工业化革命促使传统制造业的大生产向集约化、规模化、专业化转变的趋势极其相似。今天,信息产业也正在走向信息服务的规模化、集约化和专业化。计算资源的虚拟化有利于资源的合理配置,并可有效提高利用率。据统计,服务器的实际利用率只有15%,而在服务器集群系统中其利用率则可能提高到80%以上,这甚至直接促进了节能减排和绿色计算的实现[9]。
2 云计算与网格计算的差别问题
在云计算的概念被提出之前,网格计算[10]作为一个热门研究领域已有10余年历史,并得到了广泛关注。在云计算刚被提出的一两年间,不少人的印象是:云计算在企业界热,在学术界不热,而网格计算则相反,在学术界热,在企业界不热。云计算与网络计算的差别在哪里?概括地讲,网格计算是“多为一”多台计算机构成网格,为一个特定的大型计算任务服务;云计算是“一为多”,互联网上一个个集约化、专业化的云计算平台依托网络形成规模化的服务。
网格技术的开创者Ian Foster将之定义为“在动态、多机构参与的虚拟组织中协同共享资源和求解问题”。网格计算依托专网或互联网,将处于不同地域、不同领域的多个闲散计算机资源组织起来,通过统一调度来组成一台虚拟的“超级计算机”,共同完成一个较为复杂的任务,如要求大量计算处理周期和大量数据的科学计算问题。可见,网格计算的基本应用场景就是将跨地域的、不同所有人的计算资源结合起来,以形成更为强大的计算能力。
云计算倾向于利用互联网上某些节点强大的计算资源(包括计算能力、存储能力和交互能力等),以服务的方式将这些资源变成可被广大用户使用的动态、可伸缩的虚拟资源。云计算强调用户主导、按需服务、即用即付、服务完即散。云计算的基本应用场景直接面向互联网,通过同一个相对集中的计算资源池,以服务来尽量满足大量的、分散的终端用户的需求。
两者最大的相似点在于“资源共享”和“虚拟计算”,即都强调以某种虚拟化方法对互联网上的资源进行共享并提供给用户,以获得更合理的资源利用率。关于其差别,可以将其细化为5个方面:
(1)云计算以集群计算为主,其中的计算节点自主、自治,面向不同服务对象;网格计算以并行计算为主,依托网络将跨地域的计算机组织起来,并通过统一的调度系统将作业分解到不同的计算节点中并行处理。
(2)云计算承认异构,即承认节点在原理、规模和能力上的差异性,用服务的互操作来实现节点之间的资源共享;网格计算需要在更高层屏蔽异构,即用中间件屏蔽异构系统,使用户面向同一环境来共享资源。
(3)云计算面向完成持久性、多样化的服务,互联网上不同的云计算中心通常提供大量多样化的、持久的面向特定领域的服务;网格计算往往用于完成一次性特定任务,且要完成的任务是预先设定的。
(4)云计算采用商业式运营,即向用户提供尽力而为质量的多租赁的服务,用户按租使用、按用付费;网格计算依赖于组织之间的协作式运营,能够提供带宽保证、性能保障,没有明显的商业模式。
(5)云计算更多的是服务于大众用户的需求,大众参与计算与交互,相互沟通交流,需具备语义处理、不确定性处理等能力;网格计算面向科学计算任务,按规定要求和程序输入/输出,存在确定的交互,人通常不主动参与。
可见,云计算与网格计算分别适应于不同应用场景,两者有着不同应用目标,在科学计算领域和为大众用户服务两个方向上各自发挥着潜能。
3 云计算中心的计算机性能问题
云计算中心以集群计算为主,其中大量的节点通过互操作形成面向用户的虚拟服务器。但是,目前很多机构已经购置高性能计算机、搭建起高性能计算中心。那么,高性能计算机是否可应用于云计算中心?云计算中心是不是高性能计算中心?高性能计算机和云计算中心的虚拟服务器之间是什么关系?
从目前流行的规模化、集约化、专业化的云计算中心,如Google、Amazon与Salesforce等来看,并没有使用全球Top10的高性能计算机构成服务器集群。据分析,Google计算中心的服务器集群可能是由至少分布在25个地方、超过45万台的普通计算机组成的,而Amazon和Salesforce的计算中心则可能分别运行着由约10万台和千余台普通计算机组成的集群系统[11-12]。正因为云计算服务于大众用户相对独立的需求,服务器集群用于响应不同用户请求的任务的依赖性、交叉性也大为降低,这种松耦合的任务甚至使得云计算中心可以“使用尼龙拉链将计算机固定在高高的金属架上,这样一旦出现故障便于更换”[13]。但是,通过集群之间的协作,对于涉及到“微处理器工作几十亿次”和阅读“几百兆字节数据”的一个搜索任务而言,通常仍然可以在零点几秒内即可完成。
高性能计算机的服务对象是各个科学计算领域,应用领域集中在能源、制造、天气预报、核爆、流体力学和天文计算等[14]。目前排名第一的XT5(Jaguar)高性能计算机部署在Oak Ridge National Laboratory,在Linpack测试中获得了1.75 PFlops的性能分数,采用了近25万个计算核心,理论峰值计算速度可达2.3 PFlops0。高性能计算机重要的追求目标是提高计算处理的速度,在Linpack测试中取得更高的性能参数。
云计算中心的服务往往需要面向大众用户的多样化应用,包括大规模搜索、网络存储和网络商务等,其应该更多地具备为数以千万计的不同种类应用提供高质量服务环境的能力,并且能有效地适应用户需求和业务创新。与超级计算中心相比,云计算完成了从传统的、面向任务的单一计算模式向现代的、面向服务的规模化、专业化计算模式的转变。可见,部署于高性能计算中心的计算机,适合解决要求高并发计算的科学问题,但是未必就适合云计算模式。
4 云安全问题
资源共享的云计算,促使人们尤其关心云安全:我的信息放在你那里安全吗?
首先云计算不是为了解决安全问题的新式武器。作为一种基于互联网的计算模式,云计算在提供服务的同时也将不可避免地出现诸如安全漏洞、病毒侵害、恶意攻击及信息泄露等既有信息系统中普遍存在的共性安全问题。因此,传统的信息安全技术将会继续应用在云计算中心本身的安全管理上,而云计算本身的信息安全技术手段也在不断发展中。
但是,云计算中虚拟服务的规模化、集约化和专业化改变了信息资源大量分散于端设备的格局,云计算本身可以通过安全作为服务(SECaaS)的形式为改善互联网安全作出贡献。云计算中心可实现集约化和专业化的安全服务,改变当前人人都在打补丁、个个都在杀病毒的状况;还可以将备份作为一种服务形式,实现专门的云备份服务等。因此,大众用户在使用云服务的过程中所关注的云安全焦点将会进一步地转移到信任管理上来,传统的信息安全将会进一步发展为服务方和被服务方之间的信任和信任管理问题。可以说,人们普遍关心的云安全,实际上更多的是云计算中的信任管理。
如何理解云服务中心与大众用户之间的信任关系?在从传统的、自有的数据中心转向云计算中心的过程中,用户所面临的信任问题,可以用银行存款的发展过程来打一个通俗的比方。过去的人可能认为把银元放在自家的某些隐蔽处最安全、最放心。但随着银行服务的发展,现在已经很少有人自己来保藏大量的财富了,大家更多的是与银行签订服务契约,把财富存在银行里,由银行来专门负责自己的财富安全。个人或者企业的敏感信息也具有某种相似性。为什么可把最敏感的数据交给云服务中心去管理?在缺乏信任管理、机制和技术保障的单机和互联网前期,恐怕大多数人都不放心。因为要防止数据的意外泄露,隐私被掌控,获取、传输和交流困难等,所以此时数据还是放在自有的信息系统中,用户自己来负责安全,如安装防火墙、杀毒软件、数据备份等。但是,随着云计算的快速发展,就不见得还一定要把敏感信息放在自己身边。云计算的核心模式是服务,服务的前提是用户和服务提供方建立信任。建立这种用户使用云计算服务所需要的信任的社会关系,最基本、最重要的保证在于互联网的民主性所形成的由下而上的力量。事实上,信任不是一次性测试出来的,也不是依靠一套固定指标测出来的,它是云计算运作过程中累积出来的品质,是消除一个个不可信要素的过程。如何更好地抽象、应用这种应用演化中所涌现出来的信任,是云安全中信任管理的关键问题之一。云计算中信任的建立、维持和管理可以通过社会与技术手段相结合的方式来推动。
5 云计算的标准化问题
云计算的本质是为用户提供各种类型和可变粒度的虚拟化服务,而实现一个开放云计算平台的关键性技术基础则是服务间的互联、互通和互操作。互联、互通、互操作是网络技术在整个发展过程中所必须具备的基本特性。各种局域网和广域网协议让计算设备互通,传输控制协议/网间协议(TCP/IP)实现了网际互联。在万维网时代,超文本传输协议(HTTP)和超文本链接标记语言(HTML)等实现了终端与Web网站间的互操作,使得任何遵从这些协议的Web浏览器都能自由无缝地访问万维网,Web服务与面向服务的体系结构(SOA)开启了服务计算的大门。
云计算下任何可用的计算资源都以服务的形态存在。目前,许多商业企业或组织已经为云计算构建了自己的平台,并提供了大量的内部数据和服务,但这些数据和服务在语法和语义上的差异依然阻碍了它们之间有效的信息共享和交换。云计算的出现并不会颠覆现有的标准,例如Web服务的基础标准:简单对象访问协议(SOAP)、Web服务描述语言(WSDL)与服务注册与发现协议(UDDI)等。但是,在现有标准的基础上,云计算更加强调服务的互操作。如何制订更高层次的开放与互操作性协议和规范来实现云(服务)-端(用户)及云-云间的互操作十分重要。
国际标准化组织ISO/IEC JTC1 SC32制订了ISO/IEC 19763系列标准——互操作性元模型框架(MFI),从模型注册、本体注册、模型映射等角度对注册信息资源的基本管理提供了参考,能够促进软件服务之间的互操作。其中,中国参与制订的ISO/IEC 19763-3本体注册元模型已正式发布。2009年ISO/IEC JTC1 SC7与ISO/IEC JTC1 SC38还分别设立了两个云计算研究组,其主要任务是制订云计算的相关术语、起草云计算的标准化研究报告。
此外,云安全联盟[15]、开放云计算联盟[16]、云计算互操作性论坛[17]等行业组织也积极致力于建立相关云计算标准,包括虚拟机镜像分发、虚拟机部署和控制、云内部虚拟机之间的交流、持久化存储、安全的虚拟机配置等。这些行业组织建立云计算标准的步伐超前于国际标准化组织,中国云计算产业联盟亦要在标准化方面早做贡献。
6 参考文献
[1] 李德毅, 张海粟. 超出图灵机的云计算 [J]. 中国计算机学会通讯, 2009(12).
[2] ARMBRUST M, FOX A, GRIFFITH R, et al. Above the Clouds: A Berkeley View of Cloud Computing [R]. Berkeley, CA,USA: Distributed Systems Lab, University of California, 2009.
[3] FOSTER I, ZHAO Yong, RAICU I, et al. Cloud Computing and Grid Computing 360-degree Compared [C]//Proceedings of the IEEE Grid Computing Environments Workshop(GCE’08), Nov 12-16, 2008, Austin, TX,USA. Piscataway, NJ,USA: IEEE, 2008:10p.
[4] GERMAIN-RENAUD C, RANA O F. The Convergence of Clouds, Grids, and Autonomics [J]. IEEE Internet Computing, 2009, 13(6):9.
[5] ERICKSON J S, SPENCE S, RHODES M, et al. Content-Centered Collaboration Spaces in the Cloud [J]. IEEE Internet Computing 2009, 13(5):34-42.
[6] LEIBA B. Having One’s Head in the Cloud [J]. IEEE Internet Computing, 2009, 13(5):4-6.
[7] JENSEN M, SCHWENK J, GRUSCHKA N, et al. On Technical Security Issues in Cloud Computing [C]//Proceedings of the 2009 IEEE International Conference on Cloud Computing(CLOUD’09), Sep 21-25, 2009, Bangalore, India. Los Alamitos, CA,USA: IEEE Computer Society, 2009:109-116.
[8] Cloud Computing [EB/OL]. [2009-05-23]. http://en.wikipedia.org/wiki/Cloud_computing.
[9] 祁金华. 国内虚拟化案例剖析 [N]. 网络世界, 2007-07-02.
[10] FOSTER I, KESSELMAN C. The grid: Blueprint for a New Computing Infrastructure [M]. San Francisco, CA,USA: Morgan Kaufmann Publishers, 1999.
[11] YouTube - the Google Data Center [EB/OL]. [2009-05-23]. http://www.youtube.com/watch?v=4SkVT-nNga0.
[12] The Efficient Cloud: All of Salesforce Runs on Only 1000 Servers [EB/OL]. [2009-05-23]. http://techcrunch.com/2009/03/23/the-efficient-cloud-all-of-salesforce-runs-on-only-1000-servers/.
[13] 尼古拉斯·卡尔. IT不再重要:互联网大转换的制高点——云计算 [M]. 闫鲜宁, 译. 北京: 中信出版社, 2008.
[14] Home | TOP500 Supercomputing Sites [EB/OL]. [2009-06-25]. http://www.top500.org.
[15] Cloud Security Alliance (CSA) - Security Best Practices for Cloud.org [EB/OL]. [2009-06-28]. http://www.cloudsecurityalliance.org/.
[16] Open Cloud Consortium [EB/OL]. [2009-08-25]. http://opencloudconsortium.org/.
[17] Cloud Computing Interoperability Forum (CCIF) [EB/OL]. [2009-06-25]. http://www.cloudforum.org/.
李德毅,中国电子系统设备工程研究所研究员,中国工程院院士;主要研究方向为计算机工程、人工智能和指挥自动化。
陈桂生,中国电子系统设备工程研究所高级工程师,主要研究方向为人工智能、云计算。
张海粟,解放军理工大学助教,主要研究方向为复杂网络、计算机工程。