企業須知:應用程序的可移植性
為什么應用程序的可移植性已經成為業界的一個關注重點?
這里至少有兩個原因:
1. 很多已經構建私有云計算或者正在考慮建立私有云計算的IT組織都把混合云計算視為他們云計算的最終發展目標。這就意味著,IT組織需要在他們的私有云計算和一個或多個公共云計算(或者在兩個或多個公共云計算之間)實現應用程序/數據的往復遷移。在云計算之間遷移應用程序并不是一件簡單的事,因為我們需要它們能夠在不同的云計算中提供相同的性能水平并正常運行。提供應用程序的可移植性不同于僅僅讓應用程序本身變得可移植。雖然源云和目標云之間非常相似,但是它們在很多方面也有著很大的區別:不同的管理程序;不同的操作系統支持;不同的安全、存儲和網絡模式;不同的數據庫系統支持;以及不同的管理工具等,通常在源云中能夠正常工作的管理工具往往在目標云中就可能無法正常使用。
2. IT組織不希望受制于單一的云計算或云計算供應商。如果IT部門不喜歡某一云計算供應商通過其SLA提供的服務,那么它就會希望更換另一家云計算供應商而又不用重新經歷一遍之前應用程序遷移所帶來的痛苦。例如,從Amazon EC2把應用程序/數據遷移至Terremark或Rackspace就不是一件容易的工作。
云計算標準的缺失已成為一個廣受關注的問題,因為它能夠在某種程度上減輕(當然并不會是全部)IT部門所面臨的應用程序可移植性問題。
在這些領域中,應用程序可移植性的***障礙是什么?
• 法律 --- 知識產權問題,即存放在云計算中信息的所有權問題(第三方是否被允許訪問你的數據,或者云計算供應商是否能夠被要求為第三方(例如警方)提供對你的數據的訪問)、對數據物理位置的控制、以及法規遵從性都是一些重要的法律方面障礙。
• 技術 --- 從技術角度來看,可移植性的***障礙在于標準化云計算API的缺失,供應商/云計算廠商可以在開發它們基于技術的產品中使用標準化云計算API。
• 專用供應商的競爭態勢 --- 大多數供應商/云計算供應商都支持建立云計算標準。但是他們,尤其是專用供應商們,并不會嚴格遵守標準,因為他們希望他們的產品要與競爭對手的產品有所區別。所有的供應商們都希望鎖定客戶,讓客戶只能使用他們一家的產品。他們對標準的支持可能僅僅停留在表面上,(除非對標準的需求是壓倒性的,例如TCP/IP),而且并不總是按照標準進行開發。
OASIS、Open Group以及其他組織對應用程序可移植性的主動性是如何的?
• OASIS --- OASIS基本上僅處于起步階段。如果你看過2012年一月的倡議者名單,那么你就會發現沒有一家公共云計算供應商名列其上,例如Amazon、Terremark、Rackspace或Savvis。IBM公司是唯一一家名列其中的公共云計算供應商(需要指出的是,IBM同時也是一家私有云計算供應商)。在云計算應用程序可移植性方面有任何實質性進展之前,Hell都不會在這方面有任何的動作。他們只是致力于規范制定。
• Open Group --- 他們只是在2012年年初提出了一個規范。除了我不知道哪些廠商正在致力于規范的制定以外,我對他們的意見與OASIS相同。
• OpenStack項目 --- 在致力于云計算互操作性(基本上其概念與應用程序可移植性相同)的組織中,OpenStack項目可能是最有可能產出有價值東西的一個。他們的目標在于讓私有云計算供應商和公共云計算供應商采用OpenStack云計算技術。這將使得云計算之間的應用程序/數據遷移變得更容易。
企業可以采取哪些簡單的措施以提高他們應用程序遷移至公共云計算的可移植性?
• 確保應用程序及其支持的組件,例如數據庫和工具,不依賴于某一操作系統和一個低層的云計算基礎設施。
• 為你的應用程序找到一個管理平臺,它可以支持應用程序在大量云計算環境中正常運行(但如果云計算供應商沒有使用特定的管理平臺,那么它也是沒有價值的)。
實際上,這兩個建議對你的幫助非常小,因為它們只是解決了應用程序可移植性中很小一部分的問題。