第一章 概述
云计算和大数据是相辅相成关系,从应用角度来讲,大数据离不开云计算,因为大规模的数据运算需要很多计算资源;大数据是云计算的应用案例之一,云计算是大数据的实现工具之一。大数据说的是一种移动互联网和物联网背景下的应用场景,各种应用产生的巨量数据,需要处理和分析,挖掘有价值的信息;云计算说的是一种技术解决方案,就是利用这种技术可以解决计算、存储、数据库等一系列IT基础设施的按需构建的需求。两者并不是同一个层面的东西。
1.1 大数据
大数据技术是一种新一代技术和构架,以快速的采集、处理和分析技术,从各种超大规模的数据中提取价值。大数据涉及到数据的采集、整理、存储、安全、分析、呈现和应用,大数据技术庞大复杂,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算、可视化等各种技术范畴和不同的技术层面。
从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式架构。它的特色在于对海量数据进行分布式数据挖掘。但它必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术。
大数据(Bigdata)通常用来形容大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
1.2 云计算
近来在伦敦举行的全球领导峰会上的一项调查发现,34%的企业管理人员希望其公司的全职员工中有一半以上在远程工作,并呈上升的趋势。受新冠疫情的影响,这也是未来某些的企业发展方向。随着员工在不同的时区工作,企业将变得更加全球化,人们将看到企业领导者认识到分布式团队的好处,但是这需要云端员工及所有关键利益相关者的充分参与,并完成业务战略和目标的一致性。随着成本的节省、具备更大的灵活性,以及对房地产的绝佳利用,许多企业将把云计算作为一种提高生产力的手段。
什么“云”?
很多年前,我们家住一小平房,喝水就喝院子里的井水,冬天取暖自己烧煤炉。后来经济状况好了,搬进了楼房,喝水喝上了集中供应的自来水,冬季用上了集中供应的暖气,再也不用打水和掏黑煤球。
这就是“云”的基本概念,过去企业数据维护需要恒温恒湿的机房、一排排服务器以及专业的维护人员。现在云服务器成为了公司“隐形的机房”,由云服务器的提供者负责维护事宜。简单来说,配备了阿里云,就是阿里云的技术团队在维护服务器的安全
1.3 云计算模式
1.3.1 公有云
公有云通常指第三方提供商提供给用户能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的。这种云有许多实例,可在当今整个开放的公有网络中提供服务。公有云的最大意义是能够以低廉的价格,提供有吸引力的服务给最终用户,创造新的业务价值,公有云作为一个支撑平台,还能够整合上游的服务(如增值业务,广告)提供者和下游最终用户,打造新的价值链和生态系统。它使客使⽤户能够访问和共享基本的计算机基础设备资源,包括但不限于硬件、存储和带宽等。
1.3.2 私有云
私有云(PrivateClouds)是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所。私有云极大的保障了安全问题,目前有些企业已经开始构建自己的私有云。
1.3.3 混合云
混合云是公有云和私有云两种服务方式的结合。由于安全和控制原因,并非所有的企业信息都能放置在公有云上,这样大部分已经应用云计算的企业将会使用混合云模式。很多将选择同时使用公有云和私有云,有一些也会同时建立公众云。因为公有云只会向用户使用的资源收费,所以集中云将会变成处理需求高峰的一个非常便宜的方式。比如对一些零售商来说,他们的操作需求会随着假日的到来而剧增,或者是有些业务会有季节性的上扬。同时混合云也为其他目的的弹性需求提供了一个很好的基础,比如,灾难恢复。这意味着私有云把公有云作为灾难转移的平台,并在需要的时候去使用它。这是一个极具成本效应的理念。另一个好的理念是,使用公有云作为一个选择性的平台,同时选择其他的公有云作为灾难转移平台。
1.4 如何理解IaaS、PaaS、SaaS?
云计算是一种创新的技术,底层离不开虚拟化,平台操作系统,数据库,存储技术,负载均衡,高可用,群集技术,分布式技术,安全技术等等,想要学习云计算,就要精通其中的一门技术。云计算技术从技术应用服务的场景可划分为三个层次IaaS(基础架构即服务)、PaaS(平台即服务)、SaaS(软件即服务)。
我们把企业信息服务比做盖房子,laaS是根据建造的需要,向大家提供各种各样的砖头。接下来我们发现,一块砖一块砖的盖房子,效率太低了,这时候我们发明了预制件,在工厂里面,把墙面,楼板,立柱等等都预制好,到了现场直接组装,就可以完成建造,而这个提供预制件的服务就是PaaS,PaaS是资源提供方和最终使用方直接的过渡。SaaS做得更干脆,直接为我们提供一个完整的房子。SaaS为我们提供的房子,有可能是毛坯也有可能是精装,更有可能是能够根据我们的需要,自助变换户型、自助选择各种各样的装饰模块来装潢的产品。
1.4.1 IaaS在公共云中
InfrastructureasaService,虚拟化的计算资源,网络资源,存储资源。提供给消费者的服务是对所有计算基础设施的利⽤,包括处理器(CPU)、内存、存储、⽹络和其它基本的计算资源,⽤户能够部署和运⾏任意软件,包括操作系统和应⽤程序。典型应用:AmazonEC2(AmazonElasticComputeCloud)
1.4.2 私有云中的PaaS
PlatformasaService,面向的不是普通用户,而多是软件开发人员。提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python,.Net等)开发的应用程序部署到供应商的云计算基础设施上去。客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可控制运行应用程序的托管环境配置。优点是底层到运行环境,都不需要用户操心,省事,可以集中精力做应用项目,缺点是服务商提供的东西,定制太强,不灵活,只适用于特殊的应用项目。典型软件:Docker,Rocket,Openshift。
1.4.3 混合云中的SaaS
SoftwareasaService,提供给客户的服务是运营商运⾏在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界⾯访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等。优点是所有东西都由服务商提供,自己只需要花钱使用就行了,对于广大(大中小)企业来说,SaaS是采用先进技术实施信息化的最好途径。典型应用:企业邮箱,视频点播,视频直播。
1.5 云计算核心技术
1.5.1 虚拟化技术
必须强调的是,虚拟化突破了时间、空间的界限,是云计算最为显著的特点,虚拟化技术包括应用虚拟和资源虚拟两种。众所周知,物理平台与应用部署的环境在空间上是没有任何联系的,正是通过虚拟平台对相应终端操作完成数据备份、迁移和扩展等。
虚拟化是云计算最重要的核心技术之一,它为云计算服务提供基础架构层面的支撑,是ICT信息与通信技术(全写为InformationandCommunicationsTechnology)服务快速走向云计算的最主要驱动力。可以说,没有虚拟化技术也就没有云计算服务的落地与成功。随着云计算应用的持续升温,业内对虚拟化技术的重视也提到了一个新的高度。与此同时,我们的调查发现,很多人对云计算和虚拟化的认识都存在误区,认为云计算就是虚拟化。事实上并非如此,虚拟化是云计算的重要组成部分但不是全部。
从技术上讲,虚拟化是一种在软件中仿真计算机硬件,以虚拟资源为用户提供服务的计算形式。旨在合理调配计算机资源,使其更高效地提供服务。它把应用系统各硬件间的物理划分打破,从而实现架构的动态化,实现物理资源的集中管理和使用。虚拟化的最大好处是增强系统的弹性和灵活性,降低成本、改进服务、提高资源利用效率。
从表现形式上看,虚拟化又分两种应用模式。一是将一台性能强大的服务器虚拟成多个独立的小服务器,服务不同的用户。二是将多个服务器虚拟成一个强大的服务器,完成特定的功能。这两种模式的核心都是统一管理,动态分配资源,提高资源利用率。在云计算中,这两种模式都有比较多的应用.
1.5.2 分布式数据存储技术
云计算的另一大优势就是能够快速、高效地处理海量数据。在数据爆炸的今天,这一点至关重要。为了保证数据的高可靠性,云计算通常会采用分布式存储技术,将数据存储在不同的物理设备中。这种模式不仅摆脱了硬件设备的限制,同时扩展性更好,能够快速响应用户需求的变化。
分布式存储与传统的网络存储并不完全一样,传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
在当前的云计算领域,Google的GFS和Hadoop开发的开源系统HDFS是比较流行的两种云计算分布式存储系统。
GFS(GoogleFileSystem)技术:谷歌的非开源的GFS(GoogleFileSystem)云计算平台满足大量用户的需求,并行地为大量用户提供服务。使得云计算的数据存储技术具有了高吞吐率和高传输率的特点。
HDFS(HadoopDistributedFileSystem)技术:大部分ICT厂商,包括Yahoo、Intel的“云”计划采用的都是HDFS的数据存储技术。未来的发展将集中在超大规模的数据存储、数据加密和安全性保证、以及继续提高I/O速率等方面。
1.5.3 编程模式
从本质上讲,云计算是一个多用户、多任务、支持并发处理的系统。高效、简捷、快速是其核心理念,它旨在通过网络把强大的服务器计算资源方便地分发到终端用户手中,同时保证低成本和良好的用户体验。在这个过程中,编程模式的选择至关重要。云计算项目中分布式并行编程模式将被广泛采用。
分布式并行编程模式创立的初衷是更高效地利用软、硬件资源,让用户更快速、更简单地使用应用或服务。在分布式并行编程模式中,后台复杂的任务处理和资源调度对于用户来说是透明的,这样用户体验能够大大提升。MapReduce是当前云计算主流并行编程模式之一。MapReduce模式将任务自动分成多个子任务,通过Map和Reduce两步实现任务在大规模计算节点中的高度与分配。
MapReduce是Google开发的java、Python、C++编程模型,主要用于大规模数据集(大于1TB)的并行运算。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。
1.5.4 大规模数据管理
处理海量数据是云计算的一大优势。那么如何处理则涉及到很多层面的东西,因此高效的数据处理技术也是云计算不可或缺的核心技术之一。对于云计算来说,数据管理面临巨大的挑战。云计算不仅要保证数据的存储和访问,还要能够对海量数据进行特定的检索和分析。由于云计算需要对海量的分布式数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。
Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase是业界比较典型的大规模数据管理技术。
BT(BigTable)数据管理技术:BigTable是非关系的数据库,是一个分布式的、持久化存储的多维度排序Map。BigTable建立在GFS,Scheduler,LockService和MapReduce之上,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。Bigtable的设计目的是可靠的处理PB级别的数据,并且能够部署到上千台机器上。
开源数据管理模块HBase:HBase是Apache的Hadoop项目的子项目,定位于分布式、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。作为高可靠性分布式存储系统,HBase在性能和可伸缩方面都有比较好的表现。利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。
1.5.5 分布式资源管理
云计算采用了分布式存储技术存储数据,那么自然要引入分布式资源管理技术。在多节点的并发执行环境中,各个节点的状态需要同步,并且在单个节点出现故障时,系统需要有效的机制保证其它节点不受影响。而分布式资源管理系统恰是这样的技术,它是保证系统状态的关键。
另外,云计算系统所处理的资源往往非常庞大,少则几百台服务器,多则上万台,同时可能跨跃多个地域。且云平台中运行的应用也是数以千计,如何有效地管理这批资源,保证它们正常提供服务,需要强大的技术支撑。因此,分布式资源管理技术的重要性可想而知。
全球各大云计算方案/服务提供商们都在积极开展相关技术的研发工作。其中Google内部使用的Borg技术很受业内称道。另外,微软、IBM、Oracle/Sun等云计算巨头都有相应解决方案提出。
1.5.6 信息安全
调查数据表明,安全已经成为阻碍云计算发展的最主要原因之一。数据显示,32%已经使用云计算的组织和45%尚未使用云计算的组织的ICT管理将云安全作为进一步部署云的最大障碍。因此,要想保证云计算能够长期稳定、快速发展,安全是首要需要解决的问题。
事实上,云计算安全也不是新问题,传统互联网存在同样的问题。只是云计算出现以后,安全问题变得更加突出。在云计算体系中,安全涉及到很多层面,包括网络安全、服务器安全、软件安全、系统安全等等。因此,有分析师认为,云安全产业的发展,将把传统安全技术提到一个新的阶段。现在,不管是软件安全厂商还是硬件安全厂商都在积极研发云计算安全产品和方案。包括传统杀毒软件厂商、软硬防火墙厂商、IDS/IPS厂商在内的各个层面的安全供应商都已加入到云安全领域。相信在不久的将来,云安全问题将得到很好的解决.
1.5.7 云计算平台管理
云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效地管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。云计算系统的平台管理技术,需要具有高效调配大量服务器资源,使其更好协同工作的能力。其中,方便地部署和开通新业务、快速发现并且恢复系统故障、通过自动化、智能化手段实现大规模系统可靠的运营是云计算平台管理技术的关键。
对于提供者而言,云计算可以有三种部署模式,即公共云、私有云和混合云。三种模式对平台管理的要求大不相同。对于用户而言,由于企业对于ICT资源共享的控制、对系统效率的要求以及ICT成本投入预算不尽相同,企业所需要的云计算系统规模及可管理性能也大不相同。因此,云计算平台管理方案要更多地考虑到定制化需求,能够满足不同场景的应用需求。
包括Google、IBM、微软、Oracle/Sun等在内的许多厂商都有云计算平台管理方案推出。这些方案能够帮助企业实现基础架构整合、实现企业硬件资源和软件资源的统一管理、统一分配、统一部署、统一监控和统一备份,打破应用对资源的独占,让企业云计算平台价值得以充分发挥。
1.6 云计算技术特点
1.6.1 动态可扩展
云计算具有高效的运算能力,在原有服务器基础上增加云计算功能能够使计算速度迅速提高,最终实现动态扩展虚拟化的层次达到对应用进行扩展的目的。
1.6.2 按需部署
计算机包含了许多应用、程序软件等,不同的应用对应的数据资源库不同,所以用户运行不同的应用需要较强的计算能力对资源进行部署,而云计算平台能够根据用户的需求快速配备计算能力及资源。
1.6.3 灵活性高
目前市场上大多数IT资源、软、硬件都支持虚拟化,比如存储网络、操作系统和开发软、硬件等。虚拟化要素统一放在云系统资源虚拟池当中进行管理,可见云计算的兼容性非常强,不仅可以兼容低配置机器、不同厂商的硬件产品,还能够外设获得更高性能计算
1.7 虚拟化技术的分类:
1.7.1 模拟:Emulation
Qemu,PearPC,Bochs,.
2.完全虚拟化:FullVirtualization,NativeVirtualization
完全虚拟化提供底层物理系统的全部抽象化,且创建一个新的虚拟系统,客户机操作系统
可以在里面运行,不需要对客户机操作系统或者应用程序进行修改,客户机操作系统或者应用程序像往常一样运行,意识不到虚拟环境的存在)。
vmware是一款完全虚拟化软件,,但完全虚拟化的弱点是效率不如班虚拟化的效率高,
半虚拟化系统性能可以接近在裸机上的性能。
3半虚拟化:Para-Virutalization
半虚拟化需要对运行在虚拟机上的客户操作系统,进行修改,这些客户机操作系统会意识到它们运行在虚拟环境里)并提供相近的性能,但半虚拟化的性能要比完全虚拟化更优越
特点:GuestOS明确知道自己运行虚拟机之上;
4容器级虚拟化:LXC,OpenVZ,libcontainer,runC,rkt,LinuxVServers,Virtuozzo,...
5,库级别虚拟化:wine
6.程序级虚拟化:jvm
1.7.2主机虚拟化:Emulation,FullVirtualization,Para-Virutalization
Type-I:Hypervisor直接运行于硬件;
Type-II:Hypervisor运行主机OS之上;
1.7.3 云栈的类别:
IaaS(Infrastructure-as-a-Service)基础设施服务
PaaS(Platform-as-a-Service)系统平台服务
SaaS(Software-as-a-Service)软件服务
FWaaS(FireWallasaService)防火墙服务
DBaaS(DataBase-as-a-Service)数据库服务
LBaas(load-balancer-as-a-service)负载均衡服务
1.8 主机虚拟化:
在主机方面的虚拟化主要分为以下三个方面:
1.8.1 cpu虚拟化
1.8.2 内存虚拟化
1.8.3 硬盘虚拟化
虚拟机如何使用硬盘的空间:虚拟机在物理硬盘上划分一个文件来使用,此文件也是靠宿主机通过文件系统将磁盘分区后,并创建文件系统后,分给虚拟机一个文件的大小的空间。在宿主机上表现的就是一个文件,而在虚拟机上表现的就是一块硬盘。所以还需要用软件的方式模拟一个适配器,将此文件,模拟成硬盘。
1.8.4 网络虚拟
用软件的方式给每个虚拟机虚拟一块网卡和MAC地址,当通信时使用同一块物理网卡,网卡通讯有排队方式,在同一台物理网卡上,排队执行任务。(将物理网卡设为混杂模式;无论是不是发向本机物理网卡的内容都给与接收);此时将物理网卡也虚拟化一个MAC地址,把物理网卡当作交换机来使用。
I/O虚拟化:
通过前端(Front-End)/后端(Back-End)模拟实现虚拟化.
GuestOS中的驱动程序为前端,VMM提供的与Guest通信的驱动程序为后端。前端驱动将GuestOS的请求通过与VMM间的特殊通信机制发送给VMM的后端驱动,后端驱动在处理完请求后再发送给物理驱动。
I/O穿透技术:
设备透传就是向一个特定客户os提供一种设备隔离,对于性能而言,,使用设备透传可以获得近乎本机性能,.对于某些网络应用程序(或那些拥有高磁盘I/O的应用程序)来说,这种技术简直是完美的。这些网络应用程序没有采用虚拟化,原因是穿过管理程序(达到管理程序中的驱动程序或从管理程序到用户空间模拟)会导致竞争和性能降低。但是,当这些设备不能被共享时,也可以将它们分配到特定的客户机中。例如,如果一个系统包含多个视频适配器,则那些适配器可以被传递到特定的客户域中。
1.8.5 一型虚拟化:
特点:于硬件级别直接运行在hypervisor虚拟机管理控制xen,vmwareESX/ESXI
1.8.6 二型虚拟化:
特点:host主机上建立guest虚拟系统,有宿主机,在硬件级别上运行一个os,而此上运行一个vmm监视器,用于管理guest虚拟化系统.
1.8.7 容器级级虚拟化
缺点:相较于主机级虚拟化隔离的不彻底
方案:lxc,libcontainer,runC,openvz
Linux内核运行在物理设备上;在内核上运行多个操作系统如:centos,wubantu;susan;等,因为他们都是基于linux内核来开发的不同界面的操作系统而已,底层运行的内核是相同的。在每个操作系统上在运行每个应用。在内核上运行一个软件来创建和管理容器,是一个很小的软件,基本不消耗性能。
由于多个操作系统使用的是同一个内核,当在操作系统上执行关机命令,就会将内核关闭,所以需要将每个操作系统隔离开来,关掉的只是自身容器本身而已。各个操作系统之间的操作互补干扰。(共享内核)
第二章 云计算是什么
云计算(cloudcomputing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务。
现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。
OK,以上所述还是比较的抽象,其实,我们常用的搜索引擎服务,邮箱服务也是包括在云计算概念下的,自然的,阿里云,腾讯云,网易云,华为云,电信的天翼云等等各大云计算厂商所提供的ECS(弹性云服务器),EDS(弹性云桌面),RDS(云数据库),OSS(对象存储),HBR(混合云备份)等等各种各样的服务也是包括在云计算的概念下。
简单来说,云计算就是通过网络利用虚拟化技术对外提供各种各样的服务。
那么,以ECS为例,云厂商首先需要建立大型的若干个IDC机房,机房的规模是非常大的,然后利用诸如社区版OpenStack或者自研的魔改OpenStack,部署在前面建立的IDC机房内,然后通过官网进行销售。当然了,OpenStack是有计费系统,监控系统,备份系统等等这些。IDC的机房运行费用,运营费用,以及客服等等费用都是均摊在ECS上的,像阿里云这些,我们就称它为公有云。
公有云的特点是前期投入十分巨大,并且由于是在互联网提供服务,因此,需要保证高可用,高可靠,高性能,而三高一般是通过硬件,冗余服务等等来实现的,进而造成整个系统十分庞大,复杂。建设时期的基础设施的投资决定了公有云是需要有计费系统,冗余系统的
OK,私有云相对公有云会相对的简单许多,比如,基础设施里有自建机房或者使用某个机房的一部分即可,然后是在一个私有网段内,通过虚拟化技术。比如社区版OpenStack,创建ECS,在私网内部使用。根据自身需求,决定私有云的规模,可能会非常的小型化,并且基础设施这些投入并不需要回报,因此,可以省略掉计费系统等等
现今计算机、电子技术的不断发展,使得通信方式、方向不断优化便捷,进而推进衍生物联网的快速发展。而
物联网应用层的关键技术就基于云计算和大数据。那什么是云计算呢?
2.1 云计算定义
美国国家标准与技术研究院(NIST)定义:
云计算是一种模型,它可以实现随时随地、便捷地、随需应变地从可配置计算资源共享池中获取所需的资源(例如,网络、服务器、存储、应用、及服务),资源能够快速供应并释放,使管理资源的工作量和与服务提供商的交互减小到最低限度。
从定义中我们也可以看出云计算的优势
定义 | 优势 |
随时随地、便捷地 | 广泛的网络接入 |
随需应变的、资源能够快速供应并释放 | 快速弹性伸缩 |
使管理资源的工作量和与服务提供商的交互减小到最低限度 | 按需自助服务 |
通俗的云计算定义
云计算=网络+计算
云:网络
计算:算力、CPU、存储。(包括功能、资源、储存)
“云计算”可以理解为:
通过互联网可以使用足够强大的计算机为用户提供的服务,这种服务的使用量可以使用统一的单位来描述
云计算是互联网和计算发展的必然产物离开了计算,厉害了互联网都不算云计算。
云计算(cloudcomputing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算的核心板理念就是以互联网为中心,在网站上提供快速、安全的云计算服务和数据存储服务,让每个使用互联网的人都能使用网络上巨大的计算资源和数据中心。
云计算的特点
降低成本——无需购买硬件、软件、IT管理以及全天候供电和冷却电力的资本支出。云计算使组织能够以较低的财务准入门槛快速将应用程序推向市场。
灵活定价——企业只需为使用的计算资源付费,从而可以更好地控制成本并减少意外。
无限的按需计算——云服务可以通过自动配置和取消配置资源来即时响应和适应不断变化的需求。这可以降低成本并提高组织的整体效率。
简化的IT管理–云提供商为其客户提供IT管理专家的访问权限,使员工能够专注于其业务的核心需求。
轻松更新–一键即可访问最新的硬件、软件和服务。
可靠性——数据备份、灾难恢复和业务连续性更容易且成本更低,因为数据可以在云提供商网络的多个冗余站点上进行镜像。
节省时间——企业可能会浪费时间配置专用服务器和网络。通过按需云基础架构,他们可以在很短的时间内部署应用程序并更快地进入市场。
从不同角度看云计算
技术角度:
云计算=计算|存储的网络,云计算包含:云设备和云服务
云设备包含用于数据计算处理的服务器、用于数据保存的存储设备和用于数据通信的网络设备
云服务包含了物理资源虚拟化调度管理的云平台软件和用于向用户提供服务的应用平台软件。
商务角度:
云计算=信息电厂
用户模式变化:通过互联网提供软硬件与服务;用户通过浏览器或轻量级终端获取、使用服务。
商业模式发生变化:从“购买软硬件产品”向“购买信息服务”转变。
2.2 云计算的部署模式
私有云
公有云
行业云
混合云
云计算的产生就不得不提与之相关连的边缘计算,在万物互联、万物感知的智能社会背景下,边缘计算则是跟物联网发展相伴而生。
与之区别的边缘计算
如果说云计算是集中式大数据处理,边缘计算则可以理解为边缘式大数据处理。但不同的是,只是这一次数据不用再传到遥远的云端,在边缘侧就能解决。
边缘计算更适合实时的数据分析和智能化处理,相较单纯的云计算也更加高效而且安全。
边缘计算和云计算两者实际上都是处理大数据的计算运行的一种方式。边缘计算更准确的说应该是对云计算的一种补充和优化!如果我们把云计算比作整个计算机智能系统的大脑,所以边缘计算是这个系统的眼睛、耳朵、手和脚。简而言之即:云计算把握整体,边缘计算更专注局部。
2.3 边缘计算示例
自动驾驶汽车
自驾车或人工智能驱动的汽车需要从周围环境中获取大量数据,才能实时正常工作,如果使用云计算,则会发生延迟
流媒体服务
Netflix,Hulu,AmazonPrime和迪士尼等提供的服务都给网络基础架构带来沉重负担。边缘计算可通过边缘缓存帮助创建更流畅的体验。在这种情况下,流行内容被缓存在距离最终用户更近的设施中,以便更轻松,更快速地访问。
智能家居
与流服务类似,智能家居的日益普及也带来了一个问题,仅依靠常规的云计算就负担了太多的网络。在源头附近处理信息意味着在紧急情况下更少的延迟和更快的响应时间。例如,医疗队,火灾或警察部署。
云计算与边缘计算不是一个非此即彼的关系,它们也不是直接的竞争者。它们可以同时满足组织的需求,提供更多计算选项。要实施这种混合解决方案,确定那些需求并将其与成本进行比较,应该是最适合的。
第三章 云计算的产生
云计算的概念出现之后受到众多企业和个人热捧和追逐,那云计算到底是什么呢,云计算能够为我们解决什么问题?针对入门学习者,整理了10个基础知识点供大家参考。
3.1 云计算到底为何物?
在互联网的时候天天听到各大媒体阐述云计算的概念,国内的什么华为云、百度云、腾讯云等,国外的亚马孙云、谷歌云、微软云,还有国内第一的阿里云,到底什么是云计算呢?云计算给大家提供了一种服务模式,其实就类似自来水一样。未来你想获得什么东西,不需要有很大的硬盘,也不需要你的电脑有非常强的处理能力,只要需要,随时随地可以获得。这种新型计算,在无所不在的网络环境下给大家带来了一种新的信息获得方式或者是信息使用模式就是云计算模式!
3.2 全球云计算市场概览
根据美国调研机构Gartner发布的云计算市场份额报告,2016年全球云计算市场规模为2196亿美金,2017年达到2602亿美金,同比增长18.49%。在未来几年全球云计算服务市场仍将保持在15%左右的增长率平稳增长。预计在2019年将达到3556亿美元,行业市场规模广阔。
另据Gartner调查数据显示,截止2019年底,亚马逊、微软、阿里巴巴、谷歌占据全球市场份额前四位。排在前10位的还有:IBM、Salesforce、Oracle、Adobe、SAP、Cisco。当前,虽然世界云计算正在蓬勃发展,但是比如安全问题等关键技术还在不断完善,产品和服务还在持续创新。
3.3 云计算在国内的市场
据中国信通院数据统计,2016年中国云计算整体市场规模达到514.9亿元,整体增速为35.9%。在2017年达到691.6亿元。预计未来几年复合增长率仍将超过20%。到2019年市场规模将达到1163.2亿元。在我国2018年云计算企业排行榜中,在云计算市场领跑的企业有阿里巴巴(阿里云)、中国电信(天翼云)和腾讯(腾讯云),并且领先优势还在不断扩大。根据阿里巴巴2018年第三季度财报数据显示,阿里云计算业务在该季度营收56.67亿元,占据阿里总营收的15.2%,也就是说,阿里依靠云计算业务月收入达到了18多亿。
另外前进入前10的企业分别有:中国联通(沃云)、华为(华为云)、中国移动(移动云)、百度(百度云)、华云(华云)、浪潮(浪潮云)、新华三(华三云)。
应该不难感觉到,全球云计算市场已经越来越往亚太地区倾斜,欧洲是较排斥云计算的地区,美国的大型科技企业又自信到不屑用云计算,唯独亚洲这个新兴市场,对云计算有强烈的需求。可以不客气的说,中国的云计算市场已经成为全球更具潜力、更具活力、更富价值的市场。
3.4 云计算和大数据的区别
云计算是基于互联网的相关服务的增加,使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算特征:超大规模(能赋予用户前所未有的计算能力)、虚拟化、高可靠性(比使用本地计算机可靠)、通用性(不针对特定的应用)、高可扩展性(规模可以动态伸缩)、按需服务(按需购买)
大数据,是指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力和洞察力以及发现力和流程优化能力的海量,高增长率和多样化的信息资产。大数据特征:容量(数据的大小决定所考虑的数据的价值和潜在的信息)、种类(数据类型多样性)、速度(获得数据的速度)、可变性(妨碍了处理和有效地管理数据的过程)、真实性(数据的质量)、复杂性(数据量巨大,来源多渠道)、价值(合理运用大数据,以低成本创造高价值)
总的来说:云计算注重资源分配,是硬件资源的虚拟化,可以说是一种互联网的虚拟资源存贮;而大数据是海量数据的高效处理,可以说是一种信息资产。大数据与云计算之间并非独立概念,而是关系非比寻常,无论在资源的需求上还是在资源的再处理上,二者共同运用能发挥1+1>2的效果。
3.5 SaaS、IaaS、PaaS的区别
SaaS:这一模式主要是为客户提供应用软件类的服务。有关供应商将其应用软件全部共享在其“云端”服务器上,在互联网作用下,使用户享受其服务,并依据需求进行订购,费用计算以时间、数量为主,用户只要通过Web浏览器就可以获取服务。SaaS与PaaS的区别在于,使用SaaS的不是软件的开发人员,而是软件的最终用户。
IaaS:在互联网的作用下,供应商将不同服务器集群后所形成的“云端”等基础设施作为基本量来为客户提供服务,其服务种类包括服务的虚拟化以及资源存储等,该服务类型属于硬件托管式,用户对供应商提供的硬件采取服务使用的方式进行。
PaaS:这种方式主要是为用户提供开发软件平台以及相关研发环境为主,通过其提供的开发平台,客户能自行研发各种程序,并在互联网的作用下得到使用。用户使用PasS的模式与SaaS具有相同之处,不同之处在于前者是开发软件的平台,而后者是应用软件的平台。
3.6 公有云、私有云和混合云的区别
公有云
通常指第三方提供商用户能够使使用的云,公有云一般可通过Internet使用。优点是能够以低廉的价格,提供有吸引力的服务给终端用户,创造新的业务价值。能够整合上游的服务(如增值业务,广告)提供者和下游终端用户,打造新的价值链和生态系统。它使客户能够访问和共享基本的计算机基础设施,其中包括硬件、存储和带宽等资源。缺点与安全有关。公共云通常不能满足许多安全法规遵从性要求,因为不同的服务器驻留在多个国家,并具有各种安全法规。而且,网络问题可能发生在在线流量峰值期间。虽然公共云模型通过提供按需付费的定价方式通常具有成本效益,但在移动大量数据时,其费用会迅速增加。
私有云
是为一个客户单独使用而构建的。对于企业来说,私有云具有更高的安全性和隐私性,可以定制解决方案,更充分地利用计算资源,减少能源消耗。同时,私有云的可靠性、云空间爆发和速度优势也被企业所看重。但私有云价格较高此外,企业仅限于合同中规定的云计算基础设施资源。私有云的高度安全性可能会使得从远程位置访问也变得很困难。
混合云
混合云是公有云和私有云两种服务方式的结合,允许用户利用公共云和私有云的优势。还为应用程序在多云环境中的移动提供了极大的灵活性。此外,混合云模式具有成本效益,因为企业可以根据需要决定使用成本更昂贵的云计算资源。缺点是因为设置更加复杂而难以维护和保护。此外,由于混合云是不同的云平台、数据和应用程序的组合,因此整合可能是一项挑战。在开发混合云时,基础设施之间也会出现主要的兼容性问题。
3.7 如何评判一个系统是否有必要迁移到云平台?
(1)将应用移入云计算将增加多少业务价值?
(2)技术上是否可行?
(3)有哪些风险要承担,风险有多大?
如果在权衡利弊之后可以接受,在正式实施前还要通过小范围模拟(或试点项目)来验证先前评估的结果。不要就事论事地谈某某应用或系统如何能迁移到云平台上,即便是同样或类似的应用和系统,在不同的企业环境下或不同的云实施阶段中都会有不同的结论。
分享雷万云博士在《云计算》一书中的建议:“在合适的领域使用云:比如研发、软件开发、测试以及数据密集的职位;比如数据清洗、数据挖掘、风险建模、优化与仿真。”
3.8 如何评价云服务提供商的服务质量?
对云服务提供商的考核和评价标准,与传统的服务商并没有太大的区别,考核评价指标、体系都应该是平等的。安全、开放和标准化、服务质量和价格,是CIO评价云服务提供商要考虑的三条首要标准。另外,云服务商的服务交付标准也很重要。标准分别为:世安全性、信任与透明、真正多租用、可靠的规模、高性能、完整的灾难恢复、高可用性。
3.9 未来云计算的发展趋势是什么?
来自于研究机构Forrester的报告指出,云计算已经走过了“以自我为中心的青少年时期”,进入了“年轻成人时代”。成为“推动全球数字转型的引擎”,为企业应用程序带来创新的开发服务,而不仅仅是提供更便宜的临时服务器和存储。下面怡海软件简单介绍Forrester在2019年对云计算的五个预测。
趋势一:企业支出将增加;
趋势二:容器、Kubernetes(K8s)和无服务器将重塑核心应用;
趋势三:私有云的新途径;
趋势四:平台即服务(PaaS)战略将考虑长期经验;
趋势五:基于软件即服务(SaaS)的行业系统将越来越受欢迎。
3.10 云计算供应商将要面临什么问题?
价格战
Gartner预测,公有云服务市场的总体份额将从2017年的2468亿美元增长到2020年的3830亿美元,增长伴随着竞争,为了与其他云服务提供商竞争打价格战,云服务提供商需要提供增值服务(VAS)来维持利润,并通过利基服务或垂直平台提供明确的市场差异化。
多云战略
单一的云计算模式并不能适应所有的用户需求,多云的方式正在不断发展。云服务提供商需要探索混合云模式和云代理服务,以满足这一需求,为用户提供更多选择。边缘计算:随着智能设备和传感器的直接对等传播的发展,5G和IoT的兴起,正在推动边缘计算(雾计算)的发展。例如,无人驾驶骑车每秒产生将近1千兆字节的数据,这将需要在低延迟的边缘进行处理和预先分析。
安全性
云服务的安全性是云计算领域永恒的话题,云计算安全的核心诉求就是对隐私性、完整性、可用性的保护,云服务如果不安全,那么一切都是空谈。
第四章 云计算的尽头是什么?
那么,云计算不仅仅是将计算力商品化,在形式上,可以更加的精细化,也就是云原生了(可以理解为云原生是云计算下的一个细分领域,是一个从属关系)。
云计算的尽头是一个深入的话题,涉及到许多复杂的概念和理论。在这里,我将尽可能简洁地概述一些关键点。
首先,我们需要理解云计算的基本概念。云计算是通过互联网提供计算服务(包括服务器、存储、数据库、网络、软件、分析和智能),以提供快速创新、弹性资源和规模经济。对于云服务,通常你只需使用多少支付多少,从而帮助降低运营成本,使基础设施更有效地运行,并能根据业务需求的变化调整对服务的使用。
那么,云计算的尽头是什么呢?这个问题的答案可能会因人而异,但一种可能的解释是,云计算的尽头是其能力的极限,也就是说,当我们无法再通过云计算来提高效率、降低成本或改进服务时,我们就达到了云计算的尽头。然而,这并不意味着云计算的发展就此停止。相反,随着技术的不断进步,我们可能会看到新的云计算模型和服务的出现,这些模型和服务将进一步推动云计算的发展,打破现有的限制。
另一种观点是,云计算的尽头是其自身的演变。随着技术的发展,云计算可能会演变成更高级的形式,例如分布式计算、边缘计算或量子计算。这些新的计算形式可能会提供更高的性能、更大的规模和更强的安全性,从而超越传统的云计算模型。
总的来说,云计算的尽头是一个开放的问题,没有明确的答案。随着技术的不断发展和创新,我们可能会看到云计算的新的可能性和前景。然而,无论云计算的未来如何,我们都可以肯定的是,云计算将继续在我们的日常生活和工作中发挥重要的作用,为我们提供便利的服务和强大的功能
云原生指的是容器虚拟化,大体具有以下四个要素:
4.1 云原生的四要素
微服务:几乎每个云原生的定义都包含微服务,跟微服务相对的是单体应用,微服务有理论基础,那就是康威定律,指导服务怎么切分,很玄乎,凡是能称为理论定律的都简单明白不了,不然就忒没b格,大概意思是组织架构决定产品形态,不知道跟马克思的生产关系影响生产力有无关系。
微服务架构的好处就是按function切了之后,服务解耦,内聚更强,变更更易;另一个划分服务的技巧据说是依据DDD来搞。
容器化:Docker是应用最为广泛的容器引擎,在思科谷歌等公司的基础设施中大量使用,是基于LXC技术搞的,容器化为微服务提供实施保障,起到应用隔离作用,K8S是容器编排系统,用于容器管理,容器间的负载均衡,谷歌搞的,Docker和K8S都采用Go编写,都是好东西。
DevOps:这是个组合词,Dev+Ops,就是开发和运维合体,不像开发和产品,经常刀刃相见,实际上DevOps应该还包括测试,DevOps是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。
持续交付:持续交付是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模型,这要求开发版本和稳定版本并存,其实需要很多流程和工具支撑
简单来说,基于docker,containerd这些虚拟化容器引擎的技术栈都是云原生,而现在随着时间的流逝,基本上云原生是已经定型了,kubernetes,Jenkins,devops这些构成了整个云原生架构。
4.2 云计算的服务类型
虽然都是使用云计算,但是不同的用户需要的服务是不一样的,有些公司可能只需要租借服务器、有些公司可能需要整套服务,而有些个人客户可能希望直接可以通过付费得到一个网站等。
所以,根据服务类型的不同,云计算可以分为三类,即基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这3种云计算服务有时称为云计算堆栈,因为它们构建堆栈,它们位于彼此之上。
以下是这三种服务的概述:
基础设施即服务(IaaS)
基础设施即服务是主要的服务类别之一,它向云计算提供商的个人或组织提供虚拟化计算资源,如虚拟机、存储、网络和操作系统。
ECS是laas的一个典型代表,不需要本地安装部署操作系统,在云厂商那里按需购买服务器即可。
平台即服务(PaaS)
平台即服务是一种服务类别,为开发人员提供通过全球互联网构建应用程序和服务的平台。Paas为开发、测试和管理软件应用程序提供按需开发环境。
例如,金蝶软件平台,不需要在本地安装金蝶
软件即服务(SaaS)
软件即服务也是其服务的一类,通过互联网提供按需软件付费应用程序,云计算提供商托管和管理软件应用程序,并允许其用户连接到应用程序并通过全球互联网访问应用程序。
例如,腾讯文档,可在线编辑word文档,不需要在本地安装word全家桶。
以上服务都是非定制的,也就是都是按照一个模板生产出来的,通常需要按自己的需求进行改造,其次,安全性是无法保证的,例如,腾讯文档的在线word编辑,比如你使用此文档编辑一个密级非常高的文档,大概率是要吃官家饭的。
4.3 云计算如何实现?
和云原生的现状类似,目前来说,云计算高度依赖于OpenStack。OpenStack是一组软件套件的总称,简单的可以理解为word全家桶,由必选组件和可选组件组成。
例如,nova,neutral,keystone,glance这些核心组件,以及其它非必选组件,例如web可视化控制台horzion
OpenStack大体可以分为两类,
一类是社区版OpenStack,也就是OpenStack官方,OpenStackDocs:Zed
社区版的OpenStack版本众多,安装难度较大,版本介绍:OpenStackReleases:OpenStackReleases
和kubernetes类似,安装方式有yum安装,脚本一键安装,ansible安装,但没有安装管理工具kubeadm
另一类是基于社区版的OpenStack的魔改,例如,华为的FusionSphere平台和中兴的TECS平台
此类OpenStack特点是华为做了大量的封装,使得安装部署极为方便,但FusionSphere由于是商业软件,因此,下载以及安装都需要一定的权限,
第五章 云计算的优势
云计算最近成为热门,这是时代发展的趋势。那么为什么云计算会成为现在信息时代的热门呢?我们来看一下它的优势。
优势 | 描述 |
按需自助服务 | 用户可根据自己的需求购买云计算服务 |
广泛的网络接入 | 任何地点、任何时间只要有网络即可 |
资源池化 | 可随意加减资源最大特点:屏蔽硬件差异:品牌、型号 |
快速弹性伸缩 | 可快速根据需求增减服务 |
可计量服务 | 用技术和其他的手段实现单位的统一 |
这里我来解释一下这些优势:
拿钢铁侠举例,钢铁侠有许多的战甲,如:MK1、MK2、MK50等等。每套战甲都有独特的作用。比如打绿巨人用的是反浩克战甲,打灭霸用的是MK50。我根据敌人的不同选择不一样的战甲这就是按需自助服务;托尼在外出时并不将自己的战甲随身携带,而是需要时通过远程召唤的方式,将战甲召唤到自己身上。无论在哪无论什么时间都可以召唤。这就是广泛的网络接入,我们使用云计算的服务重要的一点就是需要网络的支撑。钢铁侠召唤战甲我就不知道是用网络还是用其他高科技了;钢铁侠的战甲可以拆分成很多的部件、在战斗的过程中,哪个部件坏掉了可以直接更换新的部件。
这便是资源池化在云计算中,底层的硬件(硬盘、网卡、CPU、内存等)组成资源池,供上层使用。资源池内的硬件可以是不用的型号,不同品牌的。就好比KFC中的可乐桶中既可以加百事可乐又可以加可口可乐一样。
快速弹性伸缩可以理解为大师兄的金箍棒,可大可小,可长可短。需要要大的时候就大,需要小的时候就小。云计算中,比如我今天用云电脑打游戏,发现内存不太够,那我就可以立马再去购买相应的内存,给我的主机增加内存。
可计量服务比较的抽象,计量就是将单位统一化,从而使用户能够简单的理解用了多少资源。也可以在计费的时候有统一的标准。但是这样注意一下:计量不等同于计费,但是计量包括计费。
第六章 云计算的发展
我们将云计算的发展史拆分成网路的发展史和计算的发展史来讲。
6.1 互联网的发展
1969年 | ARPANET诞生(阿帕网) | 想要两台计算机之间能够通讯。被称作互联网的起源最开始军事使用。因为好用后来分为军用、民用。但是不同的网络之间不能通信 |
1981年 | TCP/IP协议的完整规范建立 | DoD建立 |
1983年 | 三个原始网络采用TCP/IP协议通讯 | 标志着真正的互联网的诞生现在不同网络的计算机也可以通信?怎么通信?每个计算机都会被分配一个IP地址,通信的时候需要用到IP地址来找目的主机遇到一个新问题:IP地址很难记,容易记错 |
1984年 | DNS服务出现(IP地址和域名的转换) | 访问的时候不需要输入IP地址,只需要输入域名(百度)举例:身份证号、姓名 |
1991年 | WWW正式向公众开放 | 使用的云计算都可以通过网页购买云计算服务 |
1995年 | 亚马逊、eBay电商成立 | 为什么提电商:因为电商对云计算贡献很大国外:亚马逊、微软国内:阿里云、腾讯云、华为云介绍:双十一、黑色星期五云计算概念出现:甲骨文:互联网电脑,所有硬件、操作系统、应用都在云端。但是由于当时网络速度慢,加上互联网泡沫破裂,所以失败。 |
6.2 计算发展史
6.3 串行计算
假设有AB两个任务
A和B两个任务运行在一个CPU线程上,在A任务执行完之前不可以执行B。即,在整个程序的运行过程中,仅存在一个运行上下文,即一个调用栈一个堆。程序会按顺序执行每个指令。
如果要计算的问题、任务很复杂、很大,那么使用串行计算所需的时间就很长
6.4 并行计算
概念
并行计算(ParallelComputing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。
并行计算中的CPU,可以来自同一台计算机;也可以来自同一网络中的不同计算机。
分类
所谓并行计算可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。
时间上的并行:是指流水线技术
比如说工厂生产食品的时候步骤分为:
1.清洗:将食品冲洗干净。
2.消毒:将食品进行消毒处理。
3.切割:将食品切成小块。
4.包装:将食品装入包装袋。
如果不采用流水线,一个食品完成上述四个步骤后,下一个食品才进行处理,耗时且影响效率。但是采用流水线技术,就可以同时处理四个食品。这就是并行算法中的时间并行,在同一时间启动两个或两个以上的操作,大大提高计算性能。
6.5空间上的并行
是指多个处理机并发的执行计算,即通过网络将两个以上的处理机连接起来,达到同时计算同一个任务的不同部分,或者单个处理机无法解决的大型问题。
比如小李准备在植树节种三棵树,如果小李1个人需要6个小时才能完成任务,植树节当天他叫来了好朋友小红、小王,三个人同时开始挖坑植树,2个小时后每个人都完成了一颗植树任务,这就是并行算法中的空间并行,将一个大任务分割成多个相同的子任务,来加快问题解决速度。
6.7分布式计算(网格计算和云计算都属于分布式计算)
与集中式计算相对立
分布式计算,是用于研究分布式系统的计算机科学领域。分布式系统是将自己所有的组件分布在不同网络的计算机上。这些计算机通过通以消息机制来配合。工作在不同网络中的计算机通过相互协作来完成一个共同的目标。
分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。
6.8特点
稀有资源可以共享
通过分布式计算可以在多台计算机上平衡计算负载
可以把程序放在最适合运行它的计算机上
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。
6.9与并行计算对比
分布式计算和并行计算都是运行并行,来获取更高的性能。将大的任务化为小的任务。如果处理单元共享内存,就称为并行计算,反之就是分布式计算。
也有人认为:分布式计算是并行计算的一种特例,也可以这样说。
但是分布式的任务互相之间是有独立性的,上一个任务包的结果错误、未返回,并不会对下一个任务包有影响。并行计算每一个Part之间的结果是相互依赖的。所以分布式计算要求的实时性不高,而且可以出现错误。
6.10 网格计算
利用广泛的,零散的资源来完成一个任务。分布式计算的一种。
IBM定义
本地网络或互联网网络中零散的可用资源集合起来,使终端用户或者应用觉得他们在使用一台性能强悍的计算机。
应用:BT下载,你在下载的同时,也在给别人提供资源。
6.11云计算
新兴的共享技术的架构方法,可以将巨大的资源池连接在一起,提供各种IT服务。
云计算和其他计算都不同,将任务(Job)放在云端,用户只需要通过互联网连接云端就可以完成job的整个过程。
云计算与并行计算、分布式计算的区别,以计算机用户来说:
计算类型 | 用户 |
并行计算 | 是由单个用户完成的 |
分布式计算 | 是由多个用户合作完成的 |
云计算 | 是没有用户参与,而是交给网络另一端的服务器完成的 |
6.12云计算的发展
6.12.1 云计算1.0
在云计算1.0时代的重点关注是计算虚拟化也就是通过虚拟化集群调度软件将更多的IT应用复用的更少的服务器节点上从而实现资源利用率提高。华为HCIA阶段就是主要学习虚拟化的知识。
在1.0时代大家都发现虽然我使用了虚拟化,我可以提升我的硬件利用率,但是了用户在申请我这个虚拟机的时候,还是需要走传统的那个审批流程。比如我需要创建的虚拟机需要几个CPU、最大内存、多大硬盘、然后再由管理员手动的去创建这个虚拟机。如果一个企业比较大的话,管理员这个工作的效率非常低而且的非常耗时间。所以我们就进入了云计算2.0时代。
6.12.2 云计算2.0
2.0面向的是基础设施云租户和云用户的资源服务化和管理自动化的阶段,在这个阶段,以前需要人工创一个虚拟机、云硬盘等等这些操纵的全部能够变成了自动化,同时在提供虚拟机的规格。比如多大把硬盘、CPU个数等,也进行了标准化的定制。用户在Web界面就可以看到自己所需要的虚拟机的规格,进行自助的申请。然后的管理员只需要通过审批,用户的就可以使用自己的虚拟机了。
6.12.3 云计算3.0
到了3.0时代,云计算关注的是云原生以及业务的重构。他将其IT之前的业务架构逐步从纵向扩展应用分层架构体系,走向分布式无状态化的架构。从而使得其IT在支撑企业业务敏捷化智能化以及资源利用率效率提升方面的迈上了一个新的高度和台阶。
发展 | 定义 | 技术代表 | 特点 |
云计算1.0 | 计算虚拟化 | Hyper-v(微软)、XEN、KVM、VmwareESX | 虚拟化,更好的资源利用率 |
云计算2.0 | 软件定义与整合 | Openstack、Vmware、AWS(亚马逊) | 基础设施云化,资源服务标准化、自动化 |
云计算3.0 | 云原生与重构业务 | Docker、CoreOS、CloudFoundry | 应用云化,敏捷应用开发与生命周期管理 |
6.13 云计算的部署模式
两种依据分类依据:运营模式(公有云、私有云、混合云、行业云),服务模式(IaaS、PaaS、SaaS)
公有云
大众熟知的云计算。
前面提到的百度网盘、华为手机的云备份恢复功能、有道云笔记、以及网易云音乐都属于公有云
目前的公有云可以提供给用户众多的服务,用户呢可以通过互联网像使用水电一样使用公有云服务。随用随到,用多少付多少。
从用户的角度来说,自己只需要购买云计算上的资源或者服务,而云计算所用的硬件以及相应的管理工作都是由第三方的服务商负责的。
公有云的资源那向公众开放
私有云
部署在企业和单位的内部
运行在私有云中的数据的全部保存在企业自有的数据中心
那如果需要访问数据需要经过部署在数据中心入口的防火墙。
建设的过程中那可以基于企业应有的劲架构进行改造,同时从以前买过了哪些硬件设备那也可以就可以最大程度上保护客户的现有投资
但是所有的事情他都有两面性的如果企业采用私有云可以保证数据的安全也可以设备利用。但是自己的原有的架构会随着时间的推移,设备会越来越旧,而更换这些设备会是相当高的费用。
还有另外一种说法那就是在公有云购买云专属服务。这种方式可以将企业的关键业务和关键数据的放在公有云的专属服务器上。因为可靠的网络隔离,完全可以满足和私有云一样的高安全性、高可靠性、高性能性。
混合云
包含了私有云、公有云、行业云中的两种或两种以上。
企业一般会使用企业防火墙,对公有云和私有云进行隔离,来保护数据的安全。
行业云
由某个行业或者某个区域内起主导作用或者挂掌握了关键资源的组织建立和维护已公开或者半公开的方式向行业内部和相关组织和公众提供有偿或者是无偿服务的云平台。
除了行业云还有一个社区、政府等建设的云,可以叫做社区云等。这类云其实也算是行业云。
各种云的优劣势
分类 | 区别 | 优势 | 劣势 |
公有云 | 搭建者和用户不同 | 便宜不需要自己管理按需自助弹性伸缩 | 不安全性能低(毕竟不是部署在自己家,需要通过互联网)不可靠 |
私有云 | 搭建者和用户是同一人 | 高安全高性能高可靠 | 成本高(建设时:需要自己买硬件。升级硬件时成本高)需要自己运维 |
行业云 | 一个行业一起用的云(医疗)(私有云) | ||
混合云 | 上述三种云两种或两种以上混合 | 集合以上优点 | 成本高、学习成本高 |
6.14 云计算服务模式
传统模式:在我们使用电脑的时候,使用的是一些应用程序。但是应用程序需要运行环境、中间件做支撑。中间件、运行环境又需要操作系统和底层的硬件做支撑。
云计算服务商根据用户需求提供不同的服务模式:
- IaaS
- PaaS
- SaaS
玩游戏举例
- iaas:我只购买了电脑包含cpu、显卡、内存
- paas:不仅购买了电脑、还给我装好了操作系统、.net等中间件
- saas:不仅装好了操作系统,游戏都给我装好了。
第七章 云计算的关键技术
云计算是一种新型的超级计算方式,以数据为中心,是一种数据密集型的超级计算。在数据存储、数据管理、编程模式等多方面具有自身独特的技术。同时涉及了众多其他技术。本章主要介绍云计算特有的技术,包括数据存储技术,数据管理技术,编程模式等。
7.1 数据存储技术
为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。另外,云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。
因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。
云计算的数据存储技术主要有谷歌的非开源的GFs(GoogleFileSystem)和Had00p开发团队开发的GFS的开源实现HDFs(HadoopDistutednlesystem)。
大部分IT厂商,包括雅虎、英特尔的“云”计划采用的都是HDFS的数据存储技术。云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高L/O速率等方面。
以GFs为例。GFs是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统。它使用廉价的商用硬件搭建系统并向大量用户提供容错的高性能的服务。
7.2 数据管理技术
云计算系统对大数据集进行处理、分析向用户提供高效的服务。因此,数据管理技术必须能够高效地管理大数据集。
其次,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。云计算的特点是对海量的数据存储、读取后进行大量的分析,数据的读操作频率远大于数据的更新频率,云中的数据管理是一种读优化的数据管理。
因此,云系统的数据管理往往采用数据库领域中列存储的数据管理模式。将表按列划分后存储。云计算的数据管理技术中最著名的是谷歌在文献[11]提出的BigTable数据管理技术。
由于采用列存储的方式管理数据,如何提高数据的更新速率以及进一步提高随机读速率是未来的数据管理技术必须解决的问题。以BigTable为例。BigTable数据管理方式设计者——G00e给出了如下定义:“BigTable是一种为了管理结构化数据而设计的分布式存储系统,这些数据可以扩展到非常大的规模,例如在数千台商用服务器上的达到PB(Petabytes)规模的数据。”
7.3 编程模型
为了使用户能更轻松地享受云计算带来的服务。让用户能利用该编程模型编写简单的程序来实现特定的目的,云计算上的编程模型必须十分简单。必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。
云计算大部分采用M印一Reducel的编程模式。现在大部分IT厂商提出的“云”计划中采用的编程模型,都是基于M印·Reduce的思想开发的编程工具。
Map-Reduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型。Map-Reduce这种编程模型并不仅适用于云计算,在多核和多处理器、ceupmcessor以及异构机群上同样有良好的性能。
该编程模式仅适用于编写任务内部松耦合、能够高度并行化的程序。如何改进该编程模式,使程序员得能够轻松地编写紧耦合的程序,运行时能高效地调度和执行任务,是M印.Reduce编程模型未来的发展方向。
Map-Reduce是一种处理和产生大规模数据集的编程模型,程序员在Map函数中指定对各分块数据的处理过程,在Reduce函数中指定如何对分块数据处理的中间结果进行归约。用户只需要指定m印和reduce函数来编写分布式的并行程序。当在集群上运行M印.Reduce程序时,程序员不需要关心如何将输入的数据分块、分配和调度,同时系统还将处理集群内节点失败以及节点间通信的管理等。
第八章 Web服务、网格和云计算
Web服务、网格和云计算很多地方有相似之处,并且云计算是前两者的演化、发展,因此各个概念间容易混淆。区分相关概念间的差异性,有助于理解和把握云计算的本质。如表2所列,本节比较每个概念之间的特征,分析彼此间的相互关联。
- 异构性:Web服务仅支持软件层次上异构的服务,用户调用的服务可以是各种语言开发的功能模块,而网格和云计算模型均支持软件和硬件的异构资源聚合调用。
- 虚拟化:Web服务没有虚拟化,提供的是系统的功能模块,网格和云计算分别支持虚拟化的技术,并且云计算是对硬件资源、操作平台的虚拟化,而网格只是数据和计算资源的虚拟化。
- 应用驱动:Web服务用户通过调用服务提供者暴露给外界的API,使用该系统需要的某个特定功能。网格计算是利用网络未用计算资源进行科学计算,云计算则提供给了普通用户需要的各种服务,如存储、计算、应用服务等,具有更宽泛的适用性。
- 可扩展性:Web服务扩展能力有限,网格服务主要通过增加节点来扩展处理能力。云计算可根据需求,重新动态自动配置资源池,具有较好的扩展性。
- 标准化:Web服务和网格技术经过不断的发展和成熟,在用户调用以及内部资源调用接口上,实现了较好的互操作性,而云计算由于本身发展的不完善性,在这方面还存在很多问题有待解决,制约了云计算的应用。
- 节点操作系统:Web服务和网格各节点都采用相同的操作系统,而云计算则比较灵活,提供了多种操作系统的虚拟机,为上层的云计算应用服务。
- 容错性:云计算在实现机制上采取了冗余的数据副本,保证了不必像Web服务和网格计算那样数据执行失效后还需重新执行。
第九章 云计算的类型和框架
云计算的类型从不同的角度有不同的划分,本节从地理位置部署的横向和云计算提供服务从底层到高层的纵向角度分类介绍各种云计算,结合典型的云计算服务平台,在表3中总结比较各自的异同和特征,由此在图2中分析云计算框架的构成,讨论各层次需要构建的机制和实现方案。
从云计算部署的角度,云计算分为私有云、社区云、公共云和混合云。私有云被一个组织管理操作。社区云由多个组织共同管理操作,具有一致的任务调度和安全策略。公共云由一个组织管理维护,提供对外的云服务,可以被公众所拥有。混合云是以上两种或两种以上云的组合。从云计算服务的角度,云计算服务类型可以分为基础设施即服务(Iass)、平台即服务(Pass)、软件即服务(Saas)
laas在服务层次上是最底层服务,接近物理硬件资源,通过虚拟化的相关技术,为用户提供处理、存储、网络以及其他资源方面的服务,以便用户能够部署操作系统和运行软件。这一层典型的服务如亚马逊的弹性云(Amazon,EC2)和Apache的开源项目Hadoop。EC2与Google提供的云计算服务不同,Google只为在互联网上的应用提供云计算平台,开发人员无法在这个平台上工作,因此只能转而通过开源的Hadoop软件支持来开发云计算应用。而EC2给用户提供一个虚拟的环境,使得可以基于虚拟的操作系统环境运行自身的应用程序。同时,用户可以创建亚马逊机器镜像(AMI),镜像包括库文件、数据和环境配置,通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例(Instance),同时用户需要为相应的简单存储服务(S3)和网络流量付费。Hadoop是一个开源的基于Java的分布式存储和计算的项目,其本身实现的是分布式文件系统(HDFS)以及计算框架MapReduce。此外,Hadoop包含一系列扩展项目,包括了分布式文件数据库HBase(对应Google的BigTable)、分布式协同服务ZooKeeper(对应Google的Chubby)等等。Hadoop有一个单独的主节点,主要负责HDFSv的目录管理(Name-Node)以及作业在各个从节点的调度运行(Jobtracker)。
Paas是构建在基础设施即服务之上的服务,用户通过云服务提供的软件工具和开发语言,部署自己需要的软件运行环境和配置。用户不必控制底层的网络、存储、操作系统等技术问题,底层服务对用户是透明的,这一层服务是软件的开发和运行环境。这一层服务是一个开发、托管网络应用程序的平台,代表性的有GoogleAppEngine和MicrosoftAzure。使用GoogleAppEngine,用户将不再需要维护服务器,用户基于Google的基础设施上传、运行应用程序软件。
目前,GoogleAppEngine用户使用一定的资源是免费的,如果使用更多的带宽、存储空间等需要另外收取费用。GoogleAppEngine提供一套API使用Python或Java来方便用户编写可扩展的应用程序,但仅限GoogleAppEngine范围的有限程序,现存很多应用程序还不能很方便地运行在GoogleAppEngine上。Microsoft Azure构建在Microsoft数据中心内,允许用户应用程序,同时提供了一套内置的有限API,方便开发和部署应用程序。此平台包含在线服务LiveServices、关系数据库服务SQLServices、各式应用程序服务器服务.NETServices。
最上一层Saas,该服务是前两层服务所开发的软件应用,不同用户以简单客户端的方式调用该层服务,例如以浏览器的方式调用服务。用户可以根据自己的实际需求,通过网络向提供商定制所需的应用软件服务,按服务多少和时间长短支付费用。最早提供该服务模式的是Salesforce公司运行的客户关系管理系统(CRM),它是在该公司Paas的force.com平台下开发的Saas,而Google的在线办公自软件文档、表格、幻灯片处理也是采用Saas服务模式。云计算提供的不同层次服务使开发者、服务提供商、系统管理员和用户面临许多挑战。图2对此做出归纳概述。
底层的物理资源经过虚拟化转变为多个虚拟机,以资源池多重租赁的方式提供服务,提高了资源的效用。核心中间件起到任务调度、资源和安全管理、性能监控、计费管理等作用。一方面,云计算服务中涉及到大量的调用第三方软件及框架和重要数据处理的操作,这需要有一套完善的机制,以保证云计算服务安全有效地运行;另一方面,虚拟化的资源池所在的数据中心往往电力资源耗费巨大,解决这样的问题需要设计有效的资源调度策略和算法。在用户通过代理或者直接调用云计算服务的时候,需要和服务提供商之间建立服务等级协议(ServiceLevelAgreement,SLA),那么必然需要服务性能监控,以便设计出比较灵活的付费方式。此外,还需要设计便捷的应用接口,方便服务调用。而用户在调用中选择什么样的云计算服务,这就要设计合理的度量标准并建立一个全球云计算服务市场以供选择调用
第十章 云计算发展趋势
IT资源服务化是云计算最重要的外部特征.目前,Amazon,Google,IBM,Microsoft,Sun等国际大型IT公司已纷纷建立并对外提供各种云计算服务.根据美国国家标准与技术研究院(NIST)的定义,当前云计算服务可分为3个层次,分别是:
- 基础设施即服务(IaaS),如Amazon的弹性计算云(elasticcomputecloud,简称EC2)、IBM的蓝云(bluecloud)[1]以及Sun的云基础设施平台(IAAS)[2]等;
- 平台即服务(PaaS),如Google的GoogleAppEngine与微软的Azure平台等;(3)软件即服务(SaaS),如Salesforce公司的客户关系管理服务等.
- 当前,各类云服务之间已开始呈现出整合趋势,越来越多的云应用服务商选择购买云基础设施服务而不是自己独立建设.例如:在云存储服务领域,成立于美国乔治亚州的JungleDisk公司基于AmazonS3的云计算资源,通过友好的软件界面,为用户提供在线存储和备份服务;在数据库领域,Oracle公司利用Amazon的基础设施提供Oracle数据库软件服务以及数据库备份服务;而FanthomDB为用户提供基于MySQL的在线关系数据库系统服务,允许用户选择底层使用EC2或Rackspace基础设施服务,等等.可以预见,随着云计算标准的出台,以及各国的法律、隐私政策与监管政策差异等问题的协调解决,类似的案例会越来越多.对比其他领域(如制造业领域)的全球化经验可知,云计算将推动IT领域的产业细分:云服务商通过购买服务的方式减少对非核心业务的投入,从而强化自己核心领域的竞争优势.最终,各种类型的云服务商之间形成强强联合、协作共生关系,推动信息技术领域加速实现全球化,并最终形成真正意义上的全球性的“云”.
未来云计算将形成一个以云基础设施为核心、涵盖云基础软件与平台服务与云应用服务等多个层次的巨型全球化IT服务化网络,如图1所示.如果以人体作为比喻,那么处于核心层的云基础设施平台将是未来信息世界的神经中枢,其数量虽然有限但规模庞大,具有互联网级的强大分析处理能力;云基础软件与平台服务层提供基础性、通用性服务,例如,云操作系统、云数据管理、云搜索、云开发平台等,是这个巨人的骨骼与内脏;而外层云应用服务则包括与人们日常工作与生活相关的大量各类应用,例如,电子邮件服务、云地图服务、云电子商务服务、云文档服务等等
这些丰富的应用构成这个巨型网络的血肉发肤.各个层次的服务之间既彼此独立又相互依存,形成一个动态稳定结构.越靠近体系核心的服务,其在整个体系中的权重也就越大.因此,未来谁掌握了云计算的核心技术主动权以及核心云服务的控制权,谁就将在信息技术领域全球化竞争格局中处于优势地位。
由于云计算代表未来信息技术领域的核心竞争力,当前世界各国政府都十分重视本国云计算的发展,力争在未来信息技术的制高点占据一席之地。
例如,2009年9月,美国总统奥巴马宣布将执行云计算政策,希望借助应用虚拟化来压缩美国政府的经济支出;韩国政府计划向云计算领域投资6146亿韩元(约合人民币36亿元),使韩国云计算市场的规模扩大为目前的4倍;日本内务部和通信监管机构计划建立大规模云计算基础设施,以支持所有政府运作所需的资讯科技系统,提高政府运营效率并降低成本.在我国,继无锡之后,北京、上海等城市启动了云计算发展计划,电信、能源交通、电力等多个行业领域也在启动行业内部云计算中心建设。
在IT产业界,各类云计算安全产品与方案不断涌现.例如,Sun公司发布开源的云计算安全工具可为Amazon的EC2,S3以及虚拟私有云平台提供安全保护。
工具包括OpenSolarisVPC网关软件,能够帮助客户迅速和容易地创建一个通向Amazon虚拟私有云的多条安全的通信通道;为AmazonEC2设计的安全增强的VMIs,包括非可执行堆栈,加密交换和默认情况下启用审核等;云安全盒(cloudsafetybox),使用类AmazonS3接口,自动地对内容进行压缩、加密和拆分,简化云中加密内容的管理等.微软为云计算平台Azure筹备代号为Sydney的安全计划,帮助企业用户在服务器和Azure云之间交换数据,以解决虚拟化、多租户环境中的安全性.EMC,Intel,Vmware等公司联合宣布了一个“可信云体系架构”的合作项目,并提出了一个概念证明系统.该项目采用Intel的可信执行技术(trustedexecutiontechnology)、Vmware的虚拟隔离技术、RSA的enVision安全信息与事件管理平台等技术相结合,构建从下至上值得信赖的多租户服务器集群.开源云计算平台Hadoop也推出安全版本,引入kerberos安全认证技术,对共享商业敏感数据的用户加以认证与访问控制,阻止非法用户对Hadoopclusters的非授权访问.
第十一章 云计算安全挑战
目前,关于云计算与安全之间的关系一直存在两种对立的说法.持有乐观看法的人认为,采用云计算会增强安全性.通过部署集中的云计算中心,可以组织安全专家以及专业化安全服务队伍实现整个系统的安全管理,避免了现在由个人维护安全,由于不专业导致安全漏洞频出而被黑客利用的情况.然而,更接近现实的一种观点是,集中管理的云计算中心将成为黑客攻击的重点目标.由于系统的巨大规模以及前所未有的开放性与复杂性,其安全性面临着比以往更为严峻的考验.对于普通用户来说,其安全风险不是减少而是增大了。
11.1 云计算将推动信息安全领域又一次重大革新
信息安全领域的发展历程已多次证明,信息技术的重大变革将直接影响信息安全领域的发展进程.例如,在计算机出现之前,信息安全学科以实现通信保密为主要目的,主要内容是密码研究学.自进入计算机时代,信息安全研究目标扩展到计算机系统安全。
信息安全学术界形成了以安全模型分析与验证为理论基础、以信息安全产品为主要构件、以安全域建设为主要目标的安全防护体系思想;不仅涌现出安全操作系统、安全数据库管理系统、防火墙为代表的信息安全产品,同时形成了相关的信息安全产品测评标准,以及基于安全标准的测评认证制度与市场准入制度,实现了信息安全产品的特殊监管。
当信息技术快速步入网络时代,跨地域、跨管理域的协作不可避免,多个系统之间存在频繁交互或大规模数据流动,专一、严格的信息控制策略变得不合时宜,信息安全领域随即进入了以立体防御、深度防御为核心思想的信息安全保障的时代.形成了以预警、攻击防护、响应、恢复为主要特征的全生命周期安全管理,出现了大规模网络攻击与防护、互联网安全监管等各项新的研究内容.安全管理也由信息安全产品测评发展到大规模信息系统的整体风险评估与等级保护等,如图2所示.
Fig.2Evolutionofinformationsecuritytechnology
信息安全技术发展阶段图
云计算以动态的服务计算为主要技术特征,以灵活的“服务合约”为核心商业特征,是信息技术领域正在发生的重大变革.这种变革为信息安全领域带来了巨大的冲击:
在云平台中运行的各类云应用没有固定不变的基础设施,没有固定不变的安全边界,难以实现用户数据安全与隐私保护。
云服务所涉及的资源由多个管理者所有,存在利益冲突,无法统一规划部署安全防护措施;
云平台中数据与计算高度集中,安全措施必须满足海量信息处理需求。
由于当前信息安全领域仍缺乏针对此类问题的充分研究,尚难为安全的云服务提供必要的理论技术与产品支撑,因此,未来在信息安全学术界与产业界共同关注及推动下,信息安全领域将围绕云服务的“安全服务品质协议”的制定、交付验证、第三方检验等,逐渐发展形成一种新型的技术体系与管理体系与之相适应,标志着信息安全领域一个新的时代的到来。
从目前来看,实现云计算安全至少应解决关键技术、标准与法规建设以及国家监督管理制度等多个层次的挑战.下面分别予以简要阐述。
11.2 建立以数据安全和隐私保护为主要目标的云安全技术框架
当前,云计算平台的各个层次,如主机系统层、网络层以及Web应用层等都存在相应安全威胁,但这类通用安全问题在信息安全领域已得到较为充分的研究,并具有比较成熟的产品.研究云计算安全需要重点分析与解决云计算的服务计算模式、动态虚拟化管理方式以及多租户共享运营模式等对数据安全与隐私保护带来的挑战:
云计算服务计算模式所引发的安全问题.当用户或企业将所属的数据外包给云计算服务商,或者委托其运行所属的应用时,云计算服务商就获得了该数据或应用的优先访问权.事实证明,由于存在内部人员失职、黑客攻击及系统故障导致安全机制失效等多种风险,云服务商没有充足的证据让用户确信其数据被正确地使用.例如,用户数据没有被盗卖给其竞争对手、用户使用习惯隐私没有被记录或分析、用户数据被正确存储在其指定的国家或区域,且不需要的数据已被彻底删除等等;
云计算的动态虚拟化管理方式引发的安全问题.在典型的云计算服务平台中,资源以虚拟、租用的模式提供给用户,这些虚拟资源根据实际运行所需与物理资源相绑定.由于在云计算中是多租户共享资源,多个虚拟资源很可能会被绑定到相同的物理资源上.如果云平台中的虚拟化软件中存在安全漏洞,那么用户的数据就可能被其他用户访问.例如,2009年5月,网络上曾经曝光VMware虚拟化软件的Mac版本中存在一个严重的安全漏洞.别有用心的人可以利用该漏洞通过Windows虚拟机在Mac主机上执行恶意代码.因此,如果云计算平台无法实现用户数据与其他企业用户数据的有效隔离,用户不知道自己的邻居是谁、有何企图,那么云服务商就无法说服用户相信自己的数据是安全的;
云计算中多层服务模式引发的安全问题.前面已经提及,云计算发展的趋势之一是IT服务专业化,即云服务商在对外提供服务的同时,自身也需要购买其他云服务商所提供的服务.因而用户所享用的云服务间接涉及到多个服务提供商,多层转包无疑极大地提高了问题的复杂性,进一步增加了安全风险.
由于缺乏安全关键技术支持,当前的云平台服务商多数选择采用商业手段回避上述问题.但长远来看,用户数据安全与隐私保护需求属于云计算产业发展无法回避的核心问题.其实,上述问题并不缺乏技术基础,如数据外包与服务外包安全、可信计算环境、虚拟机安全、秘密同态计算等各项技术多年来一直为学术界所关注.关键在于实现上述技术在云计算环境下的实用化,形成支撑未来云计算安全的关键技术体系,并最终为云用户提供具有安全保障的云服务.
11.3 建立以安全目标验证、安全服务等级测评为核心的云计算安全标准及其测评体系
建立安全指导标准及其测评技术体系是实现云计算安全的另一个重要支柱.云计算安全标准是度量云用户安全目标与云服务商安全服务能力的尺度,也是安全服务提供商构建安全服务的重要参考.基于标准的“安全服务品质协议”,可以依据科学的测评方法检测与评估,在出现安全事故时快速实现责任认定,避免产生责任推诿.建立云计算安全标准及其测评体系的挑战在于以下几点:
首先,云计算安全标准应支持更广义的安全目标.云计算安全标准不仅应支持用户描述其数据安全保护目标、指定其所属资产安全保护的范围和程度,更重要的是,应支持用户、尤其是企业用户的安全管理需求,如分析查看日志信息、搜集信息,了解数据使用情况以及展开违法操作调查等.而这些信息的搜集可能会牵涉到云计算服务商的数据中心或涉及到其他用户的数据,带来一定安全隐患.当前,云计算商业运作模式仍不十分成熟,用户与云计算服务商之间的责任与权限界定得并不清晰,用户与云计算服务商就管理范围与权限上可能存在冲突,因此,需要以标准形式将其确定下来,明确指出信息搜集的程度、范围、手段等,防止影响其他用户的权益.不仅如此,上述安全目标还应是可测量、可验证的,便于在相关规范中规定上述安全目标的标准化测量验证方法;
其次,云计算安全标准应支持对灵活、复杂的云服务过程的安全评估.传统意义上对服务商能力的安全风险评估方式是,通过全面识别和分析系统架构下威胁和弱点及其对资产的潜在影响来确定其抵抗安全风险的能力和水平,但在云计算环境下,云服务提供商可能租用其他服务商提供的基础设施服务或购买多个服务商的软件服务,根据系统状况动态选用.因此,标准应针对云计算中动态性与多方参与的特点,提供相应的云服务安全能力的计算和评估方法.同时,标准应支持云服务的安全水平等级化,便于用户直观理解与选择;
此外,云计算安全标准应规定云服务安全目标验证的方法和程序.由于用户自身缺乏举证能力,因此,验证的核心是服务商提供正确执行的证据,如可信审计记录等.云计算安全标准应明确定义证据提取方法以及证据交付方法.
11.4 建立可控的云计算安全监管体系
科学技术是把双刃剑,云计算在为人们带来巨大好处的同时也带来巨大的破坏性能力.而网络空间又是继领土权、领空权、领海权、太空权之后的第五维国家主权,是任何主权国家必须自主掌控的重要资源.因此,应在发展云计算产业的同时大力发展云计算监控技术体系,牢牢掌握技术主动权,防止其被竞争对手控制与利用.与互联网监控管理体系相比,实现云计算监控管理必须解决以下几个问题:
实现基于云计算的安全攻击的快速识别、预警与防护.如果黑客攻入了云客户的主机,使其成为自己向云服务提供商发动DDoS攻击的一颗棋子,那么按照云计算对计算资源根据实际使用付费的方式,这一受控客户将在并不知情的情况下为黑客发起的资源连线偿付巨额费用.不仅如此,与以往DDoS攻击相比,基于云的攻击更容易组织,破坏性更大.而一旦攻击的对象是大型云服务提供商,势必影响大批用户,所造成的损失就更加难以估量.因此,需要及时识别与阻断这类攻击,防止重大的灾害性安全事件的发生;
实现云计算内容监控.云的高度动态性增加了网络内容监管的难度.首先,云计算所具有的动态性特征使得建立或关闭一个网站服务较之以往更加容易,成本代价更低.因此,各种含有黄色内容或反动内容的网站将很容易以打游击的模式在网络上迁移,使得追踪管理难度加大,对内容监管更加困难.如果允许其检查,必然涉及到其他用户的隐私问题;其次,云服务提供商往往具有国际性的特点,数据存储平台也常跨越国界,将网络数据存储到云上可能会超出本地政府的监管范围,或者同属多地区或多国的管辖范围,而这些不同地域的监管法律和规则之间很有可能存在着严重的冲突,当出现安全问题时,难以给出公允的裁决;
识别并防止基于云计算的密码类犯罪活动.云计算的出现使得组织实施密码破译更加容易,原来只有资金雄厚的大型组织才能实施的密码破解任务,在云计算平台的支持下,普通用户也可以轻松实现,严重威胁了各类密码产品的安全.在云计算环境下,如何防止单个用户或者多个合谋用户购得足够规模的计算能力来破解安全算法,也是云计算安全监管中有待解决的问题之一.
结语
云计算是当前发展十分迅速的新兴产业,具有广阔的发展前景,但同时其所面临的安全技术挑战也是前所未有的,需要IT领域与信息安全领域的研究者共同探索解决之道.同时,云计算安全并不仅仅是技术问题,它还涉及标准化、监管模式、法律法规等诸多方面.因此,仅从技术角度出发探索解决云计算安全问题是不够的,需要信息安全学术界、产业界以及政府相关部门的共同努力才能