第1章 绪论
云计算实现了人类把计算作为一种基础设施的梦想, 目前已成为学术界、产业界和政府部门共同关注的研究热点. 本章主要介绍云计算的概念及其研究进展,并阐述了云计算目前面临的主要安全问题与挑战.
1.1 云计算
1989 年, 欧洲核子研究中心研究员蒂姆?伯纳斯-李 (Tim Berners-Lee) *次提出“万维网”(World Wide Web) 的概念, 这是计算机网络发展史上的一大里程碑. 2004 年, 蒂姆因万维网荣获**届“千年技术奖”, 成为“互联网之父”. 2016 年, 蒂姆又获得计算机科学领域*负盛名的大奖“图灵奖”. 从*初的 Web1.0 到成熟的 Web3.0[1], 万维网的每一次跨越都给人们带来了全新的体验. *初的Web1.0 主要是各大网站以“单向”的方式传递信息, 而用户只能通过搜索引擎搜索自己所需的信息或资源, 此时的网络相当于一部“百科全书”. 相对于 Web1.0 只能实现“读”的功能, Web2.0 则更注重交互性. 此时, 用户不仅是网站的浏览者, 更是网站的制造者. Web3.0 不仅继承了 Web1.0 和 Web2.0 的优点, 同时更具智能化, 能够对用户提供的信息进行有效整合, 使得内容特征更加明显, 便于搜索. 随着网络发展的日新月异, 用户的数量也在以惊人的速度上升. 据国际电信联盟发布的数据显示, 2009 年全球互联网用户为 20 亿人, 2014 年已突破 30 亿人大关. 根据互联网世界统计 (IWS) 数据显示, 2021 年全球互联网用户数量已突破 46 亿. 然而, 人们在享受网络丰富信息带来便利的同时也在忍受着网络资源受限所导致诸多问题的困扰, 如计算资源、存储资源、宽带资源等.
2006 年, 全球*大的搜索引擎服务提供商 Google *次提出了云计算的概念,它实现了人们长期以来的“把计算作为一种基础设施”的梦想. 此后, 在 IBM、Google、Yahoo、Amazon 等 IT 行业巨头的大力推动之下, 云计算迅速风靡全球. 产业界的云计算代表了信息领域迅速向集约化、规模化与专业化道路发展的趋势,已成为产业界、学术界、政府等各界共同关注的焦点. 我国政府对云计算高度重视, 2011 年 7 月公布的《国家“十二五”科学和技术发展规划》中将云计算作为新一代信息技术发展的重要方向之一, 要着力实施“中国云”工程, 建设***云计算平台, 掌握云计算和高性能计算的核心技术.
1.1.1 云计算的概念
什么是云计算?通俗地讲云计算就是以用户为中心的一种计算服务. 而且, 该服务就像是天上的“云”, 用户可以随时根据自己的需求改变它的“规模”“形状”“配置”等. 维基百科[2] 上定义云计算是一种基于互联网的计算方式, 通过这种方式, 共享的软硬件资源和信息可以按需求提供给计算机和其他设备. 而 IBM[3] 则认为“云计算是一种将 IT 资源、数据和应用作为服务通过互联网提供给用户的计算模式”. 中国信息协会云计算技术专业委员会认为“云计算是通过整合、管理、调配分布在网络各处的计算资源, 并以统一的界面同时向大量用户提供服务”. 这些定义叙述不一, 但内涵却大致相同, 即将计算资源作为一种服务提供给资源受限的用户.
云计算是并行计算 (Parallel Computing)、分布式计算 (Distributed Computing) 和网格计算 (Grid Computing) 的融合和发展, 然而又有所区别.
并行计算是相对于串行计算而言的, 其基本原理是将单个复杂的任务细化成多个小任务, 分别交给多个不同的处理器进行处理, *后将每个小任务的结果返回, 再集中处理得到*终结果. 在此过程中, 每个细化的小任务之间相互关联. 如果其中任一小任务的结果出现错误, 都将会影响*终的结果. 分布式计算的产生就是为了处理并行计算遗留的故障 (某个细化的小任务返回错误结果导致了*终结果的错误), 它能够通过网络将成千上万台计算机连接起来, 共同完成单台计算机无法完成的巨大的计算任务. 类似于并行计算, 分布式计算同样是将大任务划分为多个小任务进行处理, 但不同之处在于, 每个小任务之间是相互*立的, 上一个任务的结果未返回或者结果错误不会影响下一个任务的执行. 网格计算是分布式计算的一种, 通过互联网将物理位置不同的计算机连接起来组成一个“虚拟的超级计算机”, 利用闲置的资源增强自身的计算能力并达到资源共享的目的. 云计算是这三种计算模式的又一次升华, 它不仅具备三种计算模式的特点, 同时又弱化了对硬件资源的需求, 将硬件资源转化成“虚拟的资源”.
1.1.2 云计算的服务构架
云计算的服务构架总共分为三个部分, 即基础设施即服务 (Infrastructure as a Service, IaaS) 、平台即服务 (Platform as a Service, PaaS) 和软件即服务 (Software as a Service, SaaS).
. 基础设施即服务 (IaaS)
云计算的*底层. IaaS 拥有数以万计的服务器, 可提供*基本的计算和存储资源. 用户可以通过互联网访问云平台上的资源, 采用“租用”的形式让 IaaS 平台上的资源为自己所用, 并且无需为基础的硬件设备付出相应的原始成本. 同时, 它还具有自动按需分配的功能, 可以根据用户计算或存储的需求自动分配相应数量的服务器, 从而避免了用户为闲置的服务器付费, 实现按需付费, 为用户节省开支.
此外, 在使用资源的过程中, 用户同样无需管理或控制任何云计算基础设施, 但能够在此基础上调用资源. 典型的例子有 Amazon EC2、Hadoop、Amazon S3 等.
. 平台即服务 (PaaS)
云计算的中间层. PaaS 主要是向开发人员提供基于互联网的应用程序开发或测试平台. 通过 PaaS 平台, 开发人员可以在云端实现应用程序的设计、开发、测试、托管等一系列操作. 该平台是以服务的模式提供给用户, 因此用户只需为自己使用的服务付费, 无需为硬件或软件资源付费. 除此之外, 应用程序在云端上的维护十分简单, 方便开发人员后续跟进. 这种成本低、方便高效、应用简单的开发平台无疑会得到许多大小型企业的青睐. 典型的例子有: Google AppEngine、Microsoft Azure 等.
. 软件即服务 (SaaS)
云计算的*高层. SaaS 主要面向互联网终端用户, 以服务的模式通过互联网将应用程序提供给终端用户. 用户可以通过互联网向专门的应用程序提供商获取带有相应程序功能的服务, 且无需购买应用程序, 也无需将应用程序安装在自己的电脑或服务器上. 自始至终用户获取的都只是应用程序的服务而不是应用程序本身, 因此, 用户避免了应用程序的管理和维护, 大大降低了成本. 典型的例子有:Google Docs、Salesforce CRM、Office Live Workspace 等.
这三种模式都是采用“外包”的理念, 将硬件和软件的原始购置、管理维护等高成本的操作外包给云平台, 用户只需为使用的服务付出相应的费用. 其*终目的都是以*少的成本获取*大的服务.
1.1.3 云计算的分类
云计算的分类多种多样, 按需求类型可分成: 公有云 (Public Cloud) 、私有云 (Private Cloud) 、混合云 (Hybrid Cloud) 和互联云 (Inter Cloud) 等[4].
. 公有云
公有云是运营商以营利为目的搭建的可供给第三方使用的云平台, 如 Google云、阿里云、Amazon AWS 等. 第三方用户可以通过互联网使用云服务, 但并不拥有云服务. 公有云可以通过云计算基础设施的灵活性和可扩展性提供低廉的云服务以吸引用户, 降低用户的风险和成本. 公有云比私有云大很多, 可以根据用户的需求随时进行伸缩, 改变大小, 并且可以将用户基础设施风险转嫁到云服务提供商身上.
. 私有云
私有云是相对公有云而言的, 它是运营商自己运营并且使用的云平台服务, 且仅供内部人员使用. 私有云可以是用户使用自己的 IT 设施搭建, 也可由云服务提供商搭建, 既可以托管在企业数据中心防火墙内, 也可托管在一个安全的主托管所内. 私有云相对于公有云来说, 它的安全性、服务质量更好, 避免了多级用户访问数据造成的数据泄露等安全问题.
. 混合云
介于公有云和私有云之间的便是混合云, 它由多个云端系统组成, 其中包括公有云、私有云等, 这些云端相互*立但又可通过特殊的技术相互结合. 混合云既具备公有云的资源丰富的优点, 又拥有私有云安全性高的优点, 它就相当于将私有云进行扩展, 在保证安全性的基础上扩充资源. 如果某个企业拥有混合云, 那么它便可以将企业中资源信息分为两部分: 一部分是要求保密性高、常访问处理的资源; 另一部分是闲置的资源. 那么, 企业可以将前一部分的资源存储在私有云上, 后一部分存储在公有云中, 通过两者之间的协调互助提供云服务.
. 互联云
互联云是一种全球性联通的“云中云”, 类似于互联网“网中网”的概念一样, 是基于现有云的一种扩展和延伸, 它所提供的服务也类似于移动运营商实现漫游和长途通信的操作. 由于现有的每个*立的云都没有无限的物理资源或无处不在的地理分布, 因此当一个*立的云平台的基础设施无法提供计算和存储资源时或者它所在的地理位置没有基站时, 互联云便能够通过互联网使得每个*立的云平台可以使用其他云基础设施提供的资源 (包括计算、存储, 甚至是任何类型的资源), 即通过平等互惠的协议让其他*立云平台的资源为自己所用. 更甚者,云交换、云互传、云漫游等互联云所能实现的服务都为云服务提供商引入了新的商机.
1.1.4 移动云计算
近几年, 随着移动互联网的蓬勃发展, 智能手机等移动业务迅速占领了互联网市场. 然而移动终端资源受限的瓶颈 (如有限的计算能力、电池能量受限、连接受限等) 大大制约了移动业务的发展. 为解决此问题, 基于智能移动终端的云计算服务随之兴起, 成为移动云计算的雏形. 移动云计算就是指智能终端用户通过移动网络以按需、易扩展的方式获得基于云平台的服务[5], 如图 1.1 所示. 移动云计算弥补了云计算的不足, 实现了云服务的无时不在、无处不在的特点, 并且增强了云计算服务对复杂网络的适应性.
移动云计算可以看作是“浓缩版”的云计算. 移动终端用户通过互联网共同搭建“临时”云平台, 可解决传统云计算受基础设施制约的难题, 实现云平台“即用即建”的优势. 在某些特定的场景下, 移动云计算具有非常重要的应用前景. 如某地发生地震、山洪暴发等重大自然灾害时, 该地的云计算基础设施遭到了毁灭性的破坏, 任何与云计算相关的应用都将无法运行. 然而, 移动云计算技术可以在此时发挥重要的作用, 灾难现场的移动终端用户可以通过与邻近的移动用户临时搭建一个云平台, 将灾难现场的情况拍照记录并传送出去, 从而可以迅速地展开救援工作.
图1.1 移动云计算
移动云计算发展至今已经陆续出现了许多的成功案例. 作为云计算的先行者,Google 公司积极开发面向移动环境的 Android 系统平台和终端, 实现了传统互联网和移动互联网信息的有机整合, 添加了语音搜索服务, 提供了定点搜索、Google手机地图以及 Android 的 Google 街景功能. 同样, 微软公司推出的 LiveMesh, 苹果公司推出的 MobileMe 服务等案例, 表明移动云计算
展开