1.2 云计算的基本概念
1.2.1 云计算的定义与术语
云计算本身是一个非常抽象的概念,要准确地为其进行定义并不是一件容易的事。国内外的公司、标准组织和学术机构对它的定义也不尽相同。
1)亚马逊将云计算定义为:通过互联网以按使用量定价方式付费的IT资源和应用程序的按需交付。
2)IBM的定义为:①一种新的用户体验和业务模式。云计算是一种新出现的计算模式,它是一个计算资源池,并将应用、数据及其他资源以服务的形式通过网络提供给最终用户。②一种新的架构管理方法。云计算采用一种新的方式来管理大量的虚拟化资源,从管理的角度来看云计算,它可以是多个小的资源组装成大的资源池,也可以是大型资源虚拟化成多个小型资源,而最终目的都是提供服务。
3)微软的定义为:云计算就是通过标准和协议,以实用工具形式提供的计算功能。
4)美国加州大学伯克利分校在《伯克利云计算白皮书》中对云计算的定义为:云计算是互联网上的应用服务,以及在数据中心提供这些服务的软硬件设施。互联网上的应用服务一直被称作“软件即服务”,而数据中心的软硬件设施就是所谓的“云”。
5)美国国家标准技术研究所NIST对云计算的定义是:云计算是一种资源利用模式,它能以方便、友好的方式通过网络按需访问可配置的计算机资源池(例如网络、服务器、存储、应用程序和服务),并以最小的管理代价快速提供服务。
6)我国相关部门在参考了国际组织和其他国家相关标准和法规后,于2014年发布国家标准GB/T 31167—2014《信息安全技术 云计算服务安全指南》,其中对云计算进行了如下定义:
“以按需自助获取、管理资源的方式,通过网络访问可扩展的、灵活的物理或虚拟共享资源池的模式。”(注:资源实例包括服务器、操作系统、网络、软件、应用和存储设备等。)
该标准也对云计算涉及的相关术语进行了定义:
云计算服务:使用定义的接口,借助云计算提供一种或多种资源的能力。
云服务商:提供云计算服务的参与方。云服务商管理、运营、支撑云计算的计算基础设施及软件,通过网络交付云计算的资源。
客户:为使用云计算服务同云服务商建立商业关系的参与方。
第三方评估机构:独立于云计算服务相关方的专业评估机构。
云基础设施:由硬件资源和资源抽象控制组件构成的支撑云计算的基础设施。硬件资源指所有的物理计算资源,包括服务器(CPU、内存等)、存储组件(硬盘等)、网络组件(路由器、防火墙、交换机、网络链接和接口等)及其他物理计算基础元素。资源抽象控制组件对物理计算资源进行软件抽象,云服务商通过这些组件提供和管理对物理计算资源的访问。
云计算平台:云服务商提供的云基础设施及其上的服务软件的集合。
云计算环境:云服务商提供的云计算平台,及客户在云计算平台之上部署的软件及相关组件的集合。
1.2.2 云计算的主要特性
GB/T 31167—2014《信息安全技术 云计算服务安全指南》中描述了云计算的五个特性。
1.?按需自助服务
在不需或仅需较少云服务商人员参与的情况下,客户能根据需要获得所需计算资源,如自主确定资源占用时间和数量等。比如对于IaaS服务,客户可以通过云服务商的网站自助选择需要购买的虚拟机数量、每台虚拟机的配置(包括CPU数量、内存容量、磁盘空间、对外网络带宽等)、服务使用时间等。
2.?泛在接入
客户通过标准接入机制,利用计算机、移动电话、平板等各种终端通过网络随时随地使用服务。对客户来讲,云计算的泛在接入特征使客户可以在不同的环境(如工作环境或非工作环境)下访问服务,增加了服务的可用性。
3.?资源池化
云服务商将资源(如计算资源、存储资源、网络资源等)提供给多个客户使用,这些物理的、虚拟的资源根据客户的需求进行动态分配或重新分配。
构建资源池也就是通过虚拟化的方式将服务器、存储、网络等资源组织成一个巨大的资源池。云计算基于资源池进行资源的分配,从而消除物理边界,提升资源利用率。云计算资源在云计算平台上以资源池的形式提供统一管理和分配,使资源配置更加灵活。通常情况下,规划和购置IT资源都是满足应用峰值以及五年计划需求的条件,导致实际运行过程中资源无法充分使用、利用率低,而云计算服务则有效地降低了硬件及运行维护成本。同时,客户使用云计算服务时不必了解提供服务的计算资源(如网络带宽、存储、内存和虚拟机)所在的具体物理位置和存在形式。但是,客户可以在更高层面(如地区、国家或数据中心)指定资源的位置。
4.?快速伸缩性
客户可以根据需要快速、灵活、方便地获取和释放计算资源。对于客户来讲,这种资源是“无限”的,能在任何时候获得所需资源量。
云服务商能提供快速和弹性的云计算服务,客户能够在任何位置和任何时间,获取需要数量的计算资源。计算资源的数量没有“界限”,客户可根据需求快速向上或向下扩展计算资源,没有时间限制。从时间代价上来讲,在云计算服务上,可以在几分钟之内实现计算能力的扩展或缩减,可以在几小时之内完成上百台虚拟机的创建。
5.?服务可计量
云计算可按照多种计量方式(如按次付费或充值使用等)自动控制或量化资源,计量的对象可以是存储空间、计算能力、网络带宽或活跃的账户数等。
该特性一方面可以指导资源配置优化、容量规划和访问控制等任务;另一方面可以监视、控制、报告资源的使用情况,让云服务商和客户及时了解资源使用明细,增加客户对云计算服务的可信度。
1.2.3 服务模式
根据云服务商提供的资源类型不同,云计算的服务模式主要分为三类。
1.?软件即服务
软件即服务(Software-as-a-Service,SaaS)是指云服务商将应用软件功能封装成服务,使客户能通过网络获取服务。云服务商负责软件的安装、管理和维护工作,客户可对软件进行有限的配置管理。客户无需将软件安装在自己的电脑或服务器上,而是按某种服务水平协议(SLA)通过网络获取所需要的、带有相应软件功能的云计算服务。例如,客户通过云计算服务向用户提供典型的办公软件或邮件等,终端用户使用软件应用,软件应用的管理者可以配置应用,客户可以按需使用软件和管理软件的数据(如数据备份和数据共享)。如Saleforce公司提供的在线客户关系管理(CRM)服务。
SaaS供应商的主要职责如下:其一,确保提供给客户的软件能获得稳定的技术支持和测试;其二,确保应用是可扩展的,足以满足不断上升的大工作负载;其三,确保软件运行在一个安全的环境中,因为很多客户将有价值的数据存储在云端,这些信息也许是私人或商业机密。
2.?平台即服务
平台即服务(Platform-as-a-Service,PaaS)是指云服务商为客户提供软件开发、测试、部署和管理所需的软硬件资源,能够支持大量客户,处理大数量的数据。在这种服务模式中,PaaS提供整套程序设计语言关联的SDK和测试环境等,包括开发和运行时所需的数据库、Web服务、开发工具和操作系统等资源,客户利用PaaS平台能够快速创建、测试和部署应用和服务。PaaS提供的工具包和服务可以用于开发各种类型的应用,从而可以支撑对外提供SaaS服务。PaaS的客户包括应用软件的设计者、开发者、测试人员(在云计算环境运行应用)、实施人员(在云计算环境完成应用的发布,管理多版本的应用冲突)、应用管理者(在云计算环境配置、协调和监管应用)。
典型的PaaS包括Google App Engine和Microsoft Windows Azure。PaaS负责资源的动态扩展、容错管理和节点间配合,但用户的自主权会相应地降低,必须使用特定的编程环境并遵照特定的编程模型。例如,Google App Engine只允许使用Python和Java语言、基于Django的Web应用框架、调用Google App Engine SDK来开发在线应用服务。
3.?基础设施即服务
基础设施即服务(Infrastructure-as-a-Service,IaaS)是指云服务商将计算、存储和网络等资源封装成服务供客户使用,无论是普通客户、SaaS提供商还是PaaS提供商都可以从基础设施服务中获得所需的计算资源,客户无需购买IT硬件。典型的IaaS服务有亚马逊的EC2和简单存储服务S3。相比于传统的客户自行购置硬件的使用方式,IaaS允许客户按需使用硬件资源,并按照具体使用量计费。从客户角度看,IaaS的计算资源规模大,客户能够申请的资源几乎是“无限的”;从云服务商的角度看,IaaS能同时为多个客户提供服务,因而具有更高的资源利用率。通常情况下,可以根据CPU使用小时数、占用的网络带宽、网络设施(如IP地址)使用小时数和是否使用增值服务(如监控、服务自动伸缩)等方式计量费用。
与SaaS和PaaS客户不同的是,IaaS的客户承担了更多的责任。客户要管理虚拟机,承担操作系统管理的工作。使用IaaS服务的客户更容易实现与传统应用的交互和移植,能够更灵活、高效地租用计算资源。同时,客户也面临很多问题,例如,将传统的应用软件部署到IaaS的同时会引发传统软件系统的漏洞所带来的安全威胁;客户可以在IaaS上创建和维护多个不同状态的虚拟机(如运行、暂停和关闭),也要负责虚拟机安全的维护更新(原理上,云服务商可以代表客户对非活动态虚拟机进行安全状态的维护更新,而这种类型的更新机制很复杂)等工作。
1.2.4 部署模式
根据使用云计算平台的客户范围的不同,可以将云计算分成私有云、公有云、社区云和混合云等四种部署模式。
1.?私有云
私有云的特点是云基础设施为某个独立的组织或机构运营。云基础设施的建立、管理和运营既可以是客户自己,这种私有云称为场内私有云(或自有私有云),也可以是其他组织或机构,这种私有云称为场外私有云(或外包私有云)。与公有云相比,私有云可以使客户更好地控制基础设施。下面分别对场内私有云场景和场外私有云场景进行分析。
图1-2描述了场内私有云的部署场景。为有效控制云基础设施,客户可以控制云基础设施的安全访问边界。边界内的客户可以直接访问,边界外的客户只能通过边界控制器访问云基础设施。
图1-3描述了场外私有云的部署场景。场外私有云具有两个安全边界,一个安全边界由云客户实现,另一个安全边界由云服务商实现。云服务商控制访问客户所使用的云基础设施的安全边界,客户控制客户端的安全边界。两个安全边界通过一条受保护的链路互联。场外私有云的数据和处理过程的安全依赖于两个安全边界以及边界之间的链接的强度和可用性。
2.?公有云
公有云是开放式服务,能为所有人提供服务(包括其潜在竞争对手)。公有云是指基础设施和计算资源通过互联网向公众开放的云服务。公有云的所有者和运营者是向客户提供服务的云服务商,而从其定义可以看出,该云服务商独立于客户所在的组织或机构。
公有云主要分为以下几类:①免费向用户开放并通过广告支撑的服务,众所周知的就是搜索引擎和电子邮件服务。这些服务可能只限个人或非商业用途使用,且可能将用户的注册和使用信息与从其他来源获取的信息结合起来,向用户发送个性化广告。此外,这些服务可能不具备通信加密等保护措施。②需付费的服务。此类服务与第一类服务相似,但可以用低成本的方式为客户提供服务,因为服务提供条款都是没有商量余地的,且只能由云服务商单方面进行修改。此类服务的保护机制要超出第一类服务,且可由客户进行配置。③需付费且服务条款可由客户和云服务商进行协商的云计算服务。
图1-4描述了公有云场景,所有客户均能访问任何可用的云基础设施。
3.?社区云
社区云的特点是云基础设施由若干特定的客户共享。这些客户具有共同的特性(如任务、安全需求和策略等)。和私有云类似,社区云的云基础设施的建立、管理和运营既可以由一个客户或多个客户实施,也可以由其他组织或机构实施。
图1-5描述了场内社区云的部署场景,每个参与组织或机构可以提供云服务、使用云服务,或既提供云服务也使用云服务,但至少有一个社区云成员提供云服务。提供云计算服务的各个成员分别控制了一个云基础设施的安全边界和云计算服务的安全边界。使用社区云的客户可以在接入端建立一个安全边界。
图1-6描述的场外社区云由一系列参与组织(包括云服务商和客户)构成,该场景与场外私有云类似:服务端的责任由云服务商管理,云服务商实现了安全边界,防止社区云资源与其他供应商安全边界以外的云资源混合。与场外私有云相比,一个明显的不同之处在于云服务商可能需要在参与组织之间实施恰当的共享策略。
4.?混合云
混合云的特点是云基础设施由两种或者两种以上相对独立的云(私有云、公有云或社区云)组成,并用某种标准或者专用技术绑定在一起,这使数据和应用具有可移植性。因为混合云由两个或多个云(私有云、社区云或公有云)组成,所以会比其他的部署模型更为复杂。每个成员依然是独立的个体,通过标准技术或专有技术与其他成员绑定,从而实现应用和数据在成员间的可移植性。