【智簡聯接,萬物互聯】華爲雲·雲享專家董昕:Serverless和微服務下, IoT的變革蓄勢待發

摘要:Serverless、微服務,這些新技術和IoT有什麼關係?縱觀IoT行業的發展,雲服務又扮演了什麼角色?

IoT並非一個新名詞、新技術,很長一段時間,它甚至給人一種「下工地」的印象:因爲IoT設備的落地場景常常與工程環境強相關,又不容易遠程配置,因此不免「形象不佳」。前端

近幾年,當IoT與創新、科技、互聯網等掛鉤時,成爲一個至關「新銳」的行業,尤爲雲計算時代的IoT,有了許多讓老樹開新花的功能,也讓這個行業有了許多新的想象空間。安全

好比,Serverless、微服務,這些新技術和IoT有什麼關係?縱觀IoT行業的發展,雲服務又扮演了什麼角色?服務器

華爲云云享專家董昕以業內人的視角給出了他的理解。網絡

董昕是個喜歡折騰的人,既在Intel、中國銀聯、Trident這樣的大公司待過,負責芯片、IoT、安全、雲計算等多個領域的技術開發;同時,他也是一個連續創業者,肩挑背扛整個公司的技術架構,因此對中小企業在信息安全和雲計算上的緊迫感有着深入的認知。架構

現在,董昕擔任國內某大型第三方支付公司的高級架構師,一直處在技術一線的他,對當前IoT行業的發展有着理性的洞察,如下是他對IoT技術發展趨勢的一些預判。框架

物聯網比互聯網更適合Serverless

Serverless即開發人員無需再關注服務器的運維工做,直接將代碼部署在雲端,對外提供RESTful API 便可,雲計算會自動根據請求編排資源。這種模式很是適合前端實現許多功能、後臺記錄狀態的場景,能夠說是大前端發展的必然趨勢。less

在董昕看來,目前各大雲服務商針對IoT設備提供的物模型,本質上就是一種Serverless,甚至更進一步,已是Codeless了。運維

沿着這個思路去考量互聯網和物聯網在Serverless上的差別,會發現 IoT 僅僅只是將聯網的主體從人改爲了物,而消息的請求與響應並沒有差異。甚至在大多數狀況下,聯網的物比聯網的人,要更容易數據化,所需提供的服務也更單一,幾個屬性和服務就足以清晰的定義某類IoT設備。分佈式

因此從這個角度看,物聯網比互聯網更適合Serverless這種模式,而物模型就是這種模式在IoT上的落地形式。ide

Serverless 的發展趨勢、優點與目標均可以匹配IoT,好比海量接入、快速擴縮容、可移植性等等。對於物模型,咱們能夠作與當下的Serverless幾乎一致的暢想,把Serverless上的經驗全盤複製到IoT的場景中,好比Serverless中最迫切的代碼可移植性問題。

站在雲服務商的角度,用戶創建了物模型,就是與雲服務商進行了強綁定。可對於普通用戶而言,物模型的可移植性,甚至是物模型的編排工做,都是要解決的難題。如同 Serverless已涌現出了數家跨雲服務商的中間件提供方同樣,伴隨着IoT的發展,物模型的編排將極可能將會成爲開發者值得去探索的方向。

另外,在Serverless上暴露的物模型組件的繼承與複用,傳統代碼與物模型之間的轉譯等問題,在IoT的未來都會是一望無際的藍海,同時還有互聯網軟件的前輩們留下的寶貴經驗,廣闊天地,大有可爲。

硬件正在不斷的軟件化,這個觀點早已再也不新鮮,但仍未過期。軟件中的許多設計思想,都值得在硬件設計中去複製與實踐。

每一個IoT設備都是一個獨立的微服務

「微服務」是軟件行業裏很熱門的一個詞,即把一個大的功能模塊拆解成數個小的,而後在整個系統中,小模塊能夠合併、複用。微服務各司其職,大系統化整爲零。

這樣作的好處不少,但維護管理衆多的微服務成了一個麻煩事,因而就有了Docker和 Google發佈的微服務治理框架Kubernetes。

延續前文提過的「硬件正在不斷的軟件化」思路,每一個IoT設備,從功能目標上看,均可以看做一個獨立的微服務,因此軟件微服務治理的那套規範同樣能夠運用到IoT設備上。

好比華爲開源的KubeEdge項目——這個項目能夠將容器化應用程序編排至邊緣主機上,讓每一個邊緣主機化身爲微服務節點。準確的說,KubeEdge並非部署在IoT設備上,而是針對邊緣計算端的,畢竟目前絕大多數IoT設備的算力還不足以支持。

邊緣計算節點做爲IoT網關,聯合各類終端IoT設備,已經徹底足夠成爲一個微服務節點,也讓算力可以提供更契合場景的定製化輸出,而非單純的依靠軟件提供標準化產品。

相似的,在邊緣節點成爲硬件的微服務節點以後,軟件微服務治理的設計思想也能夠移植到了邊緣計算當中,包括但不限於:CI/CD、DevOps、ServiceMesh、服務監控與追蹤,甚至AIOps等等。咱們時常說的「端邊管雲」也只有在這樣的基礎上,才能真正實現無縫鏈接、自由組合、實時配置等。

至彼時,IoT的工做模式就彷彿人類社會分工的某種終極形態:各個終端設備都具備能獨自解決某類問題的能力,又能夠隨時與周邊的其餘設備組建團隊解決棘手的問題,還可以從雲端實時獲得更多重量級的支援——這哪裏仍是之前「不受待見」的IoT開發啊,徹底是一支海軍陸戰隊嘛!我來,我見,我征服。

鴻蒙之我見:江湖路遠,吾道不孤

鴻蒙雖時常被拿來與安卓對比,但它其實是爲IoT設備設計的,尤爲是其模塊化耦合的特性,徹底是爲IoT設備量身定作的。

相對於電腦和手機,IoT設備缺少統一的標準協議,每種設備均可能只具有某種特性實現爲此,鴻蒙提供了對不屬性的設備作定製化裁剪的功能,而對於硬件資源的多寡,鴻蒙又設計了多層架構,各類設備能夠根據自身資源的狀況選擇不一樣的層數。

簡而言之,鴻蒙試圖以一站式服務的方式,爲各式各樣的IoT設備提供從底層到應用層軟件的全方位支持,讓硬件製造商擺脫了軟硬件雙線做戰的困擾,同時也爲全部的 IoT 設備統一了標準與接口。

實際上,意圖統一IoT接口標準這一野望,安卓和蘋果都曾以Android@Home和HomeKit的方式奢望過。但應者寥寥,歸根結底,具有了軟件開發能力的硬件製造商,即使是面對 Google和蘋果這樣能爲其提供海量流量的巨頭,也不肯唯其馬首是瞻,從而最終完全喪失獨立性。

而在軟件上乏善可陳的製造商又難入巨頭的視野,也難堪海量流量的衝擊。因而,這種只定義接口讓廠商自行實現的方式最終淪爲一場雙輸的博弈,看似風光無限,實則互相提防。

不僅是系統設計,鴻蒙在功能特性上也爲IoT設備提供了豐富的想象空間,好比分佈式軟總線。

以往咱們在討論總線,都是在一個固定且封閉的硬件組合當中,好比電腦的南北橋總線, SoC芯片內部的AMBA總線——都是在一個封閉的硬件環境中,各功能模塊固定不變的狀況下,以硬件的方式實現的總線。

而在鴻蒙的場景下,多個IoT之間是經過網絡鏈接,各組件也隨時均可能下線或屬性變動。打個簡單粗暴的比方,分佈式軟總線是要在把電腦拆散了,各個模塊經過有線/無線的方式進行通訊,且都支持熱插拔的狀況下,用軟件協議的方式將各個模塊串接起來,同時還需確保數據安全與讀寫效率。

事實上,不止是華爲,Google正在研發的新一代操做系統Fuchsia,本着同樣的目標,也在積極推動中。星辰大海,百舸爭流。

結語

曾經,單獨一個IoT設備既不起眼,還須要很多的人力維護,甚至必須到現場蹲點,實在是一個費力不討好的行當。如今,雲計算的浪潮正改變這個行業,星星之火,必將燎原。當老樹發新芽,在新技術的加權下,如何把握IoT大勢中新一輪浪潮,讓咱們拭目以待。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索