陈小明
(厦门城市职业学院,福建 夏门 361008)
*收稿日期:2013-09-09
云计算是在传统计算机技术和网络技术发展下产生的服务,用户使用由供应商提供的计算资源的共享与安装配置维护等服务,连接到终端,从而达到本该由个人计算机和私有数据中心执行的任务,转移到大型计算中心的所有用户共享的互联网上。使用户无需具备高技术、购买高性能硬件,或者开发各种功能软件,便可处理和存储数据。云计算概念的起源,缘自于20世纪60年代John McCarthy提出的“计算能力在未来将成为公共设施。”到80年代末,出现了将大量的异构计算机集成起来进行复杂问题求解的网格计算,有效解决了服务器单机性能和资源动态伸缩的问题。90年代,虚拟化概念从虚拟平台发展到虚拟应用程序,发展到更高层次的抽象。21世纪初,云计算作为一种新兴的资源使用和交付模式,解决了网格计算无法解决的同时支持异构多任务体系,实现资源动态流转的问题。成为网格计算的高级阶段。
最早提出云计算(Cloud Computing)的是Dell的数据中心解决方案,但对云计算的概念产生较深影响的是亚马逊EC2产品和Google-IBM分布式计算项目。随后越来越多的企业将很多IT创新放入云计算概念中,形成了现在包括IaaS, XaaS, PaaS等参与的完整产业链。美国国家标准与技术研究给出的定义是,云计算是一种提供便捷、可用、按需的网络访问,快速提供可配置的计算资源共享池的以使用量付费的模式。该资源池具有自我管理能力,提供网络、存储、服务器、应用软件、服务等多种资源,与服务供应商进行少量交互,投入很少的管理工作,就可以取得资源。提高了资源可用性。云计算是分布计算、效用计算、并行计算、网络存储、负载均衡和虚拟化等传统计算机与网络技术发展融合的产物,它的计算能力是通过互联网作为一种商品在进行流通。
云计算由具有一定规模的多个节点组成,系统规模几乎可以无限扩大,即付即用,方便快速地增加和减少资源,具有高度的扩展性和弹性。通过抽象化方式,提供物理服务器、虚拟机、文件处理、任务进程、存储能力等多种应用服务。实现资源即时监控和自动调度等自动分配管理及使用量的监控和管理。提供统一的资源共享,实现各物理点间的负载均衡,将分布于多个物理地点的资源进行整合。其主要特征有:(1)支持各种标准的设备接口,通过网络提供服务。(2)统计用户在某时间段对某资源与服务的使用,提供对各类资源如计算、存储、网络等的测量能力。(3)可同时为多个使用者提供服务,提高资源利用。(4)用户可以自服务,配置和调用。(5)根据用户需求的改变,动态分配和及时回收资源。既保证用户需求的及时满足,又保证资源的及时回收。(6)通过多副本备份或异地备份等策略,使其服务增加可靠性。
云计算的服务模式有软件交付模式、平台交付模式、Computer交付模式。云计算的体系架构与云计算服务的关系如图1所示。
图1 云计算体系架构与云计算服务关系
1.软件交付模式(软件即服务SaaS)
软件交付模式是提供一整套运行于云上的单个实例应用软件,通过浏览器将程序以多租赁的服务形式传给用户。省去了用户在服务器和软件授权上的开支,也减少了供应商的成本。
2.平台交付模式(平台即服务PaaS)
这种形式是为用户提供应用编程的接口(API),按照该平台的语言、编程框架、数据存储模式等特定规则和限制,自行创建运营应用软件,托管到该平台,传递给用户。
3.Computer交付模式(基础设施即服务IaaS)
Iaas提供的是最基本,最接近于直接操作的硬件资源的服务,通过网络以标准化服务将存贮资源、网络资源等基本存储和计算能力用虚拟化的方式提供给用户。自由灵活,几乎不受任何逻辑限制。
云计算有四种部署模式,包括私有云,公共云,社区云和混合云。
(1)私有云。云基础设施是为某个特定组织运行服务,是组织内部人员或分支机构使用的云,由该组织或某个第三方负责管理。
(2)公共云。云基础设施是为外部客户如公众或某个大的业界群组提供服务的云。
(3)社区云。云基础设施是支持某个特定社区,由多个组织分享的云服务。
(4)混合云。云基础设施通过标准或私有技术将两个或多个独立存在的云绑定在一起,促成数据和应用的可移植性。
1.虚拟技术
虚拟技术是使云计算提供商为用户提供数据隔离和数据安全的关键核心技术。系统的虚拟化是通过虚拟层模拟,将一台物理计算机虚拟成一台或多台虚拟计算机系统,使其操作系统依然独占一个系统运行。虚拟化的资源管理是其最重要的部分,直接影响云计算的可用性、可靠性及安全性,比以往的网络资源数量更巨大,数据分布更离散,数据调度更频繁。在虚拟技术中,客户端共享和主机共享,有可能使不法分子利用漏洞破坏共享设备和文件,进而使主机所管理的客户端服务器受到攻击和损害,并使所有虚拟机产生问题。Santhanam等人提出在grid环境下的隔离执行机。Raj等人提出的对性能与安全的隔离,通过对层次可感知的核心分配的缓存以及给予缓存划分的页染色,这两种资源管理方法有效隔离影响一个VM缓存接口,并整合到一个样例云架构中。Wei等人提出了对映像文件的访问控制、来源的追踪过滤扫描等管理系统,检测修复安全问题。
虚拟技术的应用主要有虚拟化软件的应用和虚拟服务器的应用。
虚拟化软件是在IaaS云平台中,由云计算提供商直接提供的能够创建、运行和销毁虚拟服务器的软件层。它直接部署于裸机之上,实现着一台计算机同时运行多个操作系统的作用。所以,必须保证客户虚拟机的相互隔离,限制未经授权的用户访问虚拟化软件层,以及虚拟机监视器和其他形式的虚拟层的访问控制,保证其完整性和可用性。
虚拟化服务器每台之间都通过VLAN和不同的IP网段进行逻辑隔离,通过连接VPN进行虚拟服务器之间的相互通信。它是位于虚拟化软件之上的,每台虚拟化服务器都有一个独立的硬盘分区,利用各虚拟机当中的系统日志和基于主机的防火墙、杀毒软件等,对其运行状态进行监控隔离。
2.数据存储和海量数据处理
分布式数据存储包含使用廉价商用硬件搭建系统向用户提供高性能容错服务的分布式文件存储系统(简称GFS);建立在传统设备上的具有更高智能,不需要了解访问对象具体空间分布情况直接通过ID进行访问的分布式对象存储系统以及不需要支持完整的SQL语义,只需Key-Value或者略复杂查询语义便可进行云计算环境下的大部分应用的分布式数据库技术等三个方面的技术。
在云计算环境下,并行计算模型将海量数据分布到多个如廉价不可靠的PC机的结点上,将计算并行化,利用多机计算,加快数据处理,提高海量数据的处理效率。
3.数据传输、隔离和清除
(1)数据传输。利用网络进行数据传输,采用非安全传输协议,保证数据的完整性。采用加密算法保证数据传输的安全性。如何更好的解决数据的完整性,以及在数据由加密状态变成解密状态时,如何保证数据的保密性。有待进一步研究。
(2)数据的隔离。数据在云计算环境下,由服务商提供分布于不同国家或区域,现实或虚拟的动态存储空间,而不再是存放于某个确定的物理节点上。这就需要对磁盘上或数据库中的静止数据进行加密。简单的存储服务,用户可以直接发送密文到云数据存储商。对PaaS或SaaS应用的数据加密需进一步研究不妨碍索引和搜索的算法。
(3)数据残留的清除。数据以某种形式擦除后的残留,依据其物理表现,能够被重新恢复,在云计算环境中,这些存在的介质有可能会无意间泄露敏感信息。云计算提供商在对用户释放存储空间以及再分配给其他云用户前需进行完全清除。
云计算作为一种新兴的计算模式。透过网络将数以千万计甚至亿计的信息,用庞大的计算处理程序自动拆分成无数子程序,将搜寻计算分析之后的处理结果回传给用户,达到和“超级计算机”同样的强大效能。伴随着云计算产业的发展,云计算为电信领域、金融领域等信息产业发挥着重要的作用。带来了信息产业的巨大市场空间,推动了社会整体的信息化进程,使信息产业更加规模化,精细化,专业化,自动化。为了保护云计算及其应用的安全,使云计算的部署及运营达到高度自动化和智能化,更好的为用户服务,有效降低能源的消耗,构建绿色数据中心,使数据安全技术和虚拟化技术日益成熟,需要更进一步的研究探索和尝试。