天天看點

物聯網平台的技術挑戰

IoT時代的技術又遇到怎樣的不一樣與挑戰,簡單總結一下阿裡雲IoT場景中我們面臨的問題與挑戰。

物聯網平台的技術挑戰

多樣的連接配接

萬物的互聯,連接配接的形态也在悄然的發生變化,從WIFI,3G/4G,BLE到NB-loT,LoRa,傳統的RS232,RS485, CAN BUS等等也登上新的舞台,原本互相無關的網絡形态,交織在一起,異構的網絡建構着統一通訊。

物聯網平台的技術挑戰

面對着智能生活,智能工業,智能城市,智能園區,有的場景追求低功耗,有的場景追求低延遲,有的場景追求吞吐量,面對着不同的需求,單一的網絡形态以及網絡協定很難滿足不同的場景需求。

舉例來說,在協定方面:

MQTT協定

具有輕巧的特性,簡潔優雅的PUB/SUB模型非常适合消息驅動的場景,短小精緻的特點同時對弱網環境以及資源受限環境的十分友好。

CoAP協定

CoAP主要基于UDP,與HTTP相似的模型為嵌入式資源受限的場景提供了REQ&RSP的能力,這種模型更适合多數開發者的習慣,這種模型更适合多數開發者的習慣。UDP面臨最大的就是下行尋址的問題,但在區域網路本地通信非常适用,同時在IPv6時代也會迎來一些新的思考。另外 COAP over TCP也是非常值得看好的。

HTTP/2

HTTP/2的多流特性,天生就是為複雜場景而設計的,資料報與雙向流能力的支援,極大的擴充了應用場景,多流的特性也可以為其他協定提供良好的封裝能力,可謂是有潛力的的全能通道,在大資料場景以及流資料場景得心應手。

AMQP協定

AMQP适合吞吐量極大的雲雲消息流轉場景,多信道支援,同時具備良好的開源生态,也是被廣泛用于在建構雲雲,雲邊(邊緣端)場景。

其他協定

還有大量傳統的協定,例如J1939, Modbus,OPC等等,不同的接入方式,不同的網絡鍊路,不同的連接配接協定,建構了前所未有的繁榮與複雜。

連接配接不止于此,也留給我們更多的思考:

  1. TCP長連保活模式可以被颠覆嗎?
  2.  SDN在IoT時代可以重新被定義嗎?
  3. 下一代網絡會是什麼樣的?

技術鍊路長

一個經典的IoT閉環應用不僅僅涉及傳感器,晶片,模組,OS,主要程式,網絡以及連接配接協定等等,還有雲平台的資料模組化與結構化,存儲,加工,分析到應用

物聯網平台的技術挑戰

鍊路長的挑戰在于一是不容易看到全貌,二是不容易把控各點。

鍊路長更大考驗的是分工,協作以及整合,這種分工不僅僅是公司内的分工,更多是合作夥伴的分工,行業的分工,生态的協作。

loT時代的全面來臨,正是各種技術積累的必然結果。

從技術視角,從單點看,每個技術鍊路上的點也充滿着巨大的挑戰。例如

  • 傳感器-如何提開精度,降低成本,帶來持绠的硬體技術紅利...
  • 晶片組-如何持續提升性能,不斷提開工藝,研發新協處理器...
  • OS-如何在碎片化的格局下做好通用性,良好的可移植性,還有確定資源占用足夠小...
  • 網絡-如何滿足低功耗,傳輸距離,傳輸性能,穩定性...
  • 從全局上看,也充滿着挑戰。例如
  • 穩定性一随着路的增長,全局的穩定性
    物聯網平台的技術挑戰
    會持續下降,確定全鍊路的可靠性就值得深入的思考與踐行

終端碎片化

移動網際網路時代早期,大家一定對手機不同系統的适配的繁雜記憶猶新,在應用層,你可能會面臨奇奇怪怪的相容問題,當你接觸到 native或者framework/層,有些适配的問題更是讓你疲意不堪

物聯網平台的技術挑戰

對于IoT,現在的終端不僅僅是手機,還有冰箱,彩電,空調,汽車,水表,吊車...,

面臨的不僅僅是 Android,iOS,有 Linux,RAM, FreeRTOS,uCOS,Mbed,QNX等等,還有大量沒有OS的:)

你會面臨接入的終端可能TCP的協定棧存在各種bug,你可能會面臨永遠也無法更新而且死循環在連接配接你的裝置,你可能會面臨DNS永久被緩存的場景....

海量連接配接

今天IM連接配接了人,達到了數十億的規模,但實際的線上長連接配接數會少很多,對于支援這樣的連接配接規模,已經很了不起,我們的支付寶也一樣。

但不久後的IoT連接配接的是數百數千億裝置,會是十億百億線上規模,這裡面面臨的挑戰更是巨大,這樣的規模也是IT工程史上前所未有的,充滿了未知。

物聯網平台的技術挑戰

例如網絡抖動,時鐘溢出,或者是一批裝置的故障,都是巨大的共振,會對平台以及基礎設施産生極大的沖擊,如何防護以及快速的恢複?

海量連接配接不僅僅關乎穩定,例如如何有效的就近接入,讓資訊通過最短的路徑投遞,提升效率以及節省成本?

保障海量連接配接的穩定,安全,高性能,低成本,每一個都是很大的話題。

巨量資料

移動網際網路時代今天大量的資料來源于C端場景,資料已經可謂是海量。對于正常以人為核心的應用,日活比例也不會太高。

但物聯網裝置的特征與人還是有還大差異,以典型的生活場景為例,如果是1億裝置,線上大于可能在3千萬,關鍵是這些裝置還不時的會上報資料,對于平台幾乎時時都在秒殺,産生着巨量的資料。

如果是10億裝置呢,如果是100億裝置呢?100億的裝置并不遙遠。

如此大量的loT資料會迫切的引發對資料品質的思考,資料的資訊密度的思考。怎樣治理資料品質?資料怎樣分級存儲?資料如何更高效的清洗與萃取?

在我們都在讨論大資料的時候,舉個有趣的例子。當你到IoT工業場景中,你會發現有很多都是個性化的裝置,這些裝置會産生不少資料,但是還算不上大資料,我們大資料的分析平台與技術在解決個體裝置的資料分析時,就是殺雞用了牛刀,成本的問題又突顯出來。是以又可能引入小資料的重新思考。

還有,以聚合計算為主體的分析引擎,在面對CEP( Complex Event Processing)場景的計算時,又往往不那麼有效。

面對IoT場景,資料分析,存儲需求都面臨了一些變革,其根源來自于場景的多樣型。

雲端一體

各種迹象都在表明未來去中心的趨勢。孫正義2017年在一次演講中提及,末來鞋子的一塊晶片的計算力會超越人腦,那真正是無處不在的計算。

當計算觸手可得的時候,就不再需要用時間換計算力,随時随地計算,而且更加的自治。

這說的有點大,從小的角度來說,在很多特定的場景,例如工廠數字化采用雲端集中式會存在可靠(例如斷網風險,成本(例如帶寬成本),性能(例如需要更快響應),安全(例如不希望資料被擴散)的需求,這種場景最佳的方案就是邊緣計算。

物聯網平台的技術挑戰

但今天的邊緣計算不同與以前的本地或單機系統,是大網絡中的小網絡,是大協作中的小自治。

今天的邊緣計算的核心是雲端一體的協同,雲端提供了更強的控制力與計算力,邊緣端提供更實時的執行力。

在技術的架構上,雲與端也越來越趨于相似,是以,雲端的一體一是指工作的協同,另一方面也是架構的趨同。

邊緣計算是雲計算能力的延展,會覆未來的技術格局,也會對網際網路的中間件帶來新的創新機遇。例如,如果把邊緣看作一個單元,那也會是無處不在的單元化。例如,未來也會出現異構網絡下的通訊中間件等等。

那個時代,可能會重新定義分布式!

數字世界模組化

我們在說實體化數字世界,loT的核心使命是把實體世界投影到數字世界,建立實體世界與數字時間的雙向同步機制。如何在數字世界描述實體世界呢?這就是我們物的模組化,這種模組化充滿着遐想。

通過對實體世界的數字化,我們就可以在數字世界重新認識實體世界,甚至可以四維導航,或是展現現在,或是導航到曆史的截面,或是預測到模糊的未來。

物聯網平台的技術挑戰

如果模組化的太通用,類似資料庫的ER( EntityRelationship)模型,或者程式設計語言的OO( Object Oriented)模型,仿佛又回到過去,模組化太定制,又難以有足夠的表達力。

從OCF,OMA,W3C到我們發起的ICA,都在制定相應的物模型,如何讓模型成為落地标準,成為建構數字世界的基石,成為數字世界被此感覺以及互操作的基礎,也是一件不容易的事情。

如何恰如其分的在數字世界去表達物聯世界,然後驅動數字世界,改變實體世界,帶給我們無盡的想象以及變革的機會。

部暑多樣性

回到最現實的地方,IoT的PaaS會面臨各種應用場景,衍生出各種部署場景,例如公有雲,專有雲,混合雲,邊緣雲,網關等等,未來的百億連接配接一定不會隻在數個叢集,面對如何繁多的環境,如何做到快速部署,便捷的運維,也是留給我們要去克服的課題。

對于部署,

先看架構問題,平台需要良好的伸縮性以及子產品化,例如需要有雲原生應用的特性。

再看依賴問題,依賴的各種中間件就很難帶到各個環節中,我們需要SAL( Service Abstract Layer),需要具有不挑環境的中間件,需要保持系統的最小依賴...

再看釋出問題,環境如何快速部署,如何確定及時更新,如何讓叢集快速複制?

再看運維問題,在異構的形态上建構統一的運維體系,還有衆多細節問題需要去解決。

安全問題

引用 Thoughtworks 2018年技術雷達報告中對IoT的描述:物聯網(IoT)生态系統持續穩步發展,關鍵成功因素包括安全和成熟的工程實踐。

安全對于物聯網至關重要,也是很多業務初期容易忽略的。在過往的幾年,業内物聯網的安全事故也是層出不窮。物聯網賦予了裝置以及業務更大的空間,同樣不如果不守護好安全這扇門,帯來的災難也是緻命的,不僅僅是财務損失,甚至涉及到人身安全。

舉些具體安全的例子:

  • 如何防範裝置身份可能被盜取或者被破解?
  • 如何防範固件可能被截獲,甚至是纂改?
  • 如何防範裝置中間人攻擊?
  • 如何防範雲平台的DDOS攻擊或進一步的CC攻擊?
  • 如何防範裝置的越權通路?
  • 如何防範裝置資料被截取,被簒改?
  • 如何防護裝置不會被非授權控制?
  • 如何防範平台資料不洩漏?
  • 如何包含個人資訊安全?
  • 如何保障漏洞被及時修複?
  • 如何保障資料中心被非法闖入?

物聯網的鍊路長,碎片化嚴重,合作方多,安全危害大,這些特點讓安全問題變得特别的突出。

保障安全也是一項體系化的工作,不僅僅是技術層面的,還包括相關制度以及人員管理。

在技術層面,既有端的安全,網絡安全,也有雲平台的安全,除了系統本身的安全,也有業務層面的安全。相對其他系統,物聯網有很多新的安全挑戰。例如終端的身份發放以及儲存,固件的保護,異構網絡下傳輸安全,雙向鑒權,傳輸加密套件的精細化選擇問題,采集的資訊脫敏處理等

結語

總結一下loT平台面臨的工程技術挑戰,也是我們正遇到的,以及正在努力解決的。實作一個平台的基本功能其實看似不難,但是真正保障高可用,高性能,高安全以及可伸縮性其突挑戰是巨大的。

本文作者:問途

繼續閱讀