模块10 现代信息技术概述
任务10.1 云计算技术基础与应用
10.1.1 学习要点
学习要点如下。
♦ 云计算(cloud computing)技术定义。
♦ 云计算技术特点。
♦ 云计算技术应用领域。
♦ 云计算技术架构。
♦ 云计算技术服务类型。
♦ 边缘云技术。
♦ 微服务技术。
10.1.2 知识准备
1. 云计算技术概述
云计算是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后通过多台服务器组成的系统处理和分析这些小程序得到结果并返回给用户。云计算技术早期就是简单的分布式计算,解决任务分发及计算结果合并的问题,因此这时的云计算技术又称为“网格计算技术”。通过这项技术,可以在很短的时间内(按秒计算)完成对数以万计的数据的处理,从而达到强大的网络服务。
现阶段的云计算技术已经不单单是一种分布式计算,而是把分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等技术混合演进并进一步升华的结果。
普通“云”用户无须具有IT设备操作能力和相应的专业知识,也不必了解如何管理那些支持云计算技术的基础设施。只需要通过网络接入云计算平台,就可以获取需要的服务,整个使用过程方便、简单。目前许多大型IT厂商都推出了各自的云计算技术平台,如谷歌公司的Google APP Engine、亚马逊公司的EC2、IBM公司的IBM Blue Cloud及微软公司的Microsoft Azure等。
云计算技术具有的技术特征和规模效应使其具有比传统计算机系统更高的性价比优势。
(1)云计算技术数据中心规模庞大,可以节省大量开销。
企业的IT开销主要分为硬件开销、能耗,以及管理成本3个部分。根据James调查,一个拥有大约5万台服务器的特大型数据中心与一个拥有大约1 000台服务器的中型数据中心相比较,前者的存储和网络成本只相当于后者的1/5到1/7,而数据中心的管理员管理的服务器数量则达到7倍。因此对于拥有几十万乃至上百万台计算机的亚马逊和谷歌云计算技术平台来说,其存储、网络和管理成本比用中型数据中心管理如此多的计算机可以降低5~7倍。
(2)云计算技术数据中心的电力成本和制冷成本占有相当大的比重。
由于发电采用的技术和区域不同也会使得电价有所差别,因此数据中心的地理位置布局将会对其运行成本产生影响。例如,美国爱达荷州的水电资源丰富,因此电价比较便宜。而夏威夷州市岛屿无电力资源,电力价格昂贵。由于云计算技术数据中心选址比较灵活,因此可以选择电力资源丰富、运营成本比较低的区域,相较于传统的数据中心可以大大节省投资。谷歌公司选择的云计算技术数据中心往往位于人烟稀少、水资源丰富,以及气候寒冷等区域,这样在电价、散热成本及人力成本等方面将远远低于人口密集的大城市。
(3)云计算技术有比传统的IDC(互联网数据中心)更高的资源利用率。
构建传统的IDC时,以满足峰值需求为标准进行服务器和网络资源配置,通常情况下资源利用率只有10%~15%。而云计算技术平台提供的服务具有弹性,通过资源动态分配、资源预留,以及负载均衡等策略实现资源的高效利用,资源利用率可达普通IDC的5~7倍。对于普通用户来说,云计算技术的优势也是显而易见的。他们既不用安装硬件,也不用开发软件,并且使用成本非常低;同时用户在云计算技术平台上可以实现应用系统快速部署、系统规模动态伸缩和更方便地共享数据。
2. 云计算技术定义
“云”实质上就是一个网络,狭义上讲云计算技术就是一种提供资源的网络。用户可以随时获取其中的资源并按需求量使用,并且可以看成是无限扩展的,只要按使用量付费就可以。“云”就像我们用电或煤气一样,可以随时使用。并且不限量,按照自己的用电用煤气量付费给供电局或燃气公司就可以。
从广义上说,云计算技术是与信息技术、软件、互联网相关的一种服务,这种计算资源共享池叫做“云”。云计算技术把许多计算资源集合起来,通过软件实现自动化管理,只需要很少的人参与就能快速提供资源。也就是说,计算能力作为一种商品可以在互联网上流通,就像水、电、煤气一样可以方便地取用并且价格较为低廉。
云计算技术定义一般是围绕“云”资源类型和“云”服务展开,“云”资源类型既包含计算机CPU、存储空间及带宽等,又包含开发平台及所提供的信息服务等软件资源;“云”服务具有按需提供的特点,用户可以根据实际需要订购服务。因此云计算可以定义为使用大量的虚拟化资源池(包括计算机硬件、开发平台和服务等)为用户提供按需服务的一种计算机服务模式,如图10-1所示。
图10-1 按需服务的一种计算机服务模式
云计算技术是继互联网后计算机在信息时代又一种新的革新,是信息时代的一个大飞跃,未来的时代可能是云计算技术的时代。虽然目前有关云计算技术的定义有很多,但是其基本含义是一致的。即云计算技术具有很强的扩展性和需要性,可以为用户提供一种全新的体验。其核心是将很多计算机资源协调在一起,使用户通过网络就可以获取无限的资源,并且获取的资源不受时间和空间的限制。云计算技术设备的连接如图10-2所示。
图10-2 云计算技术设备的连接
3. 云计算技术的发展历程
云计算技术这个概念从提出到今天已经10多年了,在这期间该技术取得了飞速的发展与翻天覆地的变化。如今云计算技术被视为计算机网络领域的一次革命,因为它的出现使得社会的工作方式和商业模式也在发生巨大的改变。
追溯云计算技术的根源,其产生和发展与并行计算、分布式计算等计算机技术密切相关。
在上世纪的90年代,计算机网络出现了大爆炸。2004年Web 2.0成为当时的热点,这也标志着互联网泡沫的破灭,计算机网络发展进入了一个新的阶段。在这一阶段,让更多的用户方便快捷地使用网络服务成为互联网发展亟待解决的问题。与此同时,一些大型公司也开始致力于开发大型计算能力的技术,为用户提供了更加强大的计算处理服务。
2006年8月9日,谷歌首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SESSanJose 2006)上首次提出“云计算”的概念。这是云计算技术发展史上第1次正式地提出这一概念,有巨大的历史意义。
2007年以来,云计算成为计算机领域最令人关注的话题之一,也是大型互联网企业着力研究的重要方向。因为云计算技术的提出,所以互联网技术和IT服务出现了新的模式,引发了一场变革。
2008年,微软发布其公共云计算平台(Windows Azure Platform),由此拉开了其云计算技术大幕;同时云计算技术在国内也掀起一场风波,许多大型网络公司纷纷加入云计算的阵列。
2009年1月,阿里软件在江苏南京建立首个“电子商务云计算中心”。同年11月,中国移动云计算技术平台“大云”计划启动。
2019年8月17日,北京互联网法院发布《互联网技术司法应用白皮书》,发布会上北京互联网法院互联网技术司法应用中心揭牌成立。
4. 云计算技术特点
云计算技术的方便之处在于高灵活性、可扩展性和高性比等,与传统的网络应用模式相比,具有如下优势与特点。
(1)虚拟化技术。
必须强调的是虚拟化技术突破了时间、空间的界限,是云计算技术最为显著的特点,虚拟化技术包括应用虚拟和资源虚拟。众所周知,物理平台与应用部署的环境在空间上是没有任何联系的,正是通过虚拟平台对相应终端操作完成数据备份、迁移和扩展等。
(2)动态可扩展。
云计算技术具有高效的运算能力,在原有服务器基础上增加云计算技术功能能够使计算速度迅速提高,最终实现动态扩展虚拟化的层次达到对应用进行扩展的目的。
(3)按需部署。
计算机系统包含许多应用,不同的应用对应的数据资源库不同。所以用户运行不同的应用需要较强的计算能力对资源进行部署,而云计算技术平台能够根据用户的需求快速配备计算能力及资源。
(4)灵活性高。
目前市场上大多数IT资源和软硬件都支持虚拟化,如存储网络、操作系统和开发平台等。虚拟化需要将资源统一放在“云”系统资源虚拟池中进行管理,可见云计算技术的兼容性非常强。不但可以兼容低配置机器、不同厂商的硬件产品,还能够获得更高性能的计算能力。
(5)可靠性高。
即使服务器故障也不影响计算与应用的正常运行,因为单点服务器出现故障可以通过虚拟化技术将分布在不同物理服务器上面的应用进行恢复或利用动态扩展功能部署新的服务器进行计算。
(6)性价比高。
将资源放在虚拟资源池中进行统一管理在一定程度上优化了物理资源,用户不再需要昂贵、存储空间大的主机。可以选择相对廉价的PC组成云,一方面减少费用;另一方面计算性能不逊于大型主机。
(7)可扩展性。
用户可以利用应用软件的快速部署条件来更为简单快捷地将所需的已有业务及新业务进行扩展。例如,计算机云计算系统中出现设备故障。对于用户来说,无论是在计算机层面上,还是在具体运用上均不会受到阻碍。即可以利用计算机云计算技术具有的动态扩展功能来对其他服务器开展有效扩展,这样就能够确保任务得以有序完成。在对虚拟化资源进行动态扩展的情况下,也能够高效扩展应用,提高计算机云计算技术的操作水平。
5. 云计算技术服务类型
通常云计算技术的服务类型分为3类,基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS),如图10-3所示。
图10-3 云计算技术服务类型
这3种云计算技术服务有时称为“云计算技术堆栈”。
(1)IaaS。
IaaS是主要的服务类别之一,它为云计算提供商的个人或组织提供虚拟化计算资源,如虚拟机、存储、网络和操作系统。IaaS的数据中心通常处于不同的地理位置,全球服务商的数据中心往往分布在世界各地。IaaS一般根据当前资源状况提供服务,一些IaaS供应商也提供提前预订资源的功能,允许用户订购未来特定时间内的预留资源。例如,Amazon弹性云(Amazon Elastic Compute Cloud,AEC2)提供资源预订服务。用户可以支付一定的费用订购未来一定期限内的资源,在资源可以使用时再支付一定数额的贴现率。IaaS具有自动缩放和负载均衡特点,可以根据用户不同的使用情况,如单位时间内交易量、并发用户数和请求延时等指标来扩大或者缩小应用规模。IaaS供应商根据服务水平协议(Service Level Agreement,SLA)承诺相应的服务质量(Quality of Service,QoS),这些指标双方经过协商进行约定。如果供应商违反指标,将要受到惩罚。
Amazon弹性云是一种Web服务,可以在“云”中提供安全并且大小可调的计算容量,并且按照用户使用的云计算技术资源收费。
(2)PaaS。
PaaS是一种服务类别,为开发人员提供通过全球互联网构建应用程序和服务的平台,为开发、测试和管理应用程序提供按需开发环境。PaaS供应商一般支持多种编程语言,包括 Python、Java、NET语言等。微软云操作系统Microsoft Windows Azure是个开放平台,包含了开源软件和系统在内的服务器操作系统,以及各类编程语言、框架、软件包、开发工具、数据库等,如连接MySql、Redis的PaaS服务。
(3)SaaS。
SaaS通过互联网提供按需软件付费应用程序,云计算技术提供商托管和管理软件应用程序,允许其用户连接到应用程序并通过全球互联网访问应用程序。
按照云计算技术服务的部署方式和服务对象的范围可以将云计算分为3类,即公共云、私有云和混合云,如图10-4所示。
图10-4 公共云、私有云和混合云
(1)公共云:由特定云服务提供商运营,为最终用户提供从应用程序、软件运行环境,到物理基础设施等各种各样的IT资源。在该方式下,云服务技术提供商需要保证所提供资源的安全性和可能性等非功能性需求。而最终用户不关心具体资源由谁提供、如何实现等问题,如Amazon的AWS(EC2、S3等)及Microsoft Azure服务平台等。
(2)私有云:由某一组织构建、运营、管理的云,仅为本组织提供云服务。相对于公共云,私有云可以支持动态灵活的基础设施,降低IT架构的复杂度。使各种IT资源得以整合、标准化,更加容易满足企业业务发展的需要,私有云用户完全拥有整个云计算中心的设施(如中间件、服务器、网络及存储设备等)。私有云具有构建成本低、维护方便、使用灵活等特点。
(3)混合云:由两个或多个公共云和私有云组成,组成混合云的公共云和私有云都是可以独立工作的实体。相互之间互联需要遵从一定的协议,这样使得不同云之间的数据和应用具有可移植性。一个组织可以拥有私有云,也可以根据需要向公共云订购云服务。一些云资源供应商提供混合云解决方案,使得组织和企业既可以使用公共云资源,又可以使用私有云资源。例如,Amazon Virtual Private Cloud(AVPC)允许用户在 Amazon Web Service(AWS)云中预置一个逻辑隔离分区。用户可以在自己定义的虚拟网络中启动AWS资源。对虚拟网络进行配置和管理,也可以为可访问Internet的Web服务器创建公有子网。然后将数据库或应用程序服务器等后端系统放在私有子网中,通过安全策略控制各个子网中Amazon EC2实例的访问。
6. 关键技术实现
(1)云计算技术体系结构。
云计算技术体系结构分为物理资源层、资源池层、管理中间件层和服务接口层(Service-oriented Architecture,SOA),如图10-5所示。
图10-5 云计算技术体系结构
云计算技术体系结构底层为物理资源层,包括计算机、存储器、网络、数据库及软件等资源。物理资源层之上是资源池层,此层将大量相同类型的资源构成同构或接近同构的资源池,如计算资源池、数据资源池等。构建资源池更多是物理资源的集成和管理工作,如研究在一个标准集装箱的空间中如何装下2 000台服务器、解决散热和故障节点替换的问题并降低能耗。管理中间件层负责对云计算的资源进行管理,并对任务进行调度,使得资源的利用更加安全、高效。服务接口层将云计算能力封装成标准的Web服务,并纳入到SOA体系进行管理和使用,包括服务注册、查找、访问和构建服务工作流等。管理中间件层和资源池层是云计算技术的最关键部分,SOA的功能更多依靠外部设施提供。
(2)资源监控。
云系统中的资源数据十分庞大,并且资源信息更新速度快,精准、可靠的动态信息需要有效途径确保其快捷性。而云系统能够为动态信息进行有效部署,并且兼备资源监控功能,有利于对资源的负载、使用情况进行管理;其次,资源监控作为资源管理的“血液”,对整体系统性能起关键作用。一旦系统资源监控不到位导致信息缺乏可靠性,那么其他子系统引用了错误的信息必然对系统资源的分配造成不利影响,因此落实资源监控刻不容缓。在资源监控过程中只要在各台云服务器中部署Agent代理程序便可进行配置与监管活动,如通过一台监视服务器连接各云资源服务器。然后以周期为单位将资源的使用情况发送至数据库,由监视服务器综合数据库的有效信息对所有资源进行分析。以评估资源的可用性,最大限度地提高资源信息的有效性。
(3)自动化部署。
自动化部署云资源是指基于脚本调节的基础实现不同厂商对于设备工具的自动配置,以减少人机交互比例、提高应变效率。从而避免超负荷人工操作等现象的发生,最终推进智能部署进程。自动化部署通过自动安装与部署来实现计算资源由原始状态变成可用状态,能够划分、部署与安装虚拟资源池中的资源为用户提供各类应用,包括存储、网络、软件及硬件等。系统资源的部署步骤较多,自动化部署主要利用调用脚本来自动配置、部署与各个厂商的设备管理工具。保证在实际调用环节能够采取静默的方式来实现,避免了繁杂的人际交互,使得部署过程不再依赖人工操作;除此之外,数据模型与工作流引擎是自动化部署管理工具的重要部分。一般情况下,对于数据模型的管理就是将具体的软硬件定义在数据模型中。而工作流引擎指的是触发、调用工作流,以提高智能化部署为目的,将不同的脚本流程在较为集中与重复使用率高的工作流数据库中应用有利于减轻服务器的工作量。
7. 云计算技术实现形式
云计算技术建立在先进互联网技术基础之上,其实现形式如下。
(1)软件即服务:通常用户发出服务需求,云系统通过浏览器为用户提供资源和程序等。值得一提的是利用浏览器应用传递服务信息不花费任何费用,供应商亦是如此,只要做好应用程序的维护工作即可。
(2)网络服务:开发人员能够在API的基础上不断改进、开发新的应用产品,大大提高单机程序中的操作性能。
(3)平台服务:一般服务于开发环境,协助中间商升级与研发程序;同时完善用户下载功能,用户可通过互联网下载,具有快捷、高效的特点。
(4)互联网整合:利用互联网发出指令时同类服务众多,云系统会根据终端用户需求匹配相适应的服务。
(5)商业服务平台:构建商业服务平台的目的是为了向用户和提供商提供一个沟通平台,从而需要管理服务和软件,即服务搭配应用。
(6)管理服务提供商:此种应用模式常服务于IT行业,常见服务内容有扫描邮件病毒、监控应用程序环境等。
8. 云计算技术中的安全威胁
(1)云计算平台中的隐私被窃取。
随着时代的发展,人们运用网络进行交易或购物。网上交易在云计算的虚拟环境下进行,交易双方会在网络平台上进行信息之间的沟通与交流。而网络交易存在很大的安全隐患,不法分子可以通过云计算技术对网络用户的信息进行窃取。还可以在用户与商家进行网络交易时窃取用户和商家的信息,窃取信息后就会采用一些技术手段破解并分析信息,以此发现用户更多的隐私信息,甚至有的不法分子还会通过云计算来盗取用户和商家的信息。
(2)云计算平台中的资源被冒用。
云计算技术的环境有虚拟特性,而用户通过云计算在网络交易时需要在保障双方网络信息都安全时才会进行网络操作。但是云计算中存储的信息很多,并且云计算环境也比较复杂,云计算中的数据会出现被滥用的现象。这样会影响用户的信息安全,并且造成一些不法分子利用被盗用的信息欺骗用户亲人的行为。还会有一些不法分子利用这些在云计算中盗用的信息进行违法的交易,从而造成云计算中用户的经济损失。这些都是云计算信息被冒用引起的,并且都严重威胁了云计算的安全。
(3)云计算平台容易出现黑客攻击。
黑客攻击指的是利用一些非法手段进入云计算的安全系统,给云计算技术的安全网络带来一定破坏的行为。黑客入侵到云计算平台使云计算的操作带来未知性,造成的损失很大且无法预测,所以黑客入侵给云计算带来的危害大于病毒给云计算带来的危害;此外,黑客人侵的速度远大于安全评估和安全系统的更新速度,使得当今黑客入侵到电脑后给云计算带来巨大的损失。并且目前的技术也无法对黑客攻击进行预防,这也是造成当今云计算不安全的问题之一。
(4)云计算平台中出现病毒。
大量用户通过云计算存储数据,当云计算出现异常时就会出现一些病毒,从而导致以云计算为载体的计算机无法正常工作。这些病毒还能复制并通过一些途径传播,这样就会导致为云计算为载体的计算机出现死机现象。并且因为互联网的传播速度很快,所以导致云计算平台或计算机一旦出现病毒就会很快传播,从而产生很大的攻击力。
9. 云计算技术的应用领域
较为简单的云计算技术已经普遍服务于现如今的互联网服务中,最为常见的就是网络搜索引擎和网络邮箱。
在任何时刻只要使用移动终端就可以在搜索引擎中搜索任何想要的资源,即通过云端共享数据资源。而网络邮箱也是在云计算技术和网络技术的推动下成为社会生活中的一部分,只要在网络环境下就可以实现实时的邮件收发。云计算技术已经融入现今的社会生活,其应用领域图如图10-6所示。
图10-6 云计算技术的应用领域
(1)存储云。
存储云又称“云存储”,是在云计算技术上发展起来的一种新的存储技术。它是一个以数据存储和管理为核心的云计算系统,用户可以将本地的资源上传至云端,并在任何地方接入互联网来获取云中的资源。谷歌、微软等大型网络公司均有存储云的服务,在国内阿里云、华为云、腾讯云则是市场占有量最大的存储云。存储云为用户提供了存储容器服务、备份服务、归档服务和记录管理服务等,大大方便了用户对资源的管理。
(2)医疗云。
医疗云是指在云计算、移动技术、多媒体、5G通信、大数据,以及物联网等新技术基础上结合医疗技术,使用云计算创建的医疗健康服务云平台,实现了医疗资源的共享和医疗范围的扩大。因为云计算技术的运用与结合,所以医疗云提高了医疗机构的效率,方便了居民就医。例如,现在医院的预约挂号、电子病历、医保及2020年新型冠状病毒肺炎在线会诊等都是云计算与医疗领域结合的产物。医疗云还具有数据安全、信息共享、动态扩展、布局全国的优势。
(3)金融云。
金融云是指利用云计算模型将信息、金融和服务等功能分散到庞大分支机构构成的互联网云中,旨在为银行、保险和基金等金融机构提供互联网处理和运行服务;同时共享互联网资源,从而解决现有问题并且达到高效、低成本的目标。2013年11月27日,阿里云整合阿里巴巴旗下资源并推出阿里金融云服务,这就是现在基本普及的快捷支付。因为金融与云计算的结合,所以现在只需要在手机上简单操作就可以完成银行存款、购买保险和基金买卖。现在苏宁金融、腾讯等企业均推出了自己的金融云服务。
(4)教育云。
教育云是指教育信息化的一种发展,它可以将所需要的任何教育硬件资源虚拟化。然后将其传入互联网中,以为教育机构、学生和老师提供一个方便快捷的平台。现在流行的慕课、微课就是教育云的一种应用,慕课指的是大规模开放的在线课程。现阶段慕课的3大优秀平台为Coursera、edX及Udacity。在国内,中国大学MOOC、超星、职教云也是非常好的平台。
10. 边缘云计算技术
随着5G、物联网时代的到来,传统云计算技术难以满足终端侧大连接、低时延、大带宽的需求。将云计算能力拓展到边缘侧并通过云端管控实现云服务的下沉,提供端到端的云服务,由此产生了边缘云计算。
边缘计算目前还没有一个严格统一的定义,不同研究者从各自视角来描述和理解它。ISO/IEC JTC1/SC38给出的定义是“边缘计算是一种将主要处理和数据存储放在网络边缘节点的分布式计算形式”,边缘计算产业联盟则定义为“指在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务”。边缘计算参考架构如图10-7所示。
图10-7 边缘计算参考架构
华为推出智能边缘平台(Intelligent Edge Fabric)满足客户对边缘计算资源的远程管控、数据处理、分析决策,以及智能化的诉求,支持海量边缘节点安全接入、边缘应用生命周期管理,为用户提供完整的边云协同的一体化服务。
边缘云计算技术是基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施上的云计算平台形成边缘位置的计算、网络、存储、安全等能力全面的弹性云平台,并与中心云和物联网终端形成“云边端三体协同”的端到端的技术架构。通过将网络转发、存储、计算、智能化数据分析等工作放在边缘处理,降低了响应时延和带宽成本;同时减轻了云端压力,并提供全网调度、算力分发等云服务。
(1)边缘云的特征。
作为云计算服务的一种,区别于弹性计算、对象存储等云服务,通常来说边缘云计算具备以下一个或多个特征。
• 物理位置上靠近端测:受限于物理规律,只有当端与服务的物理距离(指网络信号在有线或者无线环境中的实际传播距离)足够近时才有可能产生足够低的响应延迟,以及足够高的带宽满足特定业务场景的网络传输要求。
• 不同于其他云服务运行在数量较少的集中管理的大型数据中心,边缘云计算广泛分布于终端的附近,而且数量更多。
• 为了满足特定的业务场景,通常需要定制硬件。例如,添加GPU(图形处理器)、FPGA(为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。)等组件。在有些场景下,边缘云计算的风火水电等机房环境会比较恶劣,甚至有时需要通过定制硬件适应高温、高尘的恶劣运行环境。
• 在服务交付的过程中边缘云计算通常并不是最终交付形态,用户需要的反而是边缘云计算中承载的各类细分的云服务,包括且不限于大数据处理、容器、数据库、微服务、流计算、函数计算等。每个边缘云计算中所承载的云服务类型通常与端测的业务类型有关,如视频监控类业务通常需要大数据处理、流计算等服务,而对其他服务则没有特别高的要求。
(2)边缘云计算的应用。
边缘云计算的服务在边缘节点交付、运维、服务等方面的技术优势及规模效应解决了相关客户的痛点问题,目前边缘云计算的应用从覆盖上可以分为全网覆盖类和本地覆盖类两大类。
• 全网覆盖类应用:核心要求是从边缘节点在地区和运营商网络两个层面上的覆盖度来保证就近计算(如CDN、互动直播、边缘检测/监控等业务),或者基于足够多的节点进行网络链路优化(如SDN/SD-WAN、在线教育、实时通信等)。
• 本地覆盖类应用:核心要求是边缘节点的本地化,即边缘节点的接入距离要足够近(目标<30公里),时延足够低(目标<5 ms)来支持本地化服务的上云需求。例如,新零售、医疗等行业的监控数据上云,以及连锁门店等线下行业的IT基础设施上云等,这类应用的大带宽需求是最能体现边缘云计算时延和成本优化等核心优势的场景。
(3)智慧城市中的边缘云应用。
随着人工智能和大数据的发展,各行各业都在利用科技智能化和大数据分析等前沿科技手段提升行业应用的科技效率,减低产业数字化系统的运维成本。例如,在数字机床和工控领域等行业可以把AI能力和数字分析能力部署在工业园区内,以实现在边缘局域范围内完成实时的工控智能。在机场、车站等人流密集区域通过把人脸识别和视频监控部署在边缘侧,实现在边缘侧实时处理分析具有特征值的人和物,满足实时监控需求。
智慧城市需要信息的全面感知、智能识别研判、全域整合和高效处置,并且汇集热点地区、公安、交警等数据,以及运营商的通信类数据、互联网的社会群体数据、IoT(物联网)设备的感应类数据。智慧城市服务需要通过数据智能识别各类事件,并根据数据相关性对事态进行预测,基于不同行业的业务规则对事件风险进行研判。整合公安、交警、城管、公交等社会资源,对重大或者关联性事件进行全域资源联合调度。实现流程自动化和信息一体化,提高社会处置能力。在智慧城市的建设过程中,边缘云计算的价值同样巨大。图10-8所示为智慧城市边缘云计算技术架构。
图10-8 智慧城市边缘云计算技术框架
整个系统分为采集层、感知层、应用层,在采集层海量监控摄像头采集原始视频并传输到就近的本地汇聚节点;在感知层视频汇聚节点内置来自云端下发的视觉AI推理模型及参数,完成对原始视频流的汇聚和AI计算,提取结构化特征信息;在应用层城市大脑可根据来自各个汇聚节点上报的特征信息全面统筹规划形成决策,还可按需实时调取原始视频流。
11. 微服务技术架构
微服务就是一些可独立运行、可协同工作的小的服务,“可独立运行”“可协同工作”“小而美”3词高度概括了其核心特性。
(1)可独立运行。
微服务是一个个可以独立开发、独立部署、独立运行的系统或者进程。
(2)可协同工作。
采用微服务架构整个系统被拆分成多个微服务,这些服务之间往往不是完全独立的,在业务上存在一定的耦合。即一个服务可能需要使用另一个服务所提供的功能,这就是所谓的“可协同工作”。与单服务应用不同的是多个微服务之间的调用通过RPC通信来实现,而非单服务的本地调用。所以通信的成本相对要高一些,但带来的好处也是可观的。
(3)小而美。
微服务的思想是将一个拥有复杂功能的庞大系统按照业务功能拆分成多个相互独立的子系统,这些子系统则被称为“微服务”。每个微服务只承担某一项职责,从而相对于单服务应用其体积是“小”的,小也就意味着每个服务承担的职责变少。根据单一职责原则,在系统设计时要尽量使得每一项服务只承担一项职责,从而实现系统的“高内聚”。
微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中并使用轻量级机制通信,通常是HTTP资源的API。这些服务基于业务能力构建,能够通过自动化部署机制来独立部署。并且使用不同的编程语言及数据存储技术,保持最低限度的集中式管理。
微服务的关键不仅仅是其本身,而是系统需要提供一套基础的架构,这种架构使得微服务可以独立地部署、运行、升级。不仅如此,这个系统架构还让微服务之间在结构上“松耦合”,而在功能上则表现为一个统一的整体。这种所谓的“统一的整体”表现出来的是统一风格的界面、统一的权限管理、统一的安全策略、统一的上线过程、统一的日志和审计方法、统一的调度方式和统一的访问入口等。微服务的目的是有效地拆分应用,实现敏捷开发和部署。例如,淘宝的一次购物操作就需要调用将近200个微服务来完成。
12. 主流云计算部署平台和架构
随着云计算技术应用的推广,国内外推出了一些云计算部署平台,如HiLens、Docker、Kubernetes、OpenStack及Hadoop架构,下面对这些常见的云计算部署平台和架构进行介绍。
(1)HiLens。
HiLens是华为推出的面向普通用户、AI应用开发者、软硬件厂商的端云协同AI应用开发平台,它由具备AI推理能力的摄像头和云上开发平台组成。其中包括一站式技能开发、设备部署与管理、数据管理、技能市场等,帮助用户开发AI技能并将其推送到端侧设备。HiLens特点一是端云协同推理,平衡低计算时间延迟和高精度;二是端侧分析数据,降低上云存储成本;三是一站式技能开发,缩短开发周期;四是技能市场预置丰富技能,在线训练且一键部署,包括云侧平台和端侧平台。HiLens的应用场景有家庭智能监控、园区智能监控、商超智能监控、智能车载等。
(2)Docker。
Docker是一个开源的应用容器引擎,允许开发人员打包其应用及依赖包到一个可移植的镜像中。然后发布到任何流行的 Linux或Windows机器上,也可以实现虚拟化。容器完全使用沙箱机制,相互之间不会有任何接口。Doker有4个应用场景,即Automating the packaging and deployment of applications(使应用的打包与部署自动化)、Creation of lightweight, private PAAS environments(创建轻量、私密的PAAS环境)、Automated testing and continuous integration/deployment(实现自动化测试和持续的集成/部署)、Deploying and scaling web apps, databases and backend services(部署与扩展Web App、数据库和后台服务)。
(3)Kubernetes。
Kubernetes是谷歌开源的一个容器编排引擎,支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时通常要部署其多个实例,以便对应用请求进行负载均衡。在Kubernetes中可以创建多个容器,每个容器运行一个应用实例。然后通过内置的负载均衡策略实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员进行复杂的手工配置和处理。Kubernetes的特点一是可移植,支持公有云、私有云、混合云、多重云(multi-cloud);二是可扩展模块化、插件化、可挂载及可组合;三是自动化,即自动部署、自动重启、自动复制、自动伸缩/扩展。
(4)OpenStack。
OpenStack是一个在数据中心的云操作系统,可以调度大量的计算、网络、存储资源。通俗来讲,OpenStack是一款开源的云计算技术平台,主要部署IaaS。其功能可以满足企业私有使用,也是全球最大的Python项目。OpenStack中包含各种各样的组件,如提供身份验证的Keystone组件、提供计算服务的Nova组件、提供镜像服务的Glance组件、提供对象存储的Swift组件、提供网络服务的Neutron组件、提供块存储服务的Cinder组件,以及提供面板服务的horizon组件等。OpenStack主要目标是来简化资源的管理和分配,把计算、网络、存储3大项虚拟为3大资源池。如果需要计算资源或网络资源,均可以提供。并且对外提供API,通过API进行交互。如今OpenStack作为一个成功的开源项目,已有近10年的发展历史,国内外现在已经将其作为部署云计算技术资源平台的首选。
(5)Hadoop开源云架构。
Hadoop起源于开源组织Apache建立的开源引擎项目Nutch,在该项目的发展过程中借鉴了谷歌公司GFS、MapReduce和BigTable的思想,实现了Nutch版的NDFS和MapReduce。并据此成立新的项目组,称为“Hadoop”,目前版本为HadHoop 3.2.1。
Hadoop的典型应用如下。
(1)构建大型分布式集群。
Hadoop可以构建大型分布式集群,从而提供海量存储和计算服务。
(2)构建数据仓库。
企业服务器的日志文件和半结构化的数据不适合存入关系型数据库,但是很适合存储半结构化的HDFS,并利用其他工具进行报表查询等服务。
(3)数据挖掘。
通过Hadoop可以实现多台机器并行处理海量数据,提高了数据处理的速度。