物(wù)聯網應用和事件驅動計算重塑雲服務

發布日期:2017-07-14首頁 > IT資(zī)訊

如今,一(yī)些全球主要的公共雲提供商(shāng)已經爲物(wù)聯網和事件驅動計算推出了新的服務。了解這些服務對企業的IT團隊和未來的雲計算将有一(yī)些重要的意義。

 

工(gōng)具總是以其用途塑造的。當雲計算首次出現時,它是數據中(zhōng)心托管虛拟化的一(yī)種形式,其目标是看起來像裸機服務器。

 

基礎架構即服務(IaaS)形成了最早的雲服務,它仍然主導公共雲以及私有雲軟件市場。即使如此,這并不意味着它将成爲未來雲機會的源泉。

 

雲計算提供商(shāng)一(yī)直在爲未來做好準備,他們的計劃顯示了一(yī)個重要的,已經在進行中(zhōng)的轉變。每個主要的公共雲提供商(shāng)都添加了處理事件的服務。特别是,提供商(shāng)正在添加功能來幫助開(kāi)發人員(yuán)構建物(wù)聯網(IoT)的應用程序。這些可以成爲自互聯網以來最具變革性應用的基礎嗎(ma)?

 

IaaS将不适用于物(wù)聯網應用程序

 

傳統應用程序遵循幾十年的模式:工(gōng)作來自于支持它的應用程序。在傳統的雲計算中(zhōng),用戶支付他們使用的處理資(zī)源。這些術語雖然有所不同,但它本質上是虛拟基礎設施的租賃。這是數據中(zhōng)心發生(shēng)的直接反映,服務器域中(zhōng)加載了應用程序,事務将路由到池中(zhōng)的正确服務器。這種方法在工(gōng)作持續存在時是良好的,如在零售銀行應用程序持續運行的情況下(xià)。

 

事件驅動和物(wù)聯網應用程序改變了這個關鍵的持久性概念。随時随地都可以彈出一(yī)個活動。将IaaS實例用于等待事件浪費(fèi),也許是過于浪費(fèi)。或者實例可能位于事件發生(shēng)所在的數據中(zhōng)心中(zhōng)。如果所有可能的事件來源與傳統的雲端主機點相匹配,大(dà)多數情況下(xià)大(dà)部分(fēn)時間都會閑置,但會增加成本。

 

爲什麽有一(yī)個特定的對錯處理事件的原因很簡單:延遲。大(dà)多數事件具有特定的響應時間期望。想象一(yī)下(xià)當物(wù)品通過傳感器時觸發噴漆的機器,或是一(yī)輛接近不斷變化的交通信号燈的自動駕駛汽車(chē)。

 

20170710093336616.jpg

 

事件與接收适當響應之間的信息流稱爲控制循環。大(dà)多數事件需要一(yī)個簡短的控制循環,這意味着它們的進程需要靠近事件的點。這就是控制循環的問題,這些控制循環強制事件處理過程分(fēn)散到雲端,并且數量增加。

 

很容易看出,給定點的事件稀缺性會如何影響傳統雲計算的雲效率和定價問題。也可能有太多的事件。雲計算可以通過根據需要運行應用程序組件的多個副本來允許雲爆發或擴展容量,但這并不容易。

 

重新思考物(wù)聯網應用程序和開(kāi)放(fàng)式可插拔規範(OPS)

 

編寫爲在裸機服務器上運行的很少應用程序可以無縫地縮放(fàng)或替換失敗的實例。這些雲功能在傳統應用程序運行的數據中(zhōng)心中(zhōng)并不常見。将應用程序移動到雲中(zhōng)也不會增加擴展應用程序所需的功能。

 

應用程序組件的多個副本需要負載平衡,并且許多應用程序沒有設計爲允許組件的任何副本處理任何事件或請求。如果在一(yī)個應用程序的一(yī)個副本中(zhōng),一(yī)半的字符串轉到應用程序的一(yī)個副本,而另一(yī)半用于另一(yī)個應用程序,那麽在背景中(zhōng)假設一(yī)系列請求的應用程序不能工(gōng)作。那麽如何使物(wù)聯網應用程序可擴展性和彈性?他們必須重寫。

 

開(kāi)發人員(yuán)正在做這些事情,大(dà)型雲提供商(shāng)正在響應。特别是,他們都看到與雲計算的相同的物(wù)聯網和事件未來。他們一(yī)直在不斷增強雲計算,爲未來作好準備。雲計算巨頭不僅提供特殊的Web服務來管理物(wù)聯網設備和連接,而且現在提供了工(gōng)具來支持物(wù)聯網應用程序所需的編程。

 

函數式或lambda式編程不允許應用程序或組件在使用之間存儲數據。因此,組件的所有實例都可以處理事件。雲供應商(shāng)現在提供的功能或微服支持而不是簡單地提供基礎設施、平台或軟件即服務,因爲函數雲是非常不同的。

 

用戶的函數在函數雲中(zhōng)托管在哪裏?無處不在。函數在任何需要的地方被激活,在需要時,用戶在使用它們時支付。物(wù)聯網或任何類型的事件驅動計算的函數雲代表着極緻的靈活性和敏捷性。他們還要求用戶注意制定關于托管他們願意支付多少函數的政策,根據成本和這些麻煩的控制回路長度的組合,他們必須做出決定。

 

函數雲的興起

 

亞馬遜甚至允許物(wù)聯網将要求在雲端遷移的雲應用程序。他們的Amazon Web Services(AWS)Greengrass平台是一(yī)個軟件和中(zhōng)間件框架,可讓用戶在自己的硬件上執行AWS兼容功能。此功能将使物(wù)聯用戶對事件進行一(yī)些本地處理,以使這些控制回路保持短路,但仍然在AWS雲中(zhōng)托管更深層次,更少的時間關鍵函數。

 

傳統的雲模型使用戶爲其托管實例支付費(fèi)用。在函數雲中(zhōng),用戶不會以通常的方式托管實例。用戶可以根據需要即時執行功能。這是什麽導緻了即時即付或無服務器的功能雲描述,但這不足爲奇。用戶可以根據使用情況爲任何雲計算服務,運行任何應用程序進行定價,但這并不能使雲服務可擴展或輕松優化。沒有這些功能,無服務器隻是一(yī)個定價策略。

 

開(kāi)發人員(yuán)必須對應用程序進行更改以适應物(wù)聯網和功能雲。幾乎每個新的程序或服務都存儲信息,這使得它難以擴展。功能編程的規則是無狀态的,這意味着用戶從進程獲取的輸出僅基于其提供的輸入。甚至有編程語言旨在強化對開(kāi)發人員(yuán)的無狀态行爲。

 

需求的函數

 

亞馬遜網絡服務公司的Lambda是第一(yī)個上市基于事件的計算服務,而其他幾家雲計算服務提供商(shāng)也很快地對外(wài)推出類似的服務。微軟Azure功能去(qù)年11月份推出,IBM的Apache Open Whisk在下(xià)個月推出。谷歌公司于4月份将Cloud Functions服務轉爲測試版,Pivotal預計将于2017年中(zhōng)期開(kāi)設業務的Spring Cloud功能。

 

函數雲的概念可能會加速已經開(kāi)始的趨勢,以應對移動設備的使用和BYOD策略的實施。企業發現,他們正在創建旨在爲移動設備格式化信息的應用程序組件,爲各種移動平台編寫的進行接口應用程序,并提供通常在數據中(zhōng)心運行的後端應用程序的一(yī)緻支持。

 

這些力量結合起來創建一(yī)個應用程序的兩層模型。設備處理前端在雲端,并利用雲計算在全球範圍内分(fēn)發應用程序的能力。然後,雲計算部分(fēn)将爲核心業務應用程序創建傳統交易,無論它們位于何處。

 

物(wù)聯網比移動工(gōng)作人員(yuán)分(fēn)布得更加分(fēn)散,一(yī)些物(wù)聯網事件需要更短的控制回路。因此,應用程序前端部分(fēn)的雲托管可能會得到爆炸式增長。這給這種兩層應用程序結構的偏離(lí)帶來了壓力,因爲許多事件可能會産生(shēng)許多事務。這些交易可能讓核心業務應用程序崩潰。雲計算提供商(shāng)也在努力。例如,微軟公司具有通常用于爲業務應用程序提供工(gōng)作的服務總線的雲分(fēn)布版本。

 

鑒于物(wù)聯網還處于起步階段,而雲物(wù)聯網更加年輕,很容易想知(zhī)道雲供應商(shāng)爲什麽已經提供物(wù)聯網功能。其中(zhōng)有三個原因:首先,物(wù)聯網可以大(dà)大(dà)增加IT支出,雲計算提供商(shāng)希望将其中(zhōng)一(yī)部分(fēn)作爲潛在的新收入。第二,物(wù)聯網不是唯一(yī)産生(shēng)事件的東西。例如,很多工(gōng)作人員(yuán)的互動看起來像事件處理。最後,功能編程技術正在被推廣到各種處理過程中(zhōng)。物(wù)聯網應用程序需要它們。開(kāi)發人員(yuán)工(gōng)具和會議已經描述了函數編程技術如何使程序更好,更易于維護。

 

如果由于任何原因編寫函數,是不是使用函數雲不可避免?

 

這是每個雲計算提供商(shāng)和雲端用戶需要考慮的最大(dà)問題。完全可擴展的應用程序。可以通過簡單加載另一(yī)個副本來增加或減少負載容量,并修複自身的應用程序,這對企業非常有用。爲物(wù)聯網應用程序開(kāi)發的功能編程技術以及支持這些技術的功能雲将重構程序。

 

工(gōng)具是由他們的用途定義的,那麽用戶在事件處理中(zhōng)已經看到了未來的雲,而物(wù)聯聯将加速這一(yī)趨勢。物(wù)聯網具有在廣泛領域大(dà)量生(shēng)産事件的潛力,同時要求較短的控制環路将徹底改變雲計算的使用。