美國市場研究公司公佈的最新資料顯示,2014年中國雲計算服務市場規模將達到11億美元,未來將以接近45%的年複合增長率增長。 這其中,超過55%的市場是來自應用軟體即服務市場的貢獻,主要包括各軟體供應商通過雲計算方式線上為中小企業提供的財務、企業管理以及協作等應用軟體。 雲服務第一次把國內IT產業拉到與國際先進國家同時出發的起跑線上。 而國內的傳統軟體廠商,需要跨越成本、技術、市場、人才等重重障礙,以及解決「觸網」雲化後的運營能力匱乏問題,才能切實進入該領域。 雲平臺的出現則為軟體廠商實現雲化提供了可能性。
軟體雲化的技術難點
軟體雲化是一種基於雲計算網路提供軟體服務的應用模式,對於數千萬家中小型企業,雲計算潮流是一場革新也是一場機遇,應用得當極可能在業務上實現新的突破;對於數百萬家中大型企業, 雲計算服務是靈活配置企業資源提高企業運營效率的最好手段。 但傳統軟體在雲化轉型的實現過程中面臨各種挑戰,其中最主要的難點就是多租戶的思維及技術轉變。
傳統軟體的銷售模式決定了軟體的每一個運行實例單獨服務于一個客戶,因此對於性能、可配置性、伸縮性方面的處理策略都是針對單一客戶設計的;而對於雲化後的軟體應用,為了最大化實現規模效應, 一般採用的都是多個租戶共用一個運行實例的架構,即多租戶架構。
軟體雲化不僅是向多租戶思維轉變,同時也是將傳統軟體產品改造成具備可配置性、高性能和可伸縮性的高成熟度的雲端應用的過程。 這個過程從開發成本、複雜性和團隊開發能力來考慮,都不是一件容易的事。
華雲資料軟體雲化平臺關鍵技術
單點登錄
SSO(Single Sign On)即單點登錄,是指使用者只需在華雲資料雲化平臺登錄一次,就可以訪問華雲資料雲化平臺上相互信任的其他應用系統。 華雲資料雲化平臺SSO授權上線後,登陸經此授權的協力廠商雲化應用時,只需要簡單操作即可完成授權,之後就能使用華雲資料雲化平臺帳號和密碼登陸這些應用,而不用重新輸入帳號和密碼。
SSO授權的出現,標誌著華雲資料雲化正逐步構建出完善的傳統應用雲化生態系統。 對於協力廠商軟體廠商或開發者而言,使用SSO授權,會更方便讓新使用者進入,協力廠商也可根據自身需要,基於華雲資料雲化平臺使用者體系API進行二次開發,並與華雲資料雲化平臺之間進行資料共用。
通過單點登錄登錄到一個應用系統的過程操作簡單:在平臺的門戶輸入使用者身份名,然後再輸入口令,登錄系統,首先是認證過程,認證發生在系統驗證登錄的實體(人或程式)是否是與這個使用者身份相關的實體時, 認證通常通過將口令與使用者的ID匹配來實現。 登錄完成後,所有該使用者所屬企業購買的軟體都具成為可見,並且根據該使用者的角色來匹配在各軟體中的使用許可權。
權杖ticket是通過URL的方式傳遞,通過「兩次握手」的方式實現單點登錄(SSO)。 這種方式可以解決跨域等問題,安全性高、穩定性好的特點,具體的驗證方式與流程如下圖:
高可用性自動修復(HA)
華雲資料雲化平臺的分散式存儲上保存應用軟體的範本,方便快速獲取範本。 應用監控服務即時監測應用軟體服務的狀態和可用性,並在客戶應用實例受到損害的時候,利用範本在雲資源池中即時自動復原該應用實例,以達到保證客戶使用應用服務不中斷的能力。
圖示如下:
應用雲化支撐元件
應用雲化需要非常強大易用的模版庫功能。 所謂的模版,就是在平臺上保存一個雲應用的支撐伺服器的模版。 當需要的時候,系統可以調出指定的模版,快速生成一台實例雲應用伺服器投入運營。 這個過程非常快,通常在一小時內。
動態雲計算資源配置
基於分散式的架構對虛擬化資源進行建模,從服務層面和資源層面分別對資源進行描述,並提出面向計算和網路資源即時監測回饋綜合負載均衡調度策略和演算法,能夠有效的對資源進行監控管理,並能以自動化的方式動態擴展雲環境下的資源, 實現動態雲計算資源配置。
根據雲計算資源集群中的負載情況,自動分配調度雲化軟體所使用的計算運能,彈性擴展,自動化的節約了系統資源,加大了靈活性。
基於雲計算的資源服務越來越具有動態性和靈活性,資源的彈性擴展和動態分配遇到了前所未有的挑戰性,我們不能簡單地從成本、資源利用率、權重或時間單一方面來衡量資源配置演算法的優劣,並且要有效解決多個任務對有限資源的競爭。
針對以上問題,華雲資料雲化平臺提出了具有QoS限制的資源配置演算法和資源自動分配調解演算法,有效解決多個任務對有限資源的競爭,從使用者和資源提供者兩個方面來考慮資源的動態分配,在保證使用者任務的多維QoS需求的同時, 尋求使用者滿意度、資源動態分配優化率和資源利用率的綜合效用值的提升。
應用軟體雲化過程闡述
華雲資料軟體雲化平臺在實現傳統軟體向雲化軟體轉型時,分三步進行分步式實施改造。
為了更好地理解傳統軟體「雲化」的三步曲,文中將結合一套傳統管理軟體(下文簡稱A軟體)為實例進行闡述說明。
A軟體在網路互聯基礎上採用了先進的B/S架構,是一套可移植的、物件導向的JAVA語言開發的管理軟體。 該軟體以企業內部作業鏈為主線,以人力資源管理、財務管理、供應鏈管理、審計管理為載體,整合、優化企業資源,構築企業精確化管理的機制與平臺,滿足各級管理層精確化管理的需要,為企業運營決策提供資料支撐。
第一步:採用傳統軟體結合雲計算IaaS的模式進行適配改造
現階段雲計算尚屬新生事物,出於對安全性、保密性等因素的考慮,雖然對雲化軟體的需求很旺盛,但真正願意馬上使用雲化軟體來替代傳統應用的使用者並不多。 在這種情況下,軟體服務提供者需要為每個客戶定制一套軟體,並為其部署在雲端,每個客戶使用一個獨立的資料庫實例和應用伺服器實例。 通過雲計算的IaaS服務,可以將硬體資源的利用最大化,降低硬體及運行維護成本。 考慮到每個客戶都有定制化的需求,軟體的可配置性是這個階段需重點關注的,第一步可以從資料、功能、介面、流程4個方面提供很好的可配置性,來適應不同類型的租戶的實際情況。
A軟體是在三層結構的基礎上設計而成的,三層結構技術將原來兩層結構中用戶端的大量交易處理邏輯或資料庫伺服器上的預存程序放到中介層來實現,從而減輕了用戶端和資料庫伺服器端的負荷,由於採用了階層式結構, 在設計階段就充分考慮到系統的可配置性和可擴充性,所以這套傳統軟體要實現「雲化」的第一步非常容易,除了做計費模式的改變(實現按需付費)外,應用架構上幾乎不需要變化。
第二步:以實現多租戶單實例為目標的應用架構改造
當租戶規模達到一定數量時,要發揮雲模式相對於傳統模式在降低成本方面的最大優勢,必須實現多租戶單實例的應用架構,這才是真正意義上的雲化軟體應用架構,也就是需要實施改造的第二步。
實現多租戶架構的關鍵是通過一定的策略來保證不同租戶間的資料隔離,確保不同租戶既能共用同一個應用的運行實例,又能為使用者提供獨立的應用體驗和資料空間。 改造多租戶架構的方案有獨立資料庫、共用資料庫獨立實例名、共用資料庫等,最常見的是共用資料結構的實現方法。
A軟體為實現多租戶應用架構改造,首先在租戶管理上增加數量(包括註冊、訂購、計費等);同時進行資料隔離(變更結構、增加租戶ID欄位),最終實現「共用資料庫,共用資料結構」的多租戶設計。
第三步:實現高性能雲化軟體應用
在實現了多租戶單實例的應用架構之後,隨著租戶數量的不斷增加,集中式的資料庫性能就將成為整個雲化軟體的性能瓶頸。 如何通過一定的策略來滿足雲化軟體水準擴展的要求,成為雲化軟體架構設計需要解決的問題。 即在使用者大量增加的情況下,無須更改應用架構,而僅需簡單增加硬體設備,就可以支撐應用規模的增長,這就是第三步所要致力解決的問題。
A軟體的架構採用了J2EE應用模式的三層架構,即前端是處理HTTP請求的HTTP伺服器,中間是處理應用邏輯的應用伺服器,而後端是實現資料存儲和交換的資料庫伺服器;因此基於Apache的HTTP伺服器, 可以輕鬆實現負載均衡和集群。 通過HTTP伺服器的租戶管理,按照租戶的不同而實現服務請求的流量聚合和派發,將能實現在租戶細微性上的SLA(服務等級協定)管理。 其資料庫層採用資料庫集群技術,將資料庫系統的資料存儲節點、資料庫管理系統、前端應用分離,建立龐大、穩定的存儲資源池,通過資料庫管理系統的智慧調度策略,將資料庫存儲在各個Data Node中, 前端的應用集群可通過資料庫系統提供的API高效的對資料存儲節點中心的記錄進行操作。 單個資料節點的故障並不會影響各個資料庫集群系統的工作,同時配備故障熱遷移技術,這樣便良好的保證了資料的安全性。
華雲資料軟體雲化平臺特點
華雲資料軟體雲化平臺使用KVM作為底層虛擬化技術,KVM (全稱是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬體平臺上的全功能虛擬化解決方案,包含一個可載入的內核模組, 提供和虛擬化核心架構和處理器規範模組。
KVM是基於硬體的完全虛擬化技術,核心代碼量較少,在資源利用率、效能方面相較于其它商用虛擬技術更為卓越。 基於KVM搭建了資源調度平臺,接受雲化軟體應用的計算元件資源請求並負責資源的動態分配。 因此華雲資料軟體雲化平臺具備以下特點:
高可用性
應用大規模分散式存儲技術,雲化軟體資料三份副本分散式寫入存儲。 一旦發生存儲物理損壞,集群將啟動自動修復,重新在另外一個可用存儲節點寫入一份資料,整個過程雲化軟體應用服務幾乎零中斷。
超級防護
在雲化軟體和計算硬體之間重新定義了「軟安全防護層」,使用者可以定義埠、網路、進程等安全項,為雲端應用提供便捷快速的安全保障,簡單設置後,可有效抵禦密碼暴力破解、DDOS攻擊、蠕蟲、木馬、ARP等攻擊, 極大的提高了雲伺服器的安全性。
深度監控
提供對計算元件和雲化軟體的多層次監控手段,説明使用者輕鬆管理應用和服務。 可對計算元件的網路、CPU、記憶體、I/O、核心進程進行監控,保障雲服務的健康運行狀態;在服務等級,可自訂埠、網路、性能、HTTP等監控項,保障服務可用性。 當出現異常監控結果時,監控中心會根據異常類型對使用者進行告警,對於常見問題,系統配有異常修復原則,最大可能的保證無人工干預情況下服務的連續可用性。
加密存儲
不同使用者間的資料完全隔離,資料層之上有完整的存取控制,限制非法使用者對資料的訪問和讀取。 主要應用了內核級和磁片級兩層加密防護。
內核級加密方面,在內核級別實現對資料的加密和解密操作,在I/O管理器和檔案系統中增加新的加密層,實現對檔、資料的加密和解密。
磁片級加密是基於AES和RC6加密技術,進行了適用于高密度雲計算集群的演算法組合和優化,實現安全、快速的加密和解密,保障使用者資料的安全。
應用華雲資料雲計算技術實現雲電商產品
作為一家傳統的電子商務與企業管理軟體供應商,上海遠豐資訊科技有限公司也正面臨市場雲化需求的挑戰。 作為覆蓋B2B/B2C/ERP領域的電商解決方案供應商,遠豐希望其產品實現從傳統軟體到「雲軟體」的跨越,為電商企業構建出集「快速構建、彈性升級、模組拓展」為一體的雲電子商務產品服務。
根據遠豐資訊科技的特定要求,針對其ShopBuilder系列電商產品,華雲資料為其定制了企業雲電商產品解決方案。
建設底層雲計算元件平臺
通過華雲資料雲計算技術,建設或改造高可用的分散式雲計算集群,通過自動化管理平臺實現跨物理伺服器動態調整計算資源,共用相互分離的物理伺服器,有限保證具有優先順序的系統業務需求,實現資源利用最大化。
建設多租戶軟體雲化平臺
使用華雲資料軟體雲化技術,虛擬化遠豐ShopBuilder產品應用中介軟體,基於應用中介軟體的虛擬化,不同于伺服器虛擬化在作業系統層面的虛擬化,而是中介軟體層面的虛擬化。 應用中介軟體虛擬化的優勢是能夠更好地利用各類技術框架與平臺,對原有的設備可以有效利用。
建設高可用性的資料倉儲
在資料存儲層面,包含存儲硬體架構虛擬化和存儲軟體架構虛擬化。
通過SSO整合一體化的電商雲
以虛擬化後的ShopBuilder雲版產品為核心,使用SSO技術,整合包括資料倉儲、ERP、安全防護、協同辦公、行銷推廣在內的多個套件,形成集雲產品自服務採購、供應鏈應用服務、 運營應用服務以及安全加速雲為一體的雲電商產品平臺,使用者可自行線上開通企業B2C商城,並根據實際需求選擇ERP、OA等服務模組。 將企業完成電商化的週期從傳統方式的數個月縮短為數個小時。
此次企業雲電商產品解決方案包括IaaS層的虛擬化底層、雲主機、網路、存儲卷管理、各基礎底層元素監控,同時也具有客戶自服務採購、資料中心整體運營、客戶支援平臺等PaaS層的豐富功能。 通過對傳統的複雜結構的軟體產品的雲化改造,上海遠豐開闢了新的產品市場,業務收入實現了大幅度的增長。
結束
技術的發展,使得傳統軟體領域在看似飽和的市場裡永遠都有新的疆土可以開拓。 行業的領頭羊如果一成不變,就很難站穩腳跟。 每一次新的技術革新,都可能引起市場的重新洗牌。 雲計算,就正在改變著傳統軟體市場。