AWS AppStream是一項(xiàng)新的亞馬遜服務(wù),它可實(shí)現(xiàn)Windows應(yīng)用的云化,可將操作系統(tǒng)擴(kuò)展至各種計(jì)算機(jī)和移動(dòng)設(shè)備。今天,服務(wù)最實(shí)用的用例是將提供簡單的游戲試玩和對高附加值應(yīng)用程序(如CAD和醫(yī)療成像)提供長期支持。對于CAD應(yīng)用程序的情況,AppStream允許工程師在工程現(xiàn)場通過平板電腦進(jìn)行快速更新。而對于醫(yī)療成像應(yīng)用程序,AWS AppStream讓多個(gè)醫(yī)學(xué)專家進(jìn)行遠(yuǎn)程協(xié)作變得更為簡便。
開始實(shí)現(xiàn)客戶端應(yīng)用云化
使用AWS AppStream需要首先考慮的是找出AppStream應(yīng)用程序背后的業(yè)務(wù)模式和收入模式。如今,在美國東部地區(qū)部署這些應(yīng)用程序的成本是83美分/ 小時(shí)。這可能是向游戲玩家提供一個(gè)全新游戲試玩供應(yīng)商的可接受價(jià)格,但是在很多情況下這對于持續(xù)性游戲的運(yùn)營是沒有意義的。當(dāng)然對于高端CAD即服務(wù)產(chǎn)品來說,這可能也是一個(gè)可以接受的成本支出,這個(gè)產(chǎn)品可以讓工程師們在現(xiàn)場使用低端平板電腦進(jìn)行CAD修改。
客戶端應(yīng)用程序在一個(gè)專用AppStream應(yīng)用程序上運(yùn)行,而后者則在每一臺(tái)本地設(shè)備上運(yùn)行。本地應(yīng)用程序?qū)碜杂趤嗰R遜網(wǎng)絡(luò)服務(wù)(AWS)的視頻音頻進(jìn)行解碼,并收集用戶通過鍵盤鼠標(biāo)觸摸屏輸入的信號。用戶可以通過使用AppStream軟件開發(fā)組件來對本地應(yīng)用程序進(jìn)行配置以便于收集諸如GPS信號這樣的附加輸入數(shù)據(jù)。客戶端應(yīng)用程序適用于iOS、Android、Chrome、Windows以及Mac等操作系統(tǒng)。應(yīng)用程序必須支持Windows Server2008或其后的更高版本。如果應(yīng)用程序有其他例如.NET框架這類的支持構(gòu)件,那么就必須包含這些組件作為應(yīng)用程序安裝程序的一部分。
讓低端設(shè)備具有高端性能
桌面虛擬化的概念已經(jīng)存在多年了。在這種傳統(tǒng)的模式下,可通過云計(jì)算方式提供一個(gè)Windows桌面實(shí)例。這種方法能夠更容易地啟動(dòng)和提供一個(gè)具有合適配置與配有應(yīng)用程序集合的完整Windows環(huán)境。AppStream運(yùn)行IT部門所提供單獨(dú)的應(yīng)用程序或集合以實(shí)現(xiàn)更細(xì)化的設(shè)置。它還包括與客戶端、訂閱、身份和存儲(chǔ)的集成功能。
通過對應(yīng)用程序的云計(jì)算化,企業(yè)能夠更好地針對CPU密集型和GPU密集型應(yīng)用程序分配計(jì)算資源。例如,諸如CAD、3D建模以及醫(yī)學(xué)成像這類的應(yīng)用程序就可以把繁重的計(jì)算處理移至云計(jì)算。然后客戶端應(yīng)用程序就可以使用已在平板電腦和手機(jī)上標(biāo)配的視頻解碼芯片來渲染結(jié)果了。從本質(zhì)上來說,任何能夠從附加 CPU、GPU、RAM或存儲(chǔ)需求中獲益的應(yīng)用程序都能夠從AppStream受益。
理解網(wǎng)絡(luò)影響
把Windows應(yīng)用程序遷移至云計(jì)算的一個(gè)重要考慮因素就是延遲性,也就是在用戶操作及其在應(yīng)用程序效果之間的延遲感覺。對于那些諸如能夠容納100毫秒延遲的CAD應(yīng)用來說,這一點(diǎn)并不重要。但是20毫秒的延遲將給游戲體驗(yàn)帶來明顯影響。產(chǎn)生延遲的原因包括:數(shù)據(jù)包發(fā)送至云計(jì)算的物理距離、期間需經(jīng)過路由器的數(shù)量以及競爭互聯(lián)網(wǎng)業(yè)務(wù)的流量。此外,無線網(wǎng)絡(luò)所導(dǎo)致的網(wǎng)絡(luò)斷線也可能加劇延遲問題。
另一個(gè)重要的考慮因素是AppStream需要一個(gè)有效的互聯(lián)網(wǎng)連接。對于那些位于移動(dòng)電話信號發(fā)射塔覆蓋區(qū)以外的移動(dòng)用戶來說,這可能是一個(gè)問題。但是,可以通過區(qū)分本地資源和AppStream之間的托管責(zé)任來更好地處理這一流程。在這些情況下,用戶可以在互聯(lián)網(wǎng)連接斷開時(shí)繼續(xù)工作,當(dāng)然其運(yùn)行性能較差。但是,這些混合型應(yīng)用程序需要針對每一個(gè)支持平臺(tái)都進(jìn)行二次開發(fā)。
對于云計(jì)算應(yīng)用程序,AppStream需要至少3M/秒的帶寬。雖然對于使用有線連接或DSL連接的個(gè)人用戶來說這可能不是一個(gè)大問題,但是當(dāng)數(shù)十人試圖同時(shí)運(yùn)行AppStream應(yīng)用程序時(shí)這就是一個(gè)大問題了。還可以迅速推動(dòng)移動(dòng)工作人員使用他們的無線網(wǎng)絡(luò)數(shù)據(jù)計(jì)劃分配。應(yīng)用程序?qū)⒗^續(xù)以更低速率(下降到553KBps),當(dāng)然其質(zhì)量也較低。
入門步驟
AppStream支持一個(gè)可將Windows應(yīng)用程序安裝程序轉(zhuǎn)換至AppStream實(shí)例的交互式部署向?qū)А3跏嫉膽?yīng)用程序性能可能在這一過程中運(yùn)行緩慢,這是因?yàn)樗蕾囉趥鹘y(tǒng)的Windows遠(yuǎn)程桌面協(xié)議。一旦應(yīng)用程序在云計(jì)算中正常運(yùn)行了,它將使用本地AWS AppStream STX 協(xié)議,這是一個(gè)經(jīng)優(yōu)化以提高應(yīng)用程序?qū)ρ舆t響應(yīng)的協(xié)議。
接下來,通過設(shè)立一個(gè)授權(quán)服務(wù)來對用戶進(jìn)行驗(yàn)證和授權(quán),從而確保AppStream應(yīng)用程序的安全性。要做到這一點(diǎn),可將用戶提交信息與數(shù)據(jù)庫中訂閱信息進(jìn)行比較,使用一個(gè)外部登陸服務(wù)或驗(yàn)證所有客戶端。授權(quán)服務(wù)會(huì)向客戶端發(fā)送一個(gè)URL信息以連接至可用應(yīng)用程序。
當(dāng)客戶端會(huì)話結(jié)束時(shí),AppStream數(shù)據(jù)將丟失。如果需要在AppStream應(yīng)用程序之間實(shí)現(xiàn)數(shù)據(jù)共享,或者在客戶端會(huì)話之間繼續(xù)保留數(shù)據(jù),那么可設(shè)立某種形式的持久性存儲(chǔ)。AppStream控制臺(tái)所提供的功能包括,使用簡單存儲(chǔ)服務(wù)、關(guān)系型數(shù)據(jù)庫服務(wù)或DynamoDB來集成和保留會(huì)話數(shù)據(jù)。
為了跟蹤用戶體驗(yàn)和資源使用率情況,用戶可以捕獲AppStream會(huì)話的日志數(shù)據(jù)。這一信息也可被用于確定應(yīng)用程序運(yùn)行性能的瓶頸所在。