來源:大數(shù)據(jù)DT
01 邊緣計(jì)算的歷史背景
1946年在美國賓夕法尼亞大學(xué),電子晶體管計(jì)算機(jī)ENIAC攜170平方米、18000個(gè)晶體管的龐大身軀悄然問世,作為計(jì)算的載體,開啟了現(xiàn)代計(jì)算機(jī)的發(fā)展之路。
此后,晶體管代替了電子管,集成電路代替了晶體管,計(jì)算機(jī)的發(fā)展沿著摩爾定律的軌道一路狂奔,從巨大的機(jī)房一步步走進(jìn)了千家萬戶,登上了小小的桌面,甚至作為可穿戴嵌入式設(shè)備成為人體的一部分。伴隨這一過程,越來越多的物理世界需求被轉(zhuǎn)化為計(jì)算需求,計(jì)算的形態(tài)也經(jīng)歷了幾次重要變化。
1. 共享到獨(dú)占
在計(jì)算機(jī)發(fā)展初期,由于高昂的成本,計(jì)算機(jī)主要用于大型科學(xué)實(shí)驗(yàn),幾乎不存在現(xiàn)代意義的個(gè)人計(jì)算機(jī)。因此,此時(shí)的計(jì)算過程往往是很多用戶采用分時(shí)的方式共享一臺計(jì)算機(jī),這一需求也造就了后來人們熟知的UNIX系統(tǒng)和類UNIX系統(tǒng)。
雖然此時(shí)所有的計(jì)算需求是在大型機(jī)“本地”執(zhí)行的,但其任務(wù)來源通常是多個(gè)用戶,資源也是由多用戶共享的。因此從計(jì)算模式的角度而言,大型機(jī)的計(jì)算采用了多用戶共享的模式。
而隨著集成電路的出現(xiàn),計(jì)算機(jī)體積沿著“摩爾定律”的軌跡不斷縮小,計(jì)算成本不斷降低,使得用戶逐漸能夠通過個(gè)人計(jì)算機(jī)來滿足各類計(jì)算和數(shù)據(jù)存儲的需求,計(jì)算的形態(tài)也從多用戶分時(shí)共享為主流變?yōu)榱霜?dú)占資源的個(gè)人計(jì)算機(jī)為主流。
2. 本地到云端
隨著計(jì)算機(jī)網(wǎng)絡(luò)和通信技術(shù)的不斷發(fā)展,計(jì)算機(jī)再也不僅僅是數(shù)據(jù)存儲和運(yùn)算的載體,而是承擔(dān)了越來越多的信息傳輸和交互任務(wù)。與此同時(shí),智能手機(jī)、交互式Web服務(wù)、社交網(wǎng)絡(luò)的出現(xiàn)和普及,使得大量的用戶信息由本地遷移到網(wǎng)絡(luò)服務(wù)器當(dāng)中。
伴隨著“信息網(wǎng)絡(luò)化”這一過程,在數(shù)據(jù)被帶到網(wǎng)絡(luò)服務(wù)器上的同時(shí),一部分運(yùn)算過程也被帶到了服務(wù)器上,例如網(wǎng)站托管、推薦算法、各類在線服務(wù)等。不僅如此,隨著通信和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,越來越多的計(jì)算業(yè)務(wù)得以通過網(wǎng)絡(luò)實(shí)現(xiàn),從而一步步形成了如今云計(jì)算的形態(tài)。
3. 云端到邊緣
隨著智能手機(jī)、可穿戴設(shè)備等智能化計(jì)算設(shè)備的普及,以及高清視頻、人工智能算法等需求的涌現(xiàn),各類游戲、應(yīng)用、視頻業(yè)務(wù)對于數(shù)據(jù)和實(shí)時(shí)性的要求越來越高,例如風(fēng)靡一時(shí)的增強(qiáng)現(xiàn)實(shí)(Augmented Reality,AR)游戲口袋妖怪(PoKeMon GO),對攝像頭實(shí)時(shí)采集的圖像進(jìn)行識別和處理,并在識別出的目標(biāo)位置顯示不同種類的“口袋妖怪”。
對于此類應(yīng)用業(yè)務(wù),一方面本地計(jì)算會出現(xiàn)能力不足或者電量消耗過快的問題;另一方面若采用云計(jì)算架構(gòu),則無法達(dá)到游戲的延遲要求,不僅如此,當(dāng)應(yīng)用規(guī)模擴(kuò)大時(shí),云計(jì)算架構(gòu)中網(wǎng)絡(luò)帶寬將會成為瓶頸,難以支撐來自海量前端設(shè)備的大規(guī)模實(shí)時(shí)計(jì)算和數(shù)據(jù)請求。
即便對于實(shí)時(shí)性要求不高的傳統(tǒng)業(yè)務(wù),越來越多的設(shè)備接入網(wǎng)絡(luò),也會使得云計(jì)算網(wǎng)絡(luò)基礎(chǔ)設(shè)施不堪重負(fù),甚至使得云計(jì)算中心成為許多地區(qū)能源消耗的最大來源。
與此同時(shí),隨著5G/6G、Wi-Fi 6等通信技術(shù)和標(biāo)準(zhǔn)的快速發(fā)展,用戶端到網(wǎng)絡(luò)接入端的直接延遲可以降到個(gè)位數(shù)毫秒級。此時(shí)我們發(fā)現(xiàn),在云計(jì)算架構(gòu)中,數(shù)據(jù)從接入點(diǎn)到云計(jì)算中心的傳輸過程已經(jīng)占據(jù)了絕大部分的延遲。考慮到互聯(lián)網(wǎng)數(shù)據(jù)需要經(jīng)過主干網(wǎng)多級路由的過程,這一延遲幾乎無可避免。
因此,計(jì)算資源從云中心下降到靠近用戶的網(wǎng)絡(luò)邊緣設(shè)備(如移動無線基站、家用路由等),則成為實(shí)現(xiàn)大規(guī)模實(shí)時(shí)計(jì)算的必然要求。如此,不僅徹底避免了廣域網(wǎng)中的數(shù)據(jù)傳輸延遲,也提升了數(shù)據(jù)的隱私安全級別、訪問效率以及服務(wù)部署和管理的靈活性。
02 邊緣計(jì)算的概念
簡而言之,邊緣計(jì)算是一種計(jì)算模式:在該計(jì)算模式下,服務(wù)與計(jì)算資源被放置在靠近終端用戶的網(wǎng)絡(luò)邊緣設(shè)備中。
與傳統(tǒng)的云計(jì)算數(shù)據(jù)中心相比,邊緣計(jì)算中直接為用戶提供服務(wù)的計(jì)算實(shí)體(如移動通信基站、WLAN網(wǎng)絡(luò)、家用網(wǎng)關(guān)等)距離用戶很近,通常只有一跳的距離,即直接相連。這些與用戶直接相連的計(jì)算服務(wù)設(shè)備稱為網(wǎng)絡(luò)的“邊緣設(shè)備”。
如下圖所示,對于校園、工業(yè)園區(qū)等場景,配備計(jì)算和存儲資源的設(shè)備即可作為邊緣設(shè)備,為其前端用戶提供邊緣計(jì)算服務(wù);對于城市街區(qū)場景,移動蜂窩網(wǎng)絡(luò)的通信基站可作為邊緣計(jì)算設(shè)備提供服務(wù);對于家庭住宅場景,家用路由器可作為邊緣計(jì)算設(shè)備。
關(guān)于邊緣計(jì)算的概念,目前國內(nèi)外學(xué)術(shù)界與工業(yè)界存在幾種不同的定義。根據(jù)其出發(fā)點(diǎn)的不同,本文將邊緣計(jì)算的定義整理如下:
-
邊緣計(jì)算作為云計(jì)算的延伸:邊緣計(jì)算是一種云計(jì)算優(yōu)化方法,“通過將網(wǎng)絡(luò)集中節(jié)點(diǎn)(云核心)上的應(yīng)用、數(shù)據(jù)和服務(wù)放置到邏輯邊界節(jié)點(diǎn)(邊緣)”,從而建立與物理世界的直接聯(lián)系。
-
邊緣計(jì)算作為前端設(shè)備和云計(jì)算的中介:邊緣計(jì)算是指那些使得計(jì)算發(fā)生在網(wǎng)絡(luò)邊緣的技術(shù)合集,向下的數(shù)據(jù)流來自云計(jì)算服務(wù),向上的數(shù)據(jù)流來自前端的各類物聯(lián)網(wǎng)設(shè)備。
-
描述計(jì)算平臺的角度:根據(jù)中國邊緣計(jì)算產(chǎn)業(yè)聯(lián)盟的定義,在靠近物或數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣側(cè),融合網(wǎng)絡(luò)、計(jì)算、存儲、應(yīng)用核心能力的開放平臺,就近提供邊緣智能服務(wù),滿足行業(yè)數(shù)字化在敏捷連接、實(shí)時(shí)業(yè)務(wù)、數(shù)據(jù)優(yōu)化、應(yīng)用智能、安全與隱私保護(hù)等方面的關(guān)鍵需求。它可以作為連接物理和數(shù)字世界的橋梁,使能智能資產(chǎn)、智能網(wǎng)關(guān)、智能系統(tǒng)和智能服務(wù)。
-
泛化的云與用戶之間的補(bǔ)充:邊緣計(jì)算是指從數(shù)據(jù)源到云數(shù)據(jù)中心的路徑上任意計(jì)算和網(wǎng)絡(luò)資源的統(tǒng)稱。該定義明確將邊緣計(jì)算看作云計(jì)算中心與用戶之間所有計(jì)算和資源的統(tǒng)稱。
從計(jì)算模式發(fā)展的角度給出邊緣計(jì)算的定義:邊緣計(jì)算是一種計(jì)算資源與用戶接近、計(jì)算過程與用戶協(xié)同、整體計(jì)算性能高于用戶本地計(jì)算和云計(jì)算的計(jì)算模式,是實(shí)現(xiàn)無處不在的“泛在算力”的具體手段。其中,邊緣設(shè)備可以是任意形式,其計(jì)算能力通常高于前端設(shè)備,且前端設(shè)備與邊緣設(shè)備之間應(yīng)當(dāng)具有相對穩(wěn)定、低延遲的網(wǎng)絡(luò)連接。
03 邊緣計(jì)算系統(tǒng)的組成
組成部分:邊緣計(jì)算系統(tǒng)由云、邊、端
三部分組成,每部分的解決方案不止一種。本文的云組成部分選擇Kubernetes,邊組成部分選擇KubeEdge,端組成部分選擇EdgeX Foundry。
概念解析:對組成邊緣計(jì)算系統(tǒng)的云、邊、端三部分涉及的相關(guān)概念進(jìn)行說明。
組成邊緣計(jì)算系統(tǒng)的云、邊、端三部分的相關(guān)概念如下。
-
云:涉及的概念包括Container、Pod、ReplicaSet、Service、Deployment、DaemonSet、Job、Volume、ConfigMap、NameSpace、Ingress等。
-
邊:目前邊緣系統(tǒng)的實(shí)現(xiàn)方式是通過對云原有的組件進(jìn)行裁剪并下沉到邊緣,所以邊涉及的概念是云的子集,而且與云保持一致。
-
端:部署在邊上的一套微服務(wù),目前沒有引入新的概念。
1. 云——Kubernetes
Kubernetes是Google開源的大規(guī)模容器編排解決方案。整套解決方案由核心組件、第三方組件和容器運(yùn)行時(shí)組成,具體如下所示。
1)核心組件
-
Kube-apiserver
:Kubernetes內(nèi)部組件相互通信的消息總線,對外暴露集群API資源的唯一出口 -
Kube-controller
:保證集群內(nèi)部資源的現(xiàn)實(shí)狀態(tài)與期望狀態(tài)保持一致 -
Kube-scheduler
:將需要調(diào)度的負(fù)載與可用資源最佳匹配 -
Kube-proxy
:為節(jié)點(diǎn)內(nèi)的負(fù)載訪問和節(jié)點(diǎn)間的負(fù)載訪問做代理 -
Kubelet
:根據(jù)Kube-scheduler的調(diào)度結(jié)果,操作相應(yīng)負(fù)載
2)第三方組件
-
Etcd
:存儲集群的元數(shù)據(jù)和狀態(tài)數(shù)據(jù) -
Flannel
集群的跨主機(jī)負(fù)載網(wǎng)絡(luò)通信的解決方案
需要對原來的數(shù)據(jù)包進(jìn)行額外的封裝、解封裝,性能損耗較大 -
Calico
集群的跨主機(jī)負(fù)載網(wǎng)絡(luò)通信的解決方案
純?nèi)龑泳W(wǎng)絡(luò)解決方案,不需要額外的封裝、解封裝,性能損耗較小 -
CoreDNS
:負(fù)責(zé)集群中負(fù)載的域名解析
3)容器運(yùn)行時(shí)
-
Docker
:目前默認(rèn)的容器運(yùn)行時(shí) -
Containerd
:比Docker輕量,穩(wěn)定性與Docker相當(dāng)?shù)娜萜鬟\(yùn)行時(shí) -
Cri-o
輕量級容器運(yùn)行時(shí)
目前穩(wěn)定性沒有保證 -
Frakti
基于Hypervisor的容器運(yùn)行時(shí)
目前穩(wěn)定性沒有保證
2. 邊——KubeEdge
KubeEdge是華為開源的一款基于Kubernetes的邊緣計(jì)算平臺,用于將容器化應(yīng)用的編排功能從云擴(kuò)展到邊緣的節(jié)點(diǎn)和設(shè)備,并為云和邊緣之間的網(wǎng)絡(luò)、應(yīng)用部署和元數(shù)據(jù)同步提供基礎(chǔ)架構(gòu)支持。KubeEdge使用Apache 2.0許可,并且可以免費(fèi)用于個(gè)人或商業(yè)用途。
KubeEdge由云部分、邊緣部分和容器運(yùn)行時(shí)組成,具體如下所示。
云部分 | CloudCore
- 負(fù)責(zé)將云部分的事件和指令下發(fā)到邊緣端,同時(shí)接收邊緣端上報(bào)的狀態(tài)信息和事件信息
邊緣部分 | EdgeCore
- 接收云部分下發(fā)的事件和指令,并執(zhí)行相關(guān)指令,同時(shí)將邊緣的狀態(tài)信息和事件信息上報(bào)到云部分
容器運(yùn)行時(shí) | Docker
-
目前,KubeEdge默認(rèn)支持Docker
-
官方表示未來會支持Containerd、Cri-o等容器運(yùn)行時(shí)
3. 端——EdgeX Foundry
EdgeX Foundry是一個(gè)由Linux基金會運(yùn)營的開源邊緣計(jì)算物聯(lián)網(wǎng)軟件框架項(xiàng)目。該項(xiàng)目的核心是基于與硬件和操作系統(tǒng)完全無關(guān)的參考軟件平臺建立的互操作框架,構(gòu)建即插即用的組件生態(tài)系統(tǒng),加速物聯(lián)網(wǎng)方案的部署。EdgeX Foundry使有意參與的各方在開放與互操作的物聯(lián)網(wǎng)方案中自由協(xié)作,無論其是使用公開標(biāo)準(zhǔn)還是私有方案。
EdgeX Foundry微服務(wù)集合構(gòu)成了4個(gè)微服務(wù)層及兩個(gè)增強(qiáng)的基礎(chǔ)系統(tǒng)服務(wù)。4個(gè)微服務(wù)層包含從物理域數(shù)據(jù)采集到信息域數(shù)據(jù)處理等一系列服務(wù),兩個(gè)增強(qiáng)的基礎(chǔ)系統(tǒng)服務(wù)為4個(gè)微服務(wù)層提供服務(wù)支撐。
4個(gè)微服務(wù)層從物理層到應(yīng)用層依次為設(shè)備服務(wù)(Device Service) 層、核心服務(wù)(Core Service) 層、支持服務(wù)(Supporting Service) 層、導(dǎo)出服務(wù)(Export Service) 層,兩個(gè)增強(qiáng)的基礎(chǔ)系統(tǒng)服務(wù)包括安全和系統(tǒng)管理服務(wù),具體說明如下所示。
1)設(shè)備服務(wù)層
-
Device-modbus-go
:Go實(shí)現(xiàn)對接使用Modbus協(xié)議設(shè)備的服務(wù) -
Device-camera-go
:Go實(shí)現(xiàn)對接攝像頭設(shè)備的服務(wù) -
Device-snmp-go
:Go實(shí)現(xiàn)對接SNMP服務(wù) -
Device-mqtt-go
:Go實(shí)現(xiàn)對接使用MQTT協(xié)議設(shè)備的服務(wù) -
Device-sdk-go
Go實(shí)現(xiàn)對接其他設(shè)備的SDK
SDK給設(shè)備接入提供了較大的靈活性
2)核心服務(wù)層
-
Core-command
:負(fù)責(zé)向南向設(shè)備發(fā)送命令 -
Core-metadata
:負(fù)責(zé)設(shè)備自身能力描述,提供配置新設(shè)備,并將它們與其擁有的設(shè)備服務(wù)配對的功能 -
Core-data
:負(fù)責(zé)采集南向設(shè)備層數(shù)據(jù),并向北向服務(wù)提供數(shù)據(jù)服務(wù)
Registry & Config:負(fù)責(zé)服務(wù)注冊與發(fā)現(xiàn),為其他EdgeX Foundry微服務(wù)提供關(guān)于EdgeX Foundry的相關(guān)服務(wù)的信息,包括微服務(wù)配置屬性
3)支持服務(wù)層
-
Support-logging
:負(fù)責(zé)日志記錄 -
Support-notification
:負(fù)責(zé)事件通知 -
Support-scheduler
:負(fù)責(zé)數(shù)據(jù)調(diào)度
4)導(dǎo)出服務(wù)層
-
Export-client
:導(dǎo)出數(shù)據(jù)的客戶端 -
Export-distro
:導(dǎo)出數(shù)據(jù)的應(yīng)用
5)兩個(gè)增強(qiáng)的基礎(chǔ)系統(tǒng)服務(wù)
-
System-mgmt-agent
:提供啟動、停止所有微服務(wù)的API文章來源:http://www.zghlxwxcb.cn/news/detail-723884.html -
Sys-mgmt-executo
r:負(fù)責(zé)啟動、停止所有微服務(wù)的最終執(zhí)行文章來源地址http://www.zghlxwxcb.cn/news/detail-723884.html
到了這里,關(guān)于邊緣計(jì)算是什么?邊緣計(jì)算系統(tǒng)的組成及概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!