何小慶譯
云計(jì)算,為什么人們使用這樣奇怪的詞匯來描述在線服務(wù)呢?早在20世紀(jì)90年代初,工程師們就開始使用云作為互聯(lián)網(wǎng)的教科書內(nèi)容和圖表的隱喻,互聯(lián)網(wǎng)的結(jié)構(gòu)從遠(yuǎn)處看——非常像云。后來,云計(jì)算作為一種方法來表示基于互聯(lián)網(wǎng)的服務(wù)。從實(shí)施角度看,云計(jì)算是一組網(wǎng)絡(luò)計(jì)算機(jī),它將嵌入式系統(tǒng)的處理和存儲(chǔ)任務(wù)轉(zhuǎn)移到網(wǎng)絡(luò)計(jì)算機(jī)上運(yùn)行。這種想法看似很簡(jiǎn)單,但其背后隱藏的
技術(shù)則非常復(fù)雜。
許多公司為了簡(jiǎn)化云計(jì)算在構(gòu)建和使用上的復(fù)雜性,紛紛推出各種產(chǎn)品和服務(wù)。比如蘋果公司iCloud、谷歌云計(jì)算平臺(tái)和微軟的One drive,但是這些產(chǎn)品和技術(shù)都是針對(duì)個(gè)人電腦用戶而設(shè)計(jì)的。嵌入式開發(fā)者也需要類似的、針對(duì)物聯(lián)網(wǎng)的云計(jì)算技術(shù)和產(chǎn)品。
[譯者注]云計(jì)算有三種方式,分別是SaaS(軟件即服務(wù))、PaaS(平臺(tái)即服務(wù))和IaaS(基礎(chǔ)設(shè)施即服務(wù))。谷歌云計(jì)算平臺(tái)包括Google Apps(SaaS)和Google App Engine(PaaS),微軟除了云存儲(chǔ)的One drive外,還有 Windows Azure(PaaS)。
工業(yè)界分析人士指出,到了2020年物聯(lián)網(wǎng)設(shè)備的數(shù)量將達(dá)到數(shù)十億,如圖1所示。
這些設(shè)備將產(chǎn)生海量的數(shù)據(jù),有以下方法可以管理和處理這些數(shù)據(jù)。
◆一部分公司有能力開發(fā)(還可能銷售)他們私有的
解決方案。
圖1 聯(lián)網(wǎng)設(shè)備的總數(shù)
◆一部分公司不具備布置完整的基礎(chǔ)設(shè)施的能力,他們更愿意選擇第三方的解決方案,這些方案可能是公用的,也可能是商用的(托管方式)。
任何公司如果想運(yùn)行后臺(tái)服務(wù),那么就必須將其視為這是公司的核心競(jìng)爭(zhēng)力,模棱兩可的做法完全行不通。但并不是所有公司都具備這樣的DNA,既可以保證服務(wù)器和網(wǎng)絡(luò)無故障地運(yùn)行,又具備UPS(不間斷電源)和冗余的計(jì)算機(jī)硬件系統(tǒng)。物聯(lián)網(wǎng)的生態(tài)環(huán)境如圖2所示。
圖2 物聯(lián)網(wǎng)的生態(tài)環(huán)境
物聯(lián)網(wǎng)設(shè)備的大軍將產(chǎn)生比任何獨(dú)立的Web應(yīng)用多得多的數(shù)據(jù),據(jù)估計(jì),到2020年地球上每個(gè)人將有5 200 GB的數(shù)據(jù)。屆時(shí),要支撐數(shù)十億的聯(lián)網(wǎng)設(shè)備,人們需要每天布置大約340個(gè)應(yīng)用服務(wù)器(也就是說每年120 000個(gè)服務(wù)器)。云計(jì)算是滿足這樣巨大需求的十分合適的方案。
人們最近一直在談?wù)撨@樣的話題:每一家公司都將成為一家軟件公司。為什么會(huì)這樣呢?因?yàn)楣芾砟愕漠a(chǎn)品和系統(tǒng)產(chǎn)生的數(shù)據(jù)將會(huì)比產(chǎn)品本身更加有價(jià)值。你設(shè)計(jì)和制造一個(gè)物聯(lián)網(wǎng)設(shè)備,如果需要后臺(tái)服務(wù),則會(huì)考慮選擇自己開發(fā)或者外包出去,多數(shù)公司會(huì)選擇外包。比如你是一家溫控器的制造商,IT能力不是你的核心競(jìng)爭(zhēng)力,最好是借助外力,像英特爾、Oracle、SalesForce和谷歌這些大公司已經(jīng)早早涉足了云計(jì)算領(lǐng)域。
如果希望構(gòu)建自己的后臺(tái)服務(wù),則會(huì)面臨一些技術(shù)方案的選擇,建議閱讀《第3篇:互聯(lián)網(wǎng)與物聯(lián)網(wǎng)協(xié)議》。你必須確定你的客戶是如何訪問和處理他們的數(shù)據(jù)的,是完全通過Web瀏覽器,還是提供智能手機(jī)App應(yīng)用程序(IOS,Android和Windows)。
后臺(tái)服務(wù)另外一個(gè)重要的特性是要支持物聯(lián)網(wǎng)設(shè)備的遠(yuǎn)程安全升級(jí)能力。物聯(lián)網(wǎng)是一個(gè)快速發(fā)展的領(lǐng)域,很難做到設(shè)計(jì)與未來的發(fā)展完全吻合,這意味著你的設(shè)備一定要升級(jí)。這樣的設(shè)備就需要更多的Flash存儲(chǔ)器、RAM、Bootloader(引導(dǎo)程序)以及設(shè)備安全的升級(jí)固件和應(yīng)用所需的其他部件。
如果選擇外包你的后臺(tái)服務(wù),同樣的問題也需要你的回答。但是在這種情況下,首先需要考察的是該后臺(tái)服務(wù)是否支持所期望的協(xié)議。你當(dāng)然不希望后臺(tái)供應(yīng)商把握對(duì)你的物聯(lián)網(wǎng)設(shè)備協(xié)議的控制權(quán),而且你還需要了解到該供應(yīng)商是否支持移動(dòng)的數(shù)據(jù)應(yīng)用,或者至少提供足夠的工具讓你可以自己開發(fā)移動(dòng)應(yīng)用。
以下清單是后臺(tái)供應(yīng)商應(yīng)該具備的基本能力:
◆幫助客戶選擇通信硬件和軟件的設(shè)計(jì)服務(wù)能力。
◆ 支持云計(jì)算協(xié)議(Websocket、RESTful、MQTT和Co AP等)。
◆支持安全的遠(yuǎn)程固件升級(jí)。
◆Web/移動(dòng)應(yīng)用開發(fā)(顧問服務(wù))的能力。
◆靈活的價(jià)格策略。
—按照每臺(tái)設(shè)備收費(fèi)。
—按照每一個(gè)交易(transaction)收費(fèi)。
—按照每一種數(shù)據(jù)類型收費(fèi)。
—按照所使用的帶寬收費(fèi)。
—按照所使用的存儲(chǔ)量收費(fèi)。
—按月或者年訂閱時(shí)間收費(fèi)。
看看公司們提供的方式吧!可以在他們的網(wǎng)站上注冊(cè)一個(gè)免費(fèi)賬號(hào)來測(cè)試你的應(yīng)用,然后再投入商業(yè)運(yùn)營(yíng)。有些服務(wù)商還可以提供外部的公共數(shù)據(jù)幫助你開發(fā)更有價(jià)值的應(yīng)用,比如支持你訪問天氣數(shù)據(jù),以及價(jià)格工具,這些對(duì)于構(gòu)建一個(gè)智慧的能源系統(tǒng)很有幫助。
目前,多數(shù)的后臺(tái)基于REST或者RESTful API,以及各種Java技術(shù)。這樣的方案對(duì)于那些需要移動(dòng)大量有效負(fù)荷數(shù)據(jù)的應(yīng)用也許很適合。
當(dāng)你需要使用自己的數(shù)據(jù)時(shí),這些信息是存儲(chǔ)在外面公共系統(tǒng)或者商業(yè)授權(quán)系統(tǒng)之中的,那么大數(shù)據(jù)(數(shù)據(jù)分析)就進(jìn)入了人們的視野。弗吉尼亞·羅曼提(Virginia Rometty)在經(jīng)濟(jì)學(xué)家雜志寫了下面這段關(guān)于系統(tǒng)處理大數(shù)據(jù)的文字:
“我們的世界已經(jīng)變得到處都是儀器而且互聯(lián),計(jì)算已經(jīng)嵌入到物體,沒有人認(rèn)為這些物體是計(jì)算機(jī)。在這個(gè)星球上有超過萬億個(gè)互聯(lián)智能物體和生物,全世界大約有27億網(wǎng)民,感謝移動(dòng)技術(shù)的迅猛發(fā)展,網(wǎng)民的數(shù)量在世界的各個(gè)角落都在快速增加?!?/p>
“這樣的結(jié)果讓我們的地球充滿了信息,也就是我們稱為大數(shù)據(jù)的最好的理由。”
“為大數(shù)據(jù)構(gòu)建的新一代的認(rèn)知系統(tǒng)可以趕上洪水的流動(dòng),因?yàn)樗皇潜痪幊痰?,它通過自己的經(jīng)驗(yàn)和與人們的交流進(jìn)行學(xué)習(xí)。認(rèn)知系統(tǒng)可以審查結(jié)構(gòu)信息,比如數(shù)據(jù)庫(kù),也可以審查非結(jié)構(gòu)信息,比如醫(yī)療影像和社交媒體的內(nèi)容。感謝云計(jì)算,這樣的認(rèn)知系統(tǒng)運(yùn)行得非常快?!?/p>
這些意味著嵌入式系統(tǒng)社區(qū)需要學(xué)習(xí)分布式數(shù)據(jù)庫(kù)管理系統(tǒng),比如Apache Cassendra,還要學(xué)習(xí)Apache Hadoop,它可以對(duì)所有數(shù)據(jù)進(jìn)行分析。Cassendra是一個(gè)開源的分布式的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)的設(shè)計(jì)是用來在商業(yè)服務(wù)器上存儲(chǔ)和管理大規(guī)模數(shù)據(jù)。
當(dāng)然也有商業(yè)解決方案,比如GE Predix,它是工業(yè)互聯(lián)網(wǎng)的軟件平臺(tái),該平臺(tái)提供一種連接設(shè)備和數(shù)據(jù)的標(biāo)準(zhǔn)方式,支持工業(yè)規(guī)模的數(shù)據(jù)分析。
仍然有一些關(guān)于數(shù)十億互聯(lián)設(shè)備如何互動(dòng)這樣懸而未決的問題等待我們的答案:
◆數(shù)據(jù)表示的模型是什么?
◆使用哪種網(wǎng)絡(luò)發(fā)現(xiàn)協(xié)議?無論哪種類型的網(wǎng)絡(luò),都需要類似Bonjour這樣的發(fā)現(xiàn)協(xié)議。
這數(shù)十億的聯(lián)網(wǎng)設(shè)備所產(chǎn)生的數(shù)據(jù)一定要送到互聯(lián)網(wǎng)上,由我們稱為大數(shù)據(jù)的技術(shù)來存儲(chǔ)和處理,這是人們已經(jīng)公認(rèn)的途徑。