物聯(lián)網(wǎng)應(yīng)用和事件驅(qū)動計算重塑云服務(wù)
2017-07-28 10:52:20 來源:51cto 熱度:
如今,一些全球主要的公共云提供商已經(jīng)為物聯(lián)網(wǎng)和事件驅(qū)動計算推出了新的服務(wù)。了解這些服務(wù)對企業(yè)的IT團隊和未來的云計算將有一些重要的意義。
工具總是以其用途塑造的。當(dāng)云計算首次出現(xiàn)時,它是數(shù)據(jù)中心托管虛擬化的一種形式,其目標(biāo)是看起來像裸機服務(wù)器。
基礎(chǔ)架構(gòu)即服務(wù)(IaaS)形成了最早的云服務(wù),它仍然主導(dǎo)公共云以及私有云軟件市場。即使如此,這并不意味著它將成為未來云機會的源泉。
云計算提供商一直在為未來做好準(zhǔn)備,他們的計劃顯示了一個重要的,已經(jīng)在進行中的轉(zhuǎn)變。每個主要的公共云提供商都添加了處理事件的服務(wù)。特別是,提供商正在添加功能來幫助開發(fā)人員構(gòu)建物聯(lián)網(wǎng)(IoT)的應(yīng)用程序。這些可以成為自互聯(lián)網(wǎng)以來最具變革性應(yīng)用的基礎(chǔ)嗎?
IaaS將不適用于物聯(lián)網(wǎng)應(yīng)用程序
傳統(tǒng)應(yīng)用程序遵循幾十年的模式:工作來自于支持它的應(yīng)用程序。在傳統(tǒng)的云計算中,用戶支付他們使用的處理資源。這些術(shù)語雖然有所不同,但它本質(zhì)上是虛擬基礎(chǔ)設(shè)施的租賃。這是數(shù)據(jù)中心發(fā)生的直接反映,服務(wù)器域中加載了應(yīng)用程序,事務(wù)將路由到池中的正確服務(wù)器。這種方法在工作持續(xù)存在時是良好的,如在零售銀行應(yīng)用程序持續(xù)運行的情況下。
事件驅(qū)動和物聯(lián)網(wǎng)應(yīng)用程序改變了這個關(guān)鍵的持久性概念。隨時隨地都可以彈出一個活動。將IaaS實例用于等待事件浪費,也許是過于浪費?;蛘邔嵗赡芪挥谑录l(fā)生所在的數(shù)據(jù)中心中。如果所有可能的事件來源與傳統(tǒng)的云端主機點相匹配,大多數(shù)情況下大部分時間都會閑置,但會增加成本。
為什么有一個特定的對錯處理事件的原因很簡單:延遲。大多數(shù)事件具有特定的響應(yīng)時間期望。想象一下當(dāng)物品通過傳感器時觸發(fā)噴漆的機器,或是一輛接近不斷變化的交通信號燈的自動駕駛汽車。
事件與接收適當(dāng)響應(yīng)之間的信息流稱為控制循環(huán)。大多數(shù)事件需要一個簡短的控制循環(huán),這意味著它們的進程需要靠近事件的點。這就是控制循環(huán)的問題,這些控制循環(huán)強制事件處理過程分散到云端,并且數(shù)量增加。
很容易看出,給定點的事件稀缺性會如何影響傳統(tǒng)云計算的云效率和定價問題。也可能有太多的事件。云計算可以通過根據(jù)需要運行應(yīng)用程序組件的多個副本來允許云爆發(fā)或擴展容量,但這并不容易。
重新思考物聯(lián)網(wǎng)應(yīng)用程序和開放式可插拔規(guī)范(OPS)
編寫為在裸機服務(wù)器上運行的很少應(yīng)用程序可以無縫地縮放或替換失敗的實例。這些云功能在傳統(tǒng)應(yīng)用程序運行的數(shù)據(jù)中心中并不常見。將應(yīng)用程序移動到云中也不會增加擴展應(yīng)用程序所需的功能。
應(yīng)用程序組件的多個副本需要負(fù)載平衡,并且許多應(yīng)用程序沒有設(shè)計為允許組件的任何副本處理任何事件或請求。如果在一個應(yīng)用程序的一個副本中,一半的字符串轉(zhuǎn)到應(yīng)用程序的一個副本,而另一半用于另一個應(yīng)用程序,那么在背景中假設(shè)一系列請求的應(yīng)用程序不能工作。那么如何使物聯(lián)網(wǎng)應(yīng)用程序可擴展性和彈性?他們必須重寫。
開發(fā)人員正在做這些事情,大型云提供商正在響應(yīng)。特別是,他們都看到與云計算的相同的物聯(lián)網(wǎng)和事件未來。他們一直在不斷增強云計算,為未來作好準(zhǔn)備。云計算巨頭不僅提供特殊的Web服務(wù)來管理物聯(lián)網(wǎng)設(shè)備和連接,而且現(xiàn)在提供了工具來支持物聯(lián)網(wǎng)應(yīng)用程序所需的編程。
函數(shù)式或lambda式編程不允許應(yīng)用程序或組件在使用之間存儲數(shù)據(jù)。因此,組件的所有實例都可以處理事件。云供應(yīng)商現(xiàn)在提供的功能或微服支持而不是簡單地提供基礎(chǔ)設(shè)施、平臺或軟件即服務(wù),因為函數(shù)云是非常不同的。
用戶的函數(shù)在函數(shù)云中托管在哪里?無處不在。函數(shù)在任何需要的地方被激活,在需要時,用戶在使用它們時支付。物聯(lián)網(wǎng)或任何類型的事件驅(qū)動計算的函數(shù)云代表著極致的靈活性和敏捷性。他們還要求用戶注意制定關(guān)于托管他們愿意支付多少函數(shù)的政策,根據(jù)成本和這些麻煩的控制回路長度的組合,他們必須做出決定。
函數(shù)云的興起
亞馬遜甚至允許物聯(lián)網(wǎng)將要求在云端遷移的云應(yīng)用程序。他們的Amazon Web Services(AWS)Greengrass平臺是一個軟件和中間件框架,可讓用戶在自己的硬件上執(zhí)行AWS兼容功能。此功能將使物聯(lián)用戶對事件進行一些本地處理,以使這些控制回路保持短路,但仍然在AWS云中托管更深層次,更少的時間關(guān)鍵函數(shù)。
傳統(tǒng)的云模型使用戶為其托管實例支付費用。在函數(shù)云中,用戶不會以通常的方式托管實例。用戶可以根據(jù)需要即時執(zhí)行功能。這是什么導(dǎo)致了即時即付或無服務(wù)器的功能云描述,但這不足為奇。用戶可以根據(jù)使用情況為任何云計算服務(wù),運行任何應(yīng)用程序進行定價,但這并不能使云服務(wù)可擴展或輕松優(yōu)化。沒有這些功能,無服務(wù)器只是一個定價策略。
開發(fā)人員必須對應(yīng)用程序進行更改以適應(yīng)物聯(lián)網(wǎng)和功能云。幾乎每個新的程序或服務(wù)都存儲信息,這使得它難以擴展。功能編程的規(guī)則是無狀態(tài)的,這意味著用戶從進程獲取的輸出僅基于其提供的輸入。甚至有編程語言旨在強化對開發(fā)人員的無狀態(tài)行為。
需求的函數(shù)
亞馬遜網(wǎng)絡(luò)服務(wù)公司的Lambda是第一個上市基于事件的計算服務(wù),而其他幾家云計算服務(wù)提供商也很快地對外推出類似的服務(wù)。微軟Azure功能去年11月份推出,IBM的Apache Open Whisk在下個月推出。谷歌公司于4月份將Cloud Functions服務(wù)轉(zhuǎn)為測試版,Pivotal預(yù)計將于2017年中期開設(shè)業(yè)務(wù)的Spring Cloud功能。
函數(shù)云的概念可能會加速已經(jīng)開始的趨勢,以應(yīng)對移動設(shè)備的使用和BYOD策略的實施。企業(yè)發(fā)現(xiàn),他們正在創(chuàng)建旨在為移動設(shè)備格式化信息的應(yīng)用程序組件,為各種移動平臺編寫的進行接口應(yīng)用程序,并提供通常在數(shù)據(jù)中心運行的后端應(yīng)用程序的一致支持。
這些力量結(jié)合起來創(chuàng)建一個應(yīng)用程序的兩層模型。設(shè)備處理前端在云端,并利用云計算在全球范圍內(nèi)分發(fā)應(yīng)用程序的能力。然后,云計算部分將為核心業(yè)務(wù)應(yīng)用程序創(chuàng)建傳統(tǒng)交易,無論它們位于何處。
物聯(lián)網(wǎng)比移動工作人員分布得更加分散,一些物聯(lián)網(wǎng)事件需要更短的控制回路。因此,應(yīng)用程序前端部分的云托管可能會得到爆炸式增長。這給這種兩層應(yīng)用程序結(jié)構(gòu)的偏離帶來了壓力,因為許多事件可能會產(chǎn)生許多事務(wù)。這些交易可能讓核心業(yè)務(wù)應(yīng)用程序崩潰。云計算提供商也在努力。例如,微軟公司具有通常用于為業(yè)務(wù)應(yīng)用程序提供工作的服務(wù)總線的云分布版本。
鑒于物聯(lián)網(wǎng)還處于起步階段,而云物聯(lián)網(wǎng)更加年輕,很容易想知道云供應(yīng)商為什么已經(jīng)提供物聯(lián)網(wǎng)功能。其中有三個原因:首先,物聯(lián)網(wǎng)可以大大增加IT支出,云計算提供商希望將其中一部分作為潛在的新收入。第二,物聯(lián)網(wǎng)不是唯一產(chǎn)生事件的東西。例如,很多工作人員的互動看起來像事件處理。最后,功能編程技術(shù)正在被推廣到各種處理過程中。物聯(lián)網(wǎng)應(yīng)用程序需要它們。開發(fā)人員工具和會議已經(jīng)描述了函數(shù)編程技術(shù)如何使程序更好,更易于維護。
如果由于任何原因編寫函數(shù),是不是使用函數(shù)云不可避免?
這是每個云計算提供商和云端用戶需要考慮的最大問題。完全可擴展的應(yīng)用程序。可以通過簡單加載另一個副本來增加或減少負(fù)載容量,并修復(fù)自身的應(yīng)用程序,這對企業(yè)非常有用。為物聯(lián)網(wǎng)應(yīng)用程序開發(fā)的功能編程技術(shù)以及支持這些技術(shù)的功能云將重構(gòu)程序。
工具是由他們的用途定義的,那么用戶在事件處理中已經(jīng)看到了未來的云,而物聯(lián)聯(lián)將加速這一趨勢。物聯(lián)網(wǎng)具有在廣泛領(lǐng)域大量生產(chǎn)事件的潛力,同時要求較短的控制環(huán)路將徹底改變云計算的使用。
責(zé)任編輯:朱虹瑾