云中使用可移植性應用程序需要克服的困難
當應用程序的可移植性問題出現時,企業和云計算供應商的利益就會發生沖突。企業組織想要在企業內部IT,私有云和平臺即服務(PaaS)和軟件即服務(SaaS)的公共云的前提下無縫地運行他們的應用程序。可移植性應用程序使用戶能靈活地做到這一點—并移動到不同的供應商—但供應商并不急于發送業務給他們的競爭對手,位于圣安東尼奧市的Denim集團主席Dan Cornell說。
這些實現應用程序的可移植性的沖突需求和技術挑戰,使今天的云使用情況充滿挑戰。
在理想的情況下,一個組織將能夠從任何設備發送并接收應用程序和數據到任何云計算平臺。然而,時至今日,唯一可以保證的使用應用程序運行在兩個不同的云上——如果兩個不同的云都運行相同的軟件,巴黎凱捷全球基礎設施服務全球總監Mark Skilton說。
如果沒有簡單的應用程序可移植性,廠商鎖定是難以避免的,專家說。“如果IT不喜歡云供應商通過他的服務等級協議所提供的服務,那么他將要轉移到另一個云提供商上去,Bill Claybrook說。Bill Claybrook是美國馬薩諸塞州康科德的New River Marketing Research公司的總裁兼分析師。今天,從臨時應用程序中遷移,通常只需要通過一秒鐘的時間,“舉個例子,從Amazon EC2轉移應用程序或者數據到Terremark或Rackspace就不容易”Claybrook說。
企業遷移到云平臺上即使運行和前一個供應商相同的軟件,軟件中的任何變化都會導致性能問題。提供應用程序的可移植性,不僅僅是應用程序本身的可移植性,Claybrook說。來源云和目標云很可能有很大的不同:不同的管理程序,支持不同的操作系統,不同的安全性,存儲和網絡模型和支持不同的數據庫系統等。同時,工作在來源云的管理工具,可能無法在目標云端工作等等。
從技術角度來看,云中可移植性應用程序的最大障礙是缺乏標準化的云API,來用于供應商或云服務供應商開發自己以技術為基礎的產品。如今,Skilton說,應用程序的可移植性思考,是從可移植性轉移到API公開上。API互操作性使用戶能夠使用通用的開放式API在不同的云端使用應用程序。
一個API的定義可能不是完全透明的,這會導致許多問題。有時候,一個看似開放的API標準,其實并不是,因為它被包裹在一個特定的平臺上,Skilton說。這消除了周圍使用該API的靈活性。
其他兩個可移植性問題是難以移植的數據庫模式和訪問與管理存儲在云端數據的客戶權益不確定性。“即使你可以訪問你的數據,你不一定能把它加入到另外一個系統上,因為應用程序的數據模式不一定兼容,”Cornell說。
Skilton說,在如SQL的關系數據庫中的文件格式是不容易移植的,因為當數據被分割在多個數據庫時,數據庫中的關系必須保持一致。今天,結構化數據庫的可移植性仍然很困難。其中一個答案是使用NoSQL或非結構化數據作為數據封裝和存儲的首選標準。
數據訪問問題是服務相關的數據生命周期管理的一個方面。其中的例子包括移植數據的權限和刪除存儲在云中的數據的權限,Skilton說。
專家表示,關于數據訪問,企業在合同談判中必須立場堅硬。全面披露是否允許第三方訪問你的數據,Claybrook說。例如,云服務供應商能否被迫提供數據訪問給第三方,比如警察?你是否控制數據的物理位置?#p#
初期的可移植性應用程序標準
一些產業組織,如OASIS,Open Group及OpenStack項目—都是工作在云可移植性和互操作性規范領域最活躍的組織。只有Open Stack在2012年之前由Rackspace公司拉開序幕—并且Claybrook期望它長期產生最好的結果。專家說,“然而,今天的一切都是不成熟的,而且云供應商的支持前途未卜。”
大多數云服務供應商將支持創建的云計算標準,但這種支持的很大一部分將是空口的應酬話,Cornell說。他們不會嚴格堅持標準,因為他們要把他們的產品和競爭對的手區分開來。他說:“所有的廠商都希望把客戶鎖定于自己的產品,”他說。通常情況下,除非需求是巨大的,不然供應商是不會圍繞標準蹦跳的,因為它是TCP / IP協議。
與此同時云可移植性的提示
雖然標準正在制定中,企業承擔促進整個云平臺應用程序的可移植性的負擔。專家提供了以下最佳實踐:
“請確保應用程序及其支持的組件,如數據庫和工具,不依賴于操作系統和底層的云基礎設施,”Claybrook建議。
Cornell說,協商訪問數據和其他設施。一旦合同簽訂并且數據移動到供應商系統,談判的杠桿作用就被限定了。
查找一個能夠支持的應用程序管理平臺—如今差不多是可能的了—在一些云計算環境中,Claybrook說。這只會是有價值的,然而,如果云提供商支持該特定的管理平臺。
了解的技術設施,比如應用程序接口(API),提供對你的云服務商存儲的數據進行訪問,Cornell說。
在組織的最高級別保持數據托管在云端的決策,而不是讓員工獲得基于云的系統而沒有足夠的審查。
在最后的分析中,如果沒有一個精明的內部應用程序支持團隊和一個服從的云服務供應商,應用程序可移植性在今天很難實現。考慮到替代品和鎖定在組織的互操作性和自由的重要性,專家說。如果組織的可移植性應用程序的需求不能得到滿足,接受,那么就不能簡單的把應用程序和數據遷移到云端上去。