第1章 云计算与大数据概述
1.1 云计算的产生与发展
随着科技的快速发展,云计算( cloud computing)逐渐出现在人们的视野中,给人们的生产生活带来极大的便利。而对于云计算从何而来,众说纷纭。有一种说法是,云计算起源于 2006年亚马逊推出的 AWS(amazon web services)服务,也有人说云计算是 Sun Microsystems在 2006年 3月推出的 Sun Gird,但是如果追其根源,早在 1996年, Compaq(康柏)计算机公司内部的商业计划书中就可以看到 cloud computing这一字眼。现阶段,很多大型企业如亚马逊、谷歌、微软、戴尔、国际商业机器公司 (International Business Machines Corporation,IBM)、百度、阿里等都在研究云计算技术和基于云计算的服务,云计算俨然已成为继个人计算机变革、互联网变革之后的第三次信息技术( information technology,IT)浪潮,给生产、生活方式和商业模式带来根本性的改变。在全球云计算快速发展的时代,我国也面临着巨大的机遇,出台了多项政策支持并推动云计算产业的发展。 2012年 9月,《中国云科技发展“十二五”专项规划》详细规划了“十二五”期间云计算的发展目标、任务和保障措施。 2015年 11月,《云计算综合标准化体系建设指南》提出了由“云基础”、“云资源”、“云服务”和“云安全”四个部分组成的云计算综合标准化体系框架。 2016年 7月,《国家信息化发展战略纲要》明确云计算作为国家信息化发展战略中的核心地位。 2016年 8月 8日,《“十三五”国家科技创新规划》又进一步强调要构建完备的云计算生态和技术体系,支撑云计算成为新一代信息通信技术( information and communications technology,ICT)的基础设施。 2018年 7月提出的《扩大和升级信息消费三年行动计划( 2018—2020年)》中指出推动中小企业业务向云端迁移,到 2020年,实现中小企业应用云服务快速形成信息化能力,形成 100个企业上云典型应用案例。可见,未来云计算将持续升温,全面覆盖各行各业,其发展趋势不可阻挡。
1.2 云计算的相关概念
1.云计算的定义
维基百科将云计算定义为:云计算是一种基于互联网的新的计算形式,它根据需要向计算机和其他设备提供共享的计算机处理资源及数据。美国国家标准与技术研究院( National Institute of Standards and Technology,NIST)对云计算的定义是:一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务),这些资源能够被快速提供,只需要投入很少的管理工作,或与服务供应商进行很少的交互 [1],这也是现阶段被广为接受的一种定义。
从云计算的服务角度来看,云计算表现为三大服务模式、四种部署模型和五个基本特征 [2],如图 1.1所示,下面将简要地进行介绍。
图 1.1云计算概念模型
2.云计算的服务模式
云计算的服务模式包括软件即服务( software as a service,SaaS)、平台即服务 (platform as a service,PaaS)和基础设施即服务( infrastructure as a service,IaaS),分别对应软件层、平台层和基础设施层,云服务提供商( cloud service provider,CSP)将 IT系统中的这些层作为服务租给用户。
3.云计算的部署模型
云计算的部署模型包括公有云、私有云、社区云和混合云四种,分别具备*特的功能,可以满足用户不同的需求。
公有云:在这种模式下,云服务提供商提供给用户免费的或按需求、按使用量付费的服务,这些服务可能是应用程序、资源、存储或其他服务,同时需要保证所提供资源的安全性等非功能性需求。
私有云:私有云是企业自建自用的云计算中心,可能由企业自己管理,也可能托管于第三方机构,其提供的服务可以让用户更好地掌控云基础架构、改善安全与弹性,但纠正、检查等安全问题需要企业自己负责。
社区云:由具有相同诉求(如安全要求、云端使命、规章制度、合规性要求等)的众多组织掌控和使用,社区成员共同使用云数据及应用程序。
混合云:由两个或两个以上不同类型的云(公有云、私有云、社区云)组成,通常使用其各自的特点应用于不同场景中。如目前昀流行的公有云和私有云构成的混合云,当私有云资源短暂性需求过大时,可自动租赁公有云资源来平抑私有云资源的需求峰值。
4.云计算的基本特征
云计算是分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡、热备份冗余等传统计算机和网络技术发展融合的产物,具有很多优势,其基本特征如下所示。
(1)自助服务。消费者不需要或很少需要云服务提供商的协助,就可以单方面地按需获取云端的计算资源。
(2)广泛的网络访问。消费者可以随时随地使用任何云终端设备接入网络,并使用云端的计算资源。常见的云终端设备包括手机、平板电脑、笔记本计算机、掌上电脑( personal digital assistant,PDA)和台式机等。
(3)资源池化。云端计算资源需要被池化,以便通过多租户形式共享给多个消费者,也只有池化才能根据消费者的需求动态分配或再分配各种物理的和虚拟的资源。消费者通常不知道自己正在使用的计算资源的确切位置,但是在自助申请时允许指定大概的区域范围(如在哪个国家、哪个省或者哪个数据中心( data center,DC))。
(4)快速弹性。消费者能方便、快捷地按需获取和释放计算资源,也就是说,需要时能快速地获取资源从而扩展计算能力,不需要时能迅速地释放资源以便降低计算能力,从而减少资源的使用费用。对于消费者来说,云端的计算资源是无限的,可以随时申请并获取任何数量的计算资源。
(5)按需计费服务。消费者使用云端计算资源是要付费的,付费的计量方法有很多,如根据某类资源(如存储、中央处理器( central processing unit,CPU)、内存、网络带宽等)的使用量和时间长短计费,也可以按照每使用一次来计费。但不管如何计费,对消费者来说,价码要清楚,计量方法要明确,而服务提供商需要监视和控制资源的使用情况,并及时输出各种资源的使用报表,做到供/需双方费用结算清楚。
1.3 云计算与大数据的关系
近年来,云计算的发展伴随着各种新兴技术的出现,使社会资源被网络化和数据化改造,随之而来的是多元、海量数据的爆炸式增长,这些数据可能来自社交网络、访客记录、购物浏览记录等,是一个用户过往行为的反映,因此人们也开始对大数据背后隐藏的价值感兴趣,希望通过运用先进的算法从大数据中挖掘和创造价值。
大数据具有 4V特征即容量( volume)、多样( variety)、价值( value)、速度 (velocity)[3],这对处理大数据的技术具有一定的要求,其规模效应给数据存储、数据管理及数据分析带来极大的挑战。
云存储技术是在云计算的概念上发展出来的一个新概念,云存储与云计算几乎是同时兴起的,旨在通过互联网为用户提供更加优质的存储服务。云存储用户可以随时随地使用终端设备通过网络连接到云存储数据中心,方便地进行数据存取操作,其优势可以满足信息数据爆炸时代的人类对数据存储的需求,且具有较高的***。因此,大数据的发展需要云计算和云存储。可以说,云计算和云存储与大数据相辅相成、密不可分,云计算和云存储作为承载大数据的基础架构,对海量的数据进行存储、分析、处理,深度挖掘大数据价值,通过云计算架构和模型为大数据提供解决方案。
然而,随着云计算与大数据技术的日益发展,数据的安全性也成为领域热点。一方面,数据的安全性会带来诸多问题,甚至威胁用户的生命和财产安全;另一方面,它可能会影响用户对云服务的信任,从而阻碍云计算的发展。
1.4 可信计算
1.4.1 可信计算的背景
随着智能平台技术的发展,计算机网络的规模不断扩大,网络终端的数量也急剧增加,使得对于信息安全保护的难度增加。因此如何保证终端和网络传输中信息的安全性就成为人们迫切需要解决的一个关键问题。
传统的终端信息安全问题解决方案采用的是访问控制技术,网络传输过程中则采用加密的方式。即在终端接入时根据终端的身份采取相应的接入控制措施,分配相应的控制权限。并借助防火墙、杀毒软件及入侵检测系统来保护终端信息的安全。在网络传输过程中利用加密和消息认证码来保护传输的消息不被泄露与篡改。但随着网络应用数量的不断增加,网络环境下的安全事故层出不穷,新的攻击手段也不断出现。为了应对这种安全威胁,人们不断地对防火墙系统、入侵检测系统、杀毒软件等防御软件进行加固升级,导致了防火墙和病毒库的臃肿,同时也增大了系统入侵检测的开销,而且使得系统误报率也不断增高。显著地降低了系统的执行效率,增加了硬件的负载。
对现有的安全问题及解决方案进行深入研究和分析就可以发现,目前的解决方案都具有以下缺点。
(1)被动性:只有在病毒入侵或者系统遭到破坏时才做出响应。
(2)防外性:目前采取的解决方案中,主要针对来自网络外部的攻击,而忽略了来自内部的攻击。
(3)对终端防护的疏忽:现有的防护措施主要是通过对数据进行加密来保护网络传输数据的安全的,而忽略了存储在终端的密钥的安全性及平台的完整性。
除此之外,由于现有终端设备的软、硬件结构都相对固定,造成系统资源可以被无序地利用,这也是造成网络攻击容易发生的原因之一。
1.4.2 可信计算概述
基于以上原因,可信计算组织( trusted computing group,TCG)提出了可信计算 (trusted computing,TS)的概念。可信计算的基本思想是基于特殊的密码计算硬件——可信平台模块( trusted platform module,TPM),通过可信软件栈及相应的支撑软件,借助密码技术及可信链知识,保护终端的完整性、真实性及数据的安全性,同时保护整个计算机网络环境。可信计算借助严格的访问控制和密钥管理机制来保证可信接入的安全,并且保证只有满足完整性和真实性检测的终端才能够访问网络中的资源。
可信计算是一门包含密码学、硬件技术、操作系统( operating system,OS)、应用软件、网络协议等相关技术的学科。同时也是信息安全领域中的一门重要的学科。
TCG对可信计算的定义是如果一个实体是可信的,那么它的行为总是以期望的方式、朝着预期的目标运行。该定义体现了一种自下而上的研究方法。
1.4.3 可信平台模块功能组件体系结构
TPM功能组件体系结构如图 1.2所示,下面详细介绍 TPM内部功能组件的作用。
图 1.2 TPM功能组件体系结构
(1)I/O组件:该组件用来管理 TPM通信线路上的信息流,实现通信总线上的协议编码及解码功能。该组件还具有类似路由的功能,可以将信息发送给合适的组件。TPM中相关的访问控制协议及必需的访问控制函数也可以由该组件执行。
(2)RSA(非对称加密算法,由 Rivest、Shamir、Adleman三人共同提出,并以三人姓氏开头字母命名): RSA是目前使用昀广泛的非对称密码算法,该算法可以用于签名,以及数据的加密、解密等功能。