什么是”云”:迁移至云端。在云中运行。在云中存储。从云端访问----当今时代,似乎一切都在"云"中进行。但是,"云"究竟是一个什么样的概念?简单来说,云就是互联网连接的另一端,你可以从云端访问各种应用程序和服务,也可以在云端安全存储你的数据。"云"之所以如此强大,有以下三个原因:你不需要对"云"进行维护或管理;云端可以有效扩容至无限大,因此你无需担心云容量不够用;你可以随时随地访问基于云的各种应用程序和服务,而你只需要一台可以连接互联网的设备即可。借助云应用程序,你只需打开浏览器并登录,即可开始工作。

        云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。

        云计算(Cloud Computing)的定义

        (1)、云计算是一种将可伸缩、弹性、共享的物理和虚拟资源池以按需自服务的方式供应和管理,并提供网络访问的模式。云计算模式由关键特征、云计算角色和活动、云能力类型和云服务分类、云部署模型、云计算共同关注点组成。

        (2)、云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其它设备。

        (3)、云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

        云计算是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)、热备份冗余(High Available)等传统计算机和网络技术发展融合的产物

云计算的关键特征

        (1)、广泛的网络接入:可通过网络,采用标准机制访问物理和虚拟资源的特性。这里的标准机制有助于通过异构用户平台使用资源。这个关键特性强调云计算使用户更方便地访问物理和虚拟资源:用户可以从任何网络覆盖的地方,使用各种客户端设备,包括移动电话、平板、笔记本和工作站访问资源。

        (2)、可测量的服务:通过可计量的服务交付使得服务使用情况可监控、控制、汇报和计费的特性。通过该特性,可优化并验证已交付的云服务。这个关键特性强调客户只需对使用的资源付费。从客户的角度看,云计算为用户带来了价值,将用户从低效率和低资产利用率的业务模式转变到高效率模式。

        (3)、多租户:通过对物理或虚拟资源的分配保证多个租户以及他们的计算和数据彼此隔离和不可访问的特性。在典型的多租户环境下,组成租户的一组云服务用户同时也属于一个云服务客户组织。在某些情况下,尤其在公有云和社区云部署模型下,一组云服务用户由来自不同客户的用户组成。一个云服务客户组织和一个云服务提供者之间也可能存在多个不同的租赁关系。这些不同的租赁关系代表云服务客户组织内的不同小组。

        (4)、按需自服务:云服务客户能根据需要自动,或通过与云服务提供者的最少交互,配置计算能力的特性。这个关键特性强调云计算为用户降低了时间成本和操作成本,因为该特性赋予了用户无需额外的人工交互,就能够在需要的时候做需要做的事情的能力。

        (5)、快速的弹性和可扩展性:物理或虚拟资源能够快速、弹性,有时是自动化地供应,以达到快速增减资源目的的特性。对云服务客户来说,可供应的物理或虚拟资源无限多,可在任何时间购买任何数量的资源,购买量仅仅受服务协议的限制。这个关键特性强调云计算意味着用户无需再为资源量和容量规划担心。对客户来说,如果需要新资源,新资源就能立刻自动地获得。资源本身是无限的,资源的供应只受服务协议的限制。

        (6)、资源池化:将云服务提供者的物理或虚拟资源进行集成,以便服务于一个或多个云服务客户的特性。这个关键特性强调云服务提供者既能支持多租户,又通过抽象对客户屏蔽了处理复杂性。对客户来说,他们仅仅知道服务在正常工作,但是他们通常并不知道资源是如何提供或分布的。资源池化将原本属于客户的部分工作,例如维护工作,移交给了提供者。需要指出的是,即使存在一定的抽象级别,用户仍然能够在某个更高的抽象级别指定资源位置。

        云能力类型:是根据资源的使用情况,对为云服务客户提供的云服务的功能进行的分类。有三类不同的云能力类型:应用能力类型、基础设施能力类型和平台能力类型。这三类能力类型有不同的关注点,即相互之间的功能交叉最少。这些云能力类型不应与云服务类别混淆。

        (1)、应用能力类型:云服务客户能使用云服务提供者的应用的一类云能力类型。

        (2)、基础设施能力类型:云服务客户能配置和使用计算、存储和网络资源的一类云能力类型。

        (3)、平台能力类型:云服务客户能使用云服务提供者支持的编程语言和执行环境,部署、管理和运行客户创建或客户获取的应用的一类云能力类型。

         云服务类别:是拥有相同质量集的一组云服务。一种云服务类别可对应一种或多种云能力类型。典型的云服务类别包括:

        (1)、通讯即服务(CaaS):为云服务客户提供实时交互与协作能力的一种云服务类别。

        (2)、计算即服务(CompaaS):为云服务客户提供部署和运行软件所需的配置和使用计算资源能力的一种云服务类别。

        (3)、数据存储即服务(DSaaS):为云服务客户提供配置和使用数据存储相关能力的一种云服务类别。

        (4)、基础设施即服务(Infrastructure as a Service, IaaS):为云服务客户提供云能力类型中的基础设施能力类型的一种云服务类别。使用IaaS时,你以即用即付的方式从服务提供商处租用IT基础设施,如服务器和虚拟机(VM)、存储空间、网络和操作系统。IaaS的优点:无须自己投资硬件;可按需扩展基础设施规模,以便支持不断变化的工作负载;灵活、创新而且按需提供的服务。

        (5)、网络即服务(NaaS):为云服务客户提供传输连接和相关网络能力的一种云服务类别。

        (6)、平台即服务(Platform as a Service, PaaS):为云服务客户提供云能力类型中的平台能力类型的一种云服务类别。PaaS是指云计算服务,它们可以按需提供开发、测试、交付和管理软件应用程序所需的环境。PaaS旨在让开发人员能够更轻松地快速构建Web或移动应用,而无需考虑开发所必须的服务器、存储空间、网络和数据库基础设施进行设置或管理。PaaS的优点:开发应用,更快地打入市场;只需数分钟,就可以将新的Web应用程序部署到云中;使用中间件即服务,降低复杂性。

        (7)、软件即服务(Software as a Service, SaaS):为云服务客户提供云能力类型中的应用能力类型的一种云服务类别。在”软件即服务”的服务模式当中,用户能够访问服务软件及数据。服务提供者则维护基础设施及平台以维持服务正常运作。SaaS使得企业能够借由外包硬件、软件维护及支持服务给服务提供者来降低IT营运费用。另外,由于应用程序是集中供应的,更新可以即时的发布,无需用户手动更新或是安装新的软件。SaaS是通过Internet交付软件应用程序的方法,通常以订阅为基础按需提供。使用SaaS时,云提供商托管并管理软件应用程序和基础设施,并负责软件升级和安全修补等维护工作。用户(通常使用电话、平板电脑或PC上的Web浏览器)通过Internet连接到应用程序。SaaS的优点:你可以注册并快速开始使用创新的业务应用;在任何已连接的计算机上都可以访问应用和数据;如果你的计算机出现故障,数据也不会丢失,因为数据在云中;这种服务可以根据使用需要进行动态扩展。SaaS的缺陷在于用户的数据是存放在服务提供者的服务器之上,使得服务提供者有能力对这些数据进行未经授权的访问。

        典型的云计算部署模式:云计算有四类典型的部署模式:”公有云”、”私有云”、”社区云”和”混合云”。具体描述如下:

        (1)、公有云:云基础设施对公众或某个很大的业界群组提供云服务。公有云服务可通过网络及第三方服务供应者,开放给客户使用,”公有”一词并不一定代表”免费”,但也可能代表免费或相当廉价,公有云并不表示用户数据可供任何人查看,公有云供应者通常会对用户实施使用访问控制机制,公有云作为解决方案,既有弹性,又具备成本效益。公有云为第三方云服务提供商所拥有和运营,他们通过Internet提供其计算资源(如服务器和存储空间)。在公有云中,所有硬件、软件和其它支持性基础设施均为云提供商所拥有和管理。使用Web浏览器访问这些服务和管理你的账户。

        (2)、私有云:云基础设施特定为某个组织运行服务,可以是该组织或某个第三方负责管理,可以是场内服务(on-premises),也可以是场外服务(off-premises)。私有云具备许多公有云环境的优点,例如弹性、适合提供服务,两者差别在于私有云服务中,数据与程序皆在组织内管理,且与公有云服务不同,不会受到网络带宽、安全疑虑、法规限制影响;此外,私有云服务让供应者及用户更能掌控云基础架构、改善安全与弹性,因为用户与网络都受到特殊限制。私有云是指专供一个企业或组织使用的云计算资源。私有云可以实际位于公司的现场数据中心之上。某些公司还向第三方服务提供商付费托管其私有云。在私有云中,在专用网络上维护服务和基础设施。

        (3)、社区云:云基础设施由若干个组织分享,以支持某个特定的社区。社区是指有共同诉求和追求的团体(例如使命、安全要求、政策或合规性考虑等)。和私有云类似,社区云可以是该组织或某个第三方负责管理,可以是场内服务,也可以是场外服务。社区云由众多利益相仿的组织掌控及使用,例如特定安全要求、共同宗旨等。社区成员共同使用云数据及应用程序。

        (4)、混合云:云基础设施由两个或多个云(私有云、社区云或公有云)组成,独立存在,但是通过标准的或私有的技术绑定在一起,这些技术可促成数据和应用的可移植性(例如用于云之间负载分担的cloud bursting技术)。这个模式中,用户通常将非企业关键信息外包,并在公有云上处理,但同时掌控企业关键服务及数据。混合云通过允许在公有云和私有云之间共享数据和应用程序的技术将它们绑定到一起。通过允许数据和应用程序在私有云和公有云之间移动,混合云为企业提供更大的灵活性和更多的部署选项。

        云计算参考架构(Cloud Computing Reference Architecture,简称CCRA):CCRA从四个不同的视角描述了云计算:用户视角、功能视角、实现视角、部署视角。

        (1)、用户视角涉及云计算活动,角色和子角色,参与方,云能力类型和云服务类别,云部署模型和共同关注点等云计算概念。其中,角色是一组具有相同目标的云计算活动的集合。其中云计算的角色包括:云服务客户,云服务提供者,云服务协作者。共同关注点指的是需要在不同角色之间协调,且在云计算系统中一致实现的行为或能力。共同关注点包含可审计性,可用性,治理,互操作性,维护和版本控制,性能,可移植性,隐私,法规,弹性,可复原性,安全,服务水平和服务水平协议等。

        (2)、CCRA认为云计算功能架构用一组高层的功能组件来描述云计算。功能组件代表了为执行与云计算相关的各种角色和子角色的云计算活动的功能集合。功能架构通过分层框架来描述组件。在分层框架中,特定类型的功能被分组到各层中,相邻层次的组件之间通过接口交互。功能视图涵盖了功能组件,功能层和跨层功能等云计算概念。

        (3)、CCRA的分层框架包括4 层,以及一个跨越各层的跨层功能集合。四层分别是:用户层、访问层、服务层、资源层。跨越各层的功能称为跨层功能。

        云计算的7类主要支撑技术

        (1)、系统虚拟化:是指将一台物理计算机系统虚拟化为一台或多台虚拟计算机系统。每个虚拟计算机系统(简称虚拟机)都拥有自己的虚拟硬件(如CPU、内存和设备等),来提供一个独立的虚拟机执行环境。通过虚拟化层的模拟,虚拟机中的操作系统认为自己仍然是独占一个系统在运行。每个虚拟机中的操作系统可以完全不同,并且它们的执行环境是完全独立的。这个虚拟化层被称为虚拟机监控器(Virtual Machine Monitor,简称VMM)。

        虚拟机可以看作是物理机的一种高效隔离的复制。虚拟机具有三个典型特征:同质、高效和资源受控。同质指的是虚拟机运行环境和物理机环境在本质上需求是相同的,但是在表现上有一些差异。高效指的是虚拟机中运行的软件需要具有接近在物理机上直接运行的性能。资源受控指的是VMM需要对系统资源有完全控制能力和管理权限,包括资源的分配、监控和回收。

        VMM对物理资源的虚拟可以归结为三个主要任务:CPU虚拟化、内存虚拟化和I/O 虚拟化。CPU虚拟化是VMM中最核心的部分,决定了内存虚拟化和I/O虚拟化的正确实现。CPU虚拟化包括指令的模拟、中断和异常的模拟及注入和对称多处理器技术的模拟。内存虚拟化一方面解决了VMM和客户机操作系统对物理内存认识上的差异,另一方面在虚拟机之间、虚拟机和VMM之间进行隔离,防止某个虚拟机内部的活动影响到其他的虚拟机甚至是VMM本身,从而造成安全上的漏洞。I/O 虚拟化主要是为了满足多个客户机操作系统对外围设备的访问需求,通过访问截获、设备模拟和设备共享等方式复用外设。

        按照VMM提供的虚拟平台类型可以将VMM分为两类:完全虚拟化和半虚拟化。完全虚拟化下,VMM虚拟的是现实存在的平台。在客户机操作系统看来,虚拟的平台和现实的平台是一样的,客户机操作系统觉察不到运行在一个虚拟平台上。这样的虚拟平台无需对现有的操作系统做任何修改。半虚拟化下,VMM虚拟的平台在现实中是不存在的。这样的虚拟平台需要对客户机操作系统进行修改使之适应虚拟环境。操作系统知道自己运行在虚拟平台上,并且会主动去适应。

        当前主流的虚拟化技术实现结构可以分为三类:Hypervisor模型、宿主模型和混合模型。在Hypervisor模型中,VMM可以看作是一个扩充了虚拟化功能的操作系统,对底层硬件提供物理资源的管理功能,对上层的客户机操作系统提供虚拟环境的创建和管理功能。与Hypervisor不同,宿主模型中,VMM作为宿主操作系统独立的内核模块。物理资源由宿主机操作系统管理,VMM提供虚拟化管理。宿主模型和Hypervisor模型的优缺点恰好相反。宿主模型的最大优点是可以充分利用现有操作系统的设备驱动程序以及其它功能,缺点是虚拟化效率较低,安全性取决于宿主操作系统。而Hypervisor模型虚拟化效率高、安全,但是需要自行开发设备驱动和其它一些功能。混合模型集成了上述两类模型的优点。混合模型中,VMM让出大部分I/O设备的控制权,将它们交由一个运行在特权虚拟机中的特权操作系统来控制。因此,混合模型下CPU和内存的虚拟化由VMM负责,而I/O虚拟化由VMM和特权操作系统共同合作完成。

        (2)、虚拟化资源管理:是云计算中最重要的组成部分之一,对虚拟化资源的管理水平直接影响云计算的可用性、可靠性和安全性。虚拟化资源管理主要包括对虚拟化资源的监控、分配和调度。

        云资源池中应用的需求不断改变,在线服务的请求经常不可预测,这种动态的环境要求云计算的数据中心或计算中心能够对各类资源进行灵活、快速、动态的按需调度。云计算中的虚拟化资源与以往的网络资源相比,有以下特征:数量更为巨大;分布更为离散;调度更为频繁;安全性要求更高。

        通过对虚拟化资源的特征分析以及目前网络资源管理的现状,确定虚拟化资源的管理应该满足以下准则:所有虚拟化资源都是可监控和可管理的;请求的参数是可监控的,监控结果可以被证实;通过网络标签可以对虚拟化资源进行分配和调度;资源能高效地按需提供服务;资源具有更高的安全性。

        在虚拟化资源管理调度接口方面,表述性状态转移(Representational State Transfer,简称REST)有能力成为虚拟化资源管理强有力的支撑。REST实际上就是各种规范的集合,包括Http 协议、客户端/服务器模式等。在原有规范的基础上增加新的规范,就会形成新的体系结构。而REST 正是这样一种体系结构,它结合了一系列的规范形成了一种新的基于Web的体系结构,使其更有能力来支撑云计算中虚拟化资源对管理的需求。

        (3)、分布式数据存储:分布式数据存储技术包含非结构化数据存储和结构化数据存储。其中,非结构化数据存储主要采用文件存储和对象存储技术,而结构化数据存储主要采用分布式数据库技术,特别是NoSQL数据库。下面分别阐述这三方面的技术:

        1)、分布式文件系统:为了存储和管理云计算中的海量数据,Google提出分布式文件系统GFS(Google File System)。GFS成为分布式文件系统的典型案例。Apache Hadoop项目的HDFS实现了GFS的开源版本。

        Google GFS是一个大规模分布式文件存储系统,但是和传统分布式文件存储系统不同的是,GFS在设计之初就考虑到云计算环境的典型特点:结点由廉价不可靠PC构建,因而硬件失败是一种常态而非特例;数据规模很大,因而相应的文件I/O单位要重新设计;大部分数据更新操作为数据追加,如何提高数据追加的性能成为性能优化的关键。相应的GFS在设计上有以下特点:

        A、利用多副本自动复制技术,用软件的可靠性来弥补硬件可靠性的不足。

        B、将元数据和用户数据分开,用单点或少量的元数据服务器进行元数据管理,大量的用户数据结点存储分块的用户数据,规模可以达到PB 级。

        C、面向一次写多次读的数据处理应用,将存储与计算结合在一起,利用分布式文件系统中数据的位置相关性进行高效的并行计算。

        GFS/HDFS非常适于进行以大文件形式存储的海量数据的并行处理,但是,当文件系统的文件数量持续上升时,元数据服务器的可扩展性面临极限。以HDFS为例,只能支持千万级的文件数量,如果用于存储互联网应用的小文件则有困难。在这种应用场景面前,分布式对象存储系统更为有效。

        2)、分布式对象存储系统:与分布式文件系统不同,分布式对象存储系统不包含树状名称空间(Namespace),因此在数量增长时可以更有效地将元数据平衡地分布到多个结点上,提供理论上无限的可扩展性。

        对象存储系统是传统的块设备的延伸,具有更高的”智能”:上层通过对象ID来访问对象,而不需要了解对象的具体空间分布情况。相对于分布式文件系统,在支撑互联网服务时,对象存储系统具有如下优势:

        A、相对于文件系统的复杂API,分布式对象存储系统仅提供基于对象的创建、读取、更新、删除的简单接口,在使用时更方便而且语义没有歧义。

        B、对象分布在一个平坦的空间中,而非文件系统那样的名称空间之中,这提供了很大的管理灵活性:既可以在所有对象之上构建树状逻辑结构;也可以直接用平坦的空间;还可以只在部分对象之上构建树状逻辑结构;甚至可以在同一组对象之上构建多个名称空间。

        Amazon的S3就属于对象存储服务。S3通过基于Http REST的接口进行数据访问,按照用量和流量进行计费,其他的云服务商也都提供了类似的接口服务。很多互联网服务商,如Facebook等也都构建了对象存储系统,用于存储图片、照片等小型文件。

        3)、分布式数据库管理系统:传统的单机数据库采用”向上扩展”的思路来解决计算能力和存储能力的问题,即增加CPU处理能力、内存和磁盘数量。这种系统目前最大能够支持几个TB 数据的存储和处理,远不能满足实际需求。采用集群设计的分布式数据库逐步成为主流。传统的集群数据库的解决方案大体分为以下两类:

        A、Share-Everything(Share-Something):数据库结点之间共享资源,例如磁盘、缓存等。当结点数量增大时,结点之间的通信将成为瓶颈;而且处理各个结点对数据的访问控制也为事务处理带来麻烦。

        B、Share-Nothing:所有的数据库服务器之间并不共享任何信息。当任意一个结点接到查询任务时,都会将任务分解到其他所有的结点上面,每个结点单独处理并返回结果。但由于每个结点容纳的数据和规模并不相同,因此如何保证一个查询能够被均衡地分配到集群中成为一个关键问题。同时,结点在运算时可能从其他结点获取数据,这同样也延长了数据处理时间。在处理数据更新请求时,Share-Nothing数据库需要保证多结点的数据一致性,需要快速准确定位到数据所在结点。

        云计算环境下,大部分应用不需要支持完整的SQL语义,而只需要Key-Value形式或略复杂的查询语义。在这样的背景下,进一步简化的各种NoSQL数据库成为云计算中的结构化数据存储的重要技术。

        Google的BigTable是一个典型的分布式结构化数据存储系统。在表中,数据是以”列族”为单位组织的,列族用一个单一的键值作为索引,通过这个键值,数据和对数据的操作都可以被分布到多个结点上进行。

        在开源社区中,Apache HBase使用了和BigTable类似的结构,基于Hadoop平台提供BigTable的数据模型,而Cassandra则采用了亚马逊Dynamo的基于DHT的完全分布式结构,实现更好的可扩展性。

        (4)、并行计算模式:并行计算模型是提高海量数据处理效率的常用方法。常用的并行计算模型主要包括两类:一类是面向高性能计算的,如MPI(Message Passing Interface)模型;另一类是面向互联网数据密集型应用的并行编程模型,如Google的MapReduce模型、微软的Dryad模型。第二类并行计算模型更适用于云计算环境。云计算下把海量数据分布到多个结点(通常是廉价不可靠的PC机)上,将计算并行化,利用多机的计算资源,加快数据处理的速度。

        云计算下的并行处理需要考虑以下关键问题:任务划分,使得任务能更加优化的被分解和并行执行;任务调度,操作尽量本地化,以保证在网络资源有限的情况下,最大程度地将计算任务在本地执行,减少通信开销;自动容错处理机制,保证在结点失效的情况下处理任务仍然能够正确地执行。下面分别阐述这三方面内容。

        1)、任务划分:在MapReduce或Dryad中,数据以块的形式存储在集群的各个结点上,每个计算任务只需处理一部分数据,这样自然地实现了海量数据的并行处理。这种简单的根据存储位置进行任务划分的方式,只适用于不存在数据依赖关系的计算。而对于存在依赖关系的计算,MapReduce将复杂的计算转化为一系列单一的Map/Reduce计算,串联起来完成多个Map/Reduce任务来实现复杂计算。转化有两者方式:手工转化和利用Pig、Hive等工具进行自动转化。Dyrad将存在依赖关系的复杂计算表示为一个有向无环图,利用图论对计算自动进行依赖性分析和优化,最后转化为高效的子任务执行。

        2)、任务调度:一个集群系统的存储和计算资源有两种组织方式:一是将存储和计算资源部署在相同结点上;另一种是存储和计算结点分开部署。MapReduce和Dryad采用前者,MPI采用后者。MapReduce和Dryad在调度任务时认为”移动计算比移动数据更合算”,优先把计算任务调度到数据所在的结点或者就近的结点,这样在进行计算时,大部分的输入数据都能从本地读取,减少了网络带宽的消耗,提高了整个系统的吞吐量。另外,MapReduce对于由于各种原因(例如硬盘出错)造成执行非常慢的子任务采用了备用任务的机制,当MapReduce操作接近完成时,调度备用任务进程来执行剩下的执行非常慢的子任务。

        3)、自动容错处理机制:常用恢复机制有两类:任务重做(Task Re-execute)和检查点(Checkpoint)回滚方式。这两种机制各有优缺点,前者实现非常简单,但是重做的代价比较大;后者实现较复杂,需要周期性地记录所有进程状态,但是恢复较快。MapReduce和Dryad主要采用任务重做的方式来处理结点的失效,而MPI通常采用检查点回滚的机制。

        (5)、用户交互技术:随着云计算的逐步普及,浏览器已经不仅仅是一个客户端的软件,而逐步演变为承载着互联网的平台。浏览器与云计算的整合技术主要体现在两个方面:浏览器网络化与浏览器云服务。

        国内各家浏览器都将网络化作为其功能的标配之一,主要功能体现在用户可以登录浏览器,并通过自己的帐号将个性化数据同步到服务端。用户在任何地方,只需要登录自己的帐号,就能够同步更新所有的个性内容,包括浏览器选项配置、收藏夹、网址记录、智能填表、密码保存等。

        目前的浏览器云服务主要体现在P2P下载、视频加速等单独的客户端软件中,主要的应用研究方向包括:基于浏览器的P2P下载、视频加速、分布式计算、多任务协同工作等。在多任务协同工作方面,AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种创建交互式网页应用的网页开发技术,改变了传统网页的交互方式,改进了交互体验。

        (6)、安全管理:安全问题是用户是否选择云计算的主要顾虑之一。传统集中式管理方式下也有安全问题,云计算的多租户、分布性、对网络和服务提供者的依赖性,为安全问题带来新的挑战。其中,主要的数据安全问题和风险包括:

        1)、数据存储及访问控制:包括如何有效存储数据以避免数据丢失或损坏,如何避免数据被非法访问和篡改,如何对多租户应用进行数据隔离,如何避免数据服务被阻塞,如何确保云端退役(at rest)数据的妥善保管或销毁等等。

        2)、数据传输保护:包括如何避免数据被窃取或攻击,如何保证数据在分布式应用中有效传递等。

        3)、数据隐私及敏感信息保护:包括如何保护数据所有权、并可根据需要提供给受信方使用,如何将个人身份信息及敏感数据挪到云端使用等。

        4)、数据可用性:包括如何提供稳定可靠的数据服务以保证业务的持续性,如何进行有效的数据容灾及恢复等。

        5)、依从性管理:包括如何保证数据服务及管理符合法律及政策的要求等。

        相应的数据安全管理技术包括:

        1)、数据保护及隐私(Data Protection and Privacy):包括虚拟镜像安全、数据加密及解密、数据验证、密钥管理、数据恢复、云迁移的数据安全等。

        2)、身份及访问管理(Identity and Access Management,简称IAM):包括身份验证、目录服务、联邦身份鉴别/单点登陆(Single Sign on,简称SSO)、个人身份信息保护、安全断言置标语言、虚拟资源访问、多租用数据授权、基于角色的数据访问、云防火墙技术等。

        3)、数据传输(Data Transportation):包括传输加密及解密、密钥管理、信任管理等。

        4)、可用性管理(Availability Management):包括单点失败(Single Point of Failure,简称SPoF)、主机防攻击、容灾保护等。

        5)、日志管理(Log Management):包括日志系统、可用性监控、流量监控、数据完整性监控、网络入侵监控等。

        6)、审计管理(Audit Management):包括审计信任管理、审计数据加密等。

        7)、依从性管理(Compliance Management):包括确保数据存储和使用等符合相关的风险管理和安全管理的规定要求。

        (7)、运营支撑管理:为了支持规模巨大的云计算环境,需要成千上万台服务器来支撑。如何对数以万计的服务器进行稳定高效地运营管理,成为云服务被用户认可的关键因素之一。下面从云的部署、负载管理和监控、计量计费、服务水平协议(Service Level Agreement,简称SLA)、能效评测这五个方面分别阐述云的运营管理。

        1)、云的部署:包括两个方面:云本身的部署和应用的部署。如前所述,云一方面规模巨大,另一方面要求很好的服务健壮性、可扩展性和安全性。因此,云的部署是一个系统性的工程,涉及到机房建设、网络优化、硬件选型、软件系统开发和测试、运维等各个方面。为了保证服务的健壮性,需要将云以一定冗余部署在不同地域的若干机房。为了应对规模的不断增长,云要具备便利的、近乎无限的扩展能力,因而从数据存储层、应用业务层到接入层都需要采用相应的措施。为了保护云及其应用的安全,需要建立起各个层次的信息安全机制。除此之外,还需要部署一些辅助的子系统,如管理信息系统(MIS)、数据统计系统、安全系统、监控和计费系统等,他们帮助云的部署和运营管理达到高度自动化和智能化的程度。

        云本身的部署对云的用户来说是透明的。一个设计良好的云,应使得应用的部署对用户也是透明和便利的。这依赖云提供部署工具(或API)帮助用户自动完成应用的部署。一个完整的部署流程通常包括注册、上传、部署和发布四个过程。

        2)、负载管理和监控:云的负载管理和监控是一种大规模集群的负载管理和监控技术。在单个结点粒度,它需要能够实时地监控集群中每个结点的负载状态,报告负载的异常和结点故障,对出现过载或故障的结点采取既定的预案。在集群整体粒度,通过对单个结点、单个子系统的信息进行汇总和计算,近乎实时地得到集群的整体负载和监控信息,为运维、调度和成本提供决策。与传统的集群负载管理和监控相比,云对负载管理和监控有新的要求:首先,新增了应用粒度,即以应用为粒度来汇总和计算该应用的负载和监控信息,并以应用为粒度进行负载管理。应用粒度是可以再细分的。粒度甚至精细到API调用的粒度。其次,监控信息的展示和查询现在要作为一项服务提供给用户,而不仅仅是少量的专业集群运维人员,这需要高性能的数据流分析处理平台的支持。

        3)、计量计费:云的主要商业运营模式是采取按量计费的收费方式,即便对于私有云,其运营企业或组织也可能有按不同成本中心进行成本核算的需求。为了精确的度量”用了多少”,就需要准确的、及时的计算云上的每一个应用服务使用了多少资源,这称为服务计量。

        服务计量是一个云的支撑子系统,它独立于具体的应用服务,像监控一样能够在后台自动地统计和计算每一个应用在一定时间点的资源使用情况。对于资源的衡量维度主要是:应用的上行(in)/下行(out)流量、外部请求响应次数、执行请求所花费的CPU时间、临时和永久数据存储所占据的存储空间、内部服务API调用次数等。也可认为,任何应用使用或消耗的云的资源,只要可以被准确的量化,就可以作为一种维度来计量。实践中,计量通常既可以用单位时间内资源使用的多少来衡量,如每天多少字节流量;也可以用累积的总使用量来衡量,如数据所占用的存储空间字节大小。

        在计量的基础上,选取若干合适的维度组合,制定相应的计费策略,就能够进行计费。计费子系统将计量子系统的输出作为输入,并将计费结果写入帐号子系统的财务信息相关模块,完成计费。计费子系统还产生可供审计和查询的计费数据。

        4)、SLA:是在一定开销下为保障服务的性能和可靠性,服务提供商与用户间定义的一种双方认可的协定。对于云服务而言,SLA是必不可缺的,因为用户对云服务的性能和可靠性有不同的要求。从用户的角度而言,也需要从云服务提供商处得到具有法律效力的承诺,来保证支付费用之后得到应有的服务质量。从目前的实践看,国外的大型云服务提供商均提供了SLA。

        一个完整的SLA 同时也是一个具有法律效力的合同文件,它包括所涉及的当事人、协定条款、违约的处罚、费用和仲裁机构等。当事人通常是云服务提供商与用户。协定条款包含对服务质量的定义和承诺。服务质量一般包括性能、稳定性等指标,如月均稳定性指标、响应时间、故障解决时间等。实际上,SLA的保障是以一系列服务水平目标(Service Level Object,简称SLO)的形式定义的。SLO是一个或多个有限定的服务组件的测量的组合。一个SLO被实现是指那些有限定的组件的测量值在限定范围里。通过前述的对云及应用的监控和计量,可以计算哪些SLO被实现或未被实现,如果一个SLO未被实现,即SLA的承诺未能履行,就可以按照”违约的处罚”对当事人(一般是云服务提供商)进行处罚。通常采取的方法是减免用户已缴纳或将缴纳的费用。

        5)、能效评测:云计算提出的初衷是将资源和数据尽可能放在云中,通过资源共享、虚拟化技术和按需使用的方式提高资源利用率,降低能源消耗。但是在实际应用中,大型数据中心的散热问题造成了大量的能源消耗。如何有效降低能源消耗构建绿色数据中心成为云服务提供商迫切需要解决的问题之一。

        云计算数据中心的能耗测试评价按照不同的维度有不同测试手段和方法。针对传统的数据中心它有显性评价体系和隐性评价体系两个方面。

        显性的能耗测试评价可以参照传统数据中心的评价体系,具体包括:能源效率指标、IT 设备的能效比、IT设备的工作温度和湿度范围、机房基础设施的利用率指标。能源效率指标用于评估一个数据中心使用的能源中有多少用于生产,还有多少被浪费。在这方面,绿色网格组织的电能利用率(Power Usage Effectiveness,简称PUE)指标影响力较大。PUE值越小,意味着机房的节能性越好。目前,国内绝大多数的数据中心PUE值为3左右,而欧美一些国家数据中心的PUE平均值为2左右。

        隐性能耗测试评价包括云计算服务模式节省了多少社会资源,由于客户需求的不同,云吞吐量的变化节省了多少IT设备的投资和资源的重复建设。这些的测试评价很多时候是不能量化或者不能够进行精准地评价。

        为了实现对数据中心能源的自动调节,满足相关的节能要求,一些IT厂商和标准化组织纷纷推出节能技术及能耗检测工具,如惠普公司的动态功率调整技术(Dynamic Power Saver,简称DPS)、IBM的Provisioning软件。

        云计算应用

        (1)、云教育:教育在云技术平台上的开发和应用,被称为”教育云”。云教育从信息技术的应用方面打破了传统教育的垄断和固有边界。通过教育走向信息化,使教育的不同参与者----教师、学生、家长、教育部门等在云技术平台上进行教育、教学、娱乐、沟通等功能。同时可以通过视频云计算的应用对学校特色教育课程进行直播和录播,并将信息储存至流存储服务器上,便于长时间和多渠道享受教育成果。

        (2)、云物联:物联网是新一代信息技术浪潮的生力军。物联网通过智能感知、识别技术与普适计算广泛应用于互联网各方面。物联网作为互联网的业务和应用,随着其深入的发展和流量的增加,对数据储存和计算量的要求将带来对云计算的需求增加。并且在物联网的高级阶段,必将需要虚拟云计算技术的进一步应用。

        (3)、云社交:是一种虚拟社交应用。它以资源分享作为主要目标,将物联网、云计算和移动互联网相结合,通过其交互作用创造新型社交方式。云社交把社会资源进行测试、分类和集成,并向有需求的用户提供相应的服务。用户流量越大,资源集成越多,云社交的价值就越大。目前云社交已经具备了初步模型。

        (4)、云安全:是云计算在互联网安全领域的应用。云安全融合了并行处理、网络技术、未知病毒等新兴技术,通过分布在各领域的客户端对互联网中存在异常的情况进行监测,获取最新病毒程序信息,将信息发送至服务端进行处理并推送最便捷的解决建议。通过云计算技术使整个互联网变成了终极安全卫士。

        (5)、云政务:云计算应用于政府部门中,为政府部门降低成本提高效率做出贡献。由于云计算具有集约、共享、高效的特点,所以其应用将为政府部门降低20%至80%的成本。所以在电子商务延伸至电子政务的背景下,各国政府部门都在着力进行电子政务改革,研究云计算普遍应用的可能性。伴随政府改革的进行,政府部门也开始从自建平台到购买电信运营商的服务,这将为促进云计算的进一步发展并为电信运营商带来商机。

        (6)、云存储:是云计算的一个新的发展浪潮。云存储不是某一个具体的存储设备,而是互联网中大量的存储设备通过应用软件共同作用协同发展,进而带来的数据访问服务。云计算系统要运算和处理海量数据,为支持云计算系统需要配置大量的存储设备,这样云技术系统就自动转化为云存储系统。故而,云存储是在云计算的概念的延伸。

        如果没有云计算,生活将会非常不同。云计算已经成为我们日常生活中不可或缺的一部分,大多数人甚至在没有意识到的情况下就在使用它了。事实上,如果没有云平台的存在,人们的生活将会无法想像:没有云,就不会有Facebook、Twitter、Gmail和Spotify。

        “云”为何会如此强大

        (1)、部署速度快:如果你曾参与过新应用程序的部署,你就会知道,从安装到运行要耗费几个月甚至是几年的时间。而有了基于云端的应用程序,这一切变得不再那么复杂。在多数情况下,你可以即刻登录并开始使用应用程序。至于各企业通用的大多数应用程序,则在几天或几周内就可以完成部署和运行,不再需要几个月或几年的时间。

        (2)、无需预付费:在过去,部署新的应用程序要支出高额费用购置新设备,另外还要支付许可证费用、集成费用,并且不可避免的还要支付顾问咨询费。而有了云计算软件,这些费用会大幅下降,甚至完全不需要支付此类费用。你只需按月支付固定的服务费用即可使用。如此一来,原本无法预期的巨额支出旋即转变为可预测的运营费用。

        (3)、即时可扩展:随着时间的推移,你可以根据需要的变化选择增加或减少使用云应用程序的用户数量。这意味着,你按需付费即可,而且不必再担心云端容量不足。

        (4)、用户无需维护:你的IT员工每个月都需要花费几天的时间来修补、升级和测试应用程序,但使用云应用程序之后,则不必再执行这些操作。这是因为一切都由我们在云端处理,从而让你的员工有更多的时间从事新项目和进行创新。

        (5)、随时随地访问:云应用程序的设计,旨在让人们随时随地都可通过任何设备安全访问。

        (6)、更具安全性:据2010年的一项研究发现,企业平均每年会遗失263台笔记本电脑。如果电脑中包含机密数据,每一次遗失都会带来严重的安全隐患。但使用云应用程序后,你的数据安全地被存储在云中。因此,遗失笔记本电脑只是会带来不便,并不会带来潜在灾害。

        云计算面临的挑战:缺乏统一的技术标准;缺乏统一的运营服务标准;服务的可用性问题;运营管理问题;能效管理问题;信用和安全管理;海量数据的产生。

        云计算的隐私安全问题主要包括

        (1)、在未经授权的情况下,他人以不正当的方式进行数据侵入,获得用户数据。

        (2)、政府部门或其他权利机构为达到目的对云计算平台上的信息进行检查,获取相应的资料以达到监管和控制的目的。

        (3)、云计算提供商为获取商业利益对用户信息进行收集和处理。

        以上内容主要摘自: 《云计算标准化白皮书》、维基百科Salesforce 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐