感谢三八女神节,偷得一晚闲。春节前后着实忙了好一阵子,每天都象在打仗似的。今天终于可以等到一个空闲的晚上,安静下来想想,并写写边缘计算的话题。
事先声明,以下观点仅代表个人观点和理解,既不代表樱桃司的观点,也不代表OpenStack基金会的观点。由于理解能力有限,如有错误,请多多指正。
在说边缘计算之前,不得不提及的一个概念是雾计算(Fog Computing)。作为多年从事云计算(Cloud Computing)的工程师,乍一看,“你对我像雾像雨又像风”,觉得更象是在炒作概念,指不定以后还会来什么风计算、雨计算、雪计算。但是仔细研究了解过发现实则不然,雾计算中数据、数据处理和应用程序集中在网络边缘的设备中,而不是大部分保存在云中,是云计算的延伸概念。它是由思科提出的,这个因“云”而“雾”的命名源自“雾是更贴近地面的云”这一名句。
雾计算和云计算一样,十分形象。云在天空飘浮,高高在上,遥不可及,刻意抽象;而雾却现实可及,贴近地面,就在你我用户身边。雾计算并非由大量性能强大的服务器构成,而是由性能较弱、更为分散的各类功能计算机组成,渗入工厂、汽车、电器、街灯及人们物质生活中的各类用品和场景中。
有人常常会来问我第一个问题:云计算和雾计算的区别是什么?我的回答就是没什么本质区别。水气在天上叫云,水气靠近地面叫雾。同理类比,服务器计算机放在数据中心叫云计算,放在边缘就叫雾计算。那什么是边缘,边缘就是小型数据中心小型机房,就是更靠近设备那一端的地方,更靠近用户的地方。这就是为什么边缘计算要依赖且用到所谓的雾计算。
回到边缘计算,面向终端的边缘计算与面向数据中心的云计算天生地存在某种血缘关系,只不过一个在中心一个在边缘:
它们都包含计算(Compute)、存储(Storage)和网络(Network)三大主要资源;
多个用户或应用程序共享这些资源;
它们都受益于虚拟化技术的发展和资源池的抽象;
它们都受益于能够白牌硬件的能力,受益于软件和硬件的解耦;
它们都主要通过API来支持互操作性。
非要分辨它们的区别,我认为唯一且最大的区别就是需求不同而已,比如电信领域需求包括但不限于:高速低时延(High Speed,Low Latency)、高吞吐(High Throughput)和本地化(Localization)。由于应用场景不同,需求的不同,导致处理方式进而计算分布的不同,这就是我对边缘计算的粗浅理解。
由于计算分布的不同,边缘计算与数据中心有别于:
边缘站点尽可能地靠近最终用户或应用程序侧,高时延的慢速网络和不可靠连接对它影响小;
相反,用户或应用程序如果需要用到边缘计算,其地理位置是非常重要的,它需要靠近或处于正确的边缘站点覆盖位置;
边缘站点的资源往往是有限的,这是因为空间或电源的限制导致不能随意往站点里面添加更多的资源;
边缘计算也许需要特殊的硬件,如GPU/FPGA平台来提供增强现实(AR)和虚拟现实(VR)的功能;
边缘站点由于靠近用户侧,一般是处于远端并且可能无法被操纵,因此边缘站点必须能够被远程管理,远程管理工具必须能够支持通过不可靠网络来访问边缘站点;
边缘计算能够扩展至非常多的站点,以及分布在各个不同的地点;
多边缘站点的所有资源池都应该是动态的,边缘站点应该能够在某种程度上相互连接,并且能够通过广域网与核心网相连,某个或某些边缘站点会随时加入或离开整个基础设施资源池;
边缘计算应该允许基础设施的差异性,如各种不同大小和规模的站点、大规模的数据中心甚至是单个设备;
一些用户场景可能需要实现多租户的功能;
边缘计算与云数据中心要有必要的隔离,保证云数据中心不能影响边缘计算的服务。
边缘计算的应用着实十分广泛,从智慧城市、智慧家居、智慧医院、在线直播,到智能泊车、自动驾驶、无人机、智能制造、虚拟现实以及增强现实,实在太多太多。而且新的应用新的用户案例可以不断挖掘出来,甚至未来的人工智能和5G,也跟边缘计算有着紧密的关联。
谈到案例,2018年初的一则新闻《昆明机场首个“智能化”洗手间投入使用 将缓解如厕拥挤状况》算是吊炸天,也算是读者比较容易理解的一个案例了吧?原文在http://news.163.com/18/0117/17/D8CCTTQ6000187VG.html。新闻归纳如下,试点洗手间的智能系统目前具备多种创新功能:对洗手间厕位的占用情况进行一目了然的显示,为旅客寻找空位如厕提供便利;为旅客提供高峰时期寻找空余洗手间的智能引导,指引旅客前往附近最近的有空余厕位的洗手间如厕;厕位使用频率统计:包涵单个厕位的统计和整体洗手间的统计,并且可以进行科学分析得出某时段使用频率最高的洗手间或者某个厕位;洗手间使用评价系统;旅客可以在使用后扫描门口的二维码进行满意度评价。除了以上功能外,该系统还可以根据需求进行水电计量、气味监测、保洁管控、节能减排等进一步的完善升级,以满足更多的智能洗手间功能要求。
怎么样,我反正感觉吊炸天了!
再比如另一个简单的应用——监控头判断交通违法信息。在马路监控头捕捉到了汽车交通违法视频之后,可以传到边缘站点,对视频进行图像提取、车牌定位、字符分割以及最终车牌识别。如果没有边缘计算,监控视频需要传到远程数据中心做违法判断以及车牌识别,而且随着时间的推移,需要传送的数据越来越多,对于网络高带宽和应用实时性提出了很大的挑战。然而,如果数据能在本地边缘站点处理掉了,那么就节省了数据传输的时间,节约了连接网络的带宽。做一个简单的比较,如果违法事件和违法车牌分别在本地监测和识别到了,只传送结果信息,这是边缘计算 ;如果需要把视频传到数据中心处理计算,那是云计算。通过比较,边缘计算的优势一目了然。交通违法检测只是一个方面,咱天朝的监控头用武之地实在太多了,人脸识别、烟雾报警、人口密度指数预警防踩踏事件、动态监测、双摄像头测距、森林防火、天气监测等等,甚至还能做"朝阳群众"帮警察蜀黍破案呢。
除此之外,边缘计算还可以应用在一些更加复杂的场景里,比如体育场周边的在线视频直播和点播、工厂工业互联监测和自动化等等,前景广阔,前途无量。
回顾边缘计算的历史,我们能够发现各行业都已经发现并正在发掘边缘计算带来巨大发展潜力和商业价值。早在2014年,欧洲电信标准化协会(European Telecommunications Standards Institute,ETSI)成立移动边缘计算标准化工作组,提出Multi-Access Edge Computing(MEC)概念,是一种网络边缘业务的技术。该组一直推动并逐步形成边缘计算标准和参考架构。
MEC翻译成中文便是“多接入”“边缘”“计算”,即有:
多接入:多种网络接入模式,比如LTE、无线WiFi、有线、ZigBee、LoRa、NB-IoT等各种物联网应用场景;
边缘:网络功能和应用部署在网络的边缘侧,尽可能靠近最终用户,降低传输时延;
计算:即联合云计算和雾计算,充分有效利用计算、存储和网络等有限资源。
参考上图架构实现的边缘计算实例系统,就应该具备这些属性。
可以感觉得出,边缘计算的高要求都是为了电信级应用,什么低时延高速率,大部分是跟电信运营商和电信设备制造商相关的技术和业务,感觉边缘计算就是电信的事情。但是后面你会发现它不仅局限于电信行业的。
在MEC提出之后,边缘计算简直就是风起云涌,第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)已经正式接受MEC作为5G架构关键议题。下一代移动通信网络(Next Generation Mobile Networks,NGMN)也已经同意将MEC纳入到5G需求和架构中。5G太有用了,它是边缘计算场景主要推动技术之一。
2015年11月,思科、ARM、戴尔、英特尔、微软、普林斯顿大学等机构联合发起成立开放雾计算联盟OpenFog,定义了雾计算架构,将计算、存储、网络资源分布到更靠近用户边缘侧的地方,该联盟旨在加速采用与物联网和人工智能相关的边缘计算,建立最佳实践和架构框架,以及创建指南文档。
2016年9月,电信行业与汽车行业的全球跨行业产业联盟(5G Automotive Association,5GAA)成立,联盟的使命在于研发、实验和推动智能车联、智慧交通等万物互联所需的通信解决方案和应用,包括相关的标准化推进、商业机会挖掘,以及全球市场的拓展。5GAA发起方包括奥迪、宝马和戴姆勒以及爱立信、华为、英特尔、诺基亚、高通五家电信通讯公司,成立后该组织成员不断扩大。
这还不够,2017年8月爱立信、英特尔、日本NTT与丰田近日成立了一个名为汽车边缘计算联盟(Automotive Edge Computing Consortium,AECC)的新联盟,以开发连接汽车的网络和计算生态系统,更多地关注使用边缘计算和高效网络设计来增加网络容量,以适应汽车大数据。它还将定义要求,开发用例并鼓励最佳实践。有了这,不论智能辅助驾驶也好,自动驾驶也好,亦或是无人驾驶,也可以利用边缘计算基础设施计算,实现人工智能驾驶。
在我国,2016年12月,华为、中科院沈自所、中国信通院、英特尔、ARM、软通动力等机构联合发起在北京成立边缘计算产业联盟(Edge Computing Consortium,ECC)。该联盟旨在搭建边缘计算产业合作平台,推动OT和ICT产业开放协作,孵化行业应用最佳实践,促进边缘计算产业健康与可持续发展。
在开源技术方面,上个月2018年2月20日在旧金山Linux基金会和AT&T宣布推出一个新的开源项目Akraino Edge Stack(http://www.akraino.org),旨在创建一个开源软件堆栈,支持针对边缘计算系统和应用进行优化的高可用性云服务。目前他们正在组建的Akraino Edge Stack社区,而且AT&T会在2018年第二季度发布开源项目源代码,对在虚拟机和容器中运行的电信运营商级应用程序提供边缘计算服务,支持高可靠性和高性能的要求。
Akraino Edge Stack将为用户提供全新级别的灵活性,以便快速扩展边缘云服务,最大限度地提高每台服务器上支持的应用程序或用户数量,并帮助确保必须始终处于运行状态系统的可靠性。据他们说,虽然现有的开源项目比如OpenStack可以利用上,但目前没有任何项目能够满足边缘解决方案的需求。Akraino将有助于为运营商,提供商和物联网提供易用性高、可靠性强和性能高的服务。
简单地说,Akraino代码基础就是在OpenStack的基础上加上了ONAP,并结合边缘计算需求进行相应代码或架构上的改变,同时为5G和物联网应用建立新生态系统并提供软件解决方案。
与此同时,OpenStack基金会也没闲着。虽然OpenStack项目对于边缘计算的支持还是在早期阶段,但是随着云计算的演化趋势的需要,在OpenStack基金会组织下成立了边缘计算工作组。根据2017年5月OpenStack波士顿峰会的提议,在9月的旧金山举行了一个为期2天的OpenDev研讨会,讨论的话题也就是边缘计算。当时有超过200名的用户和开发者参与到这个研讨会中。虽然会议规模比较小,但是参与者包括了很多电信运营商和制造商的会议。那次讨论包括定义相关用户场景、讨论相关工具和架构,已经完成了初步的概念性验证,同时社区上也已经存在一些早期的部署案例。2018年2月,结合社区的反馈和边缘计算工作组讨论的工作成果,OpenStack基金会刚刚发布了边缘计算白皮书(https://www.openstack.org/edge-computing/)。
战国纷争,英雄辈出,群雄四起,诸侯割据,天下未定,江湖未统,边缘计算的格局尚未形成。时不我待,只争朝夕,我们站在云计算的肩膀之上,面对边缘计算、5G、物联网和人工智能各种新技术和新问题挑战,还有什么理由能阻止我们加快步伐,去迎接一个激动人心的新时代到来呢?
> 关于作者:王庆是英特尔开源技术中心的一名研发经理。他在2004年复旦大学计算机软件与理论专业获得博士学位后加入英特尔公司,做过基于迅驰平台的移动软件开发工具集开发,2007年加入开源技术中心从事开源技术领域的工作至今,涉及过基于硬件虚拟化技术(VT)的虚拟化软件Xen的底层开发,开发与维护开源的可信启动解决方案tboot,以及领导研发团队开发嵌入式解决方案Yocto等,2012年起从事云计算OpenStack的开发,专注网络和存储但不仅限于OpenStack Cinder、OpenStack Neutron、Ceph、Open DayLight、ONAP、OPNFV等,2018年起拓展到边缘计算领域。2018年1月12日,OpenStack基金会个人独立董事选举结果揭晓,英特尔开源技术中心研发经理王庆博士(Shane Wang)连续第四年当选个人独立董事。
> 关于『 Linux宝库 』微信公众号:
欢迎关注『Linux宝库』微信公众号,这里每天发布最新的开源人物和开源事件。谨以此号记录Linux和开源业界的点点滴滴,为开源爱好者和从业者点亮人生。
- To be continued -
责任编辑:RAY MAN
『 Linux宝库 』
为开源爱好者和从业者点亮人生!
长按二维码关注我们