企業在經過了多年的信息化建設后,財務、ERP(企業資源計劃)、CRM(客戶關系管理)、HR(人力資源管理)等企業管理軟件已被廣泛的應用。但這些異構系統形成多個應用和數據的孤島,難于共享數據和資源;企業業務流程各異而且隨著市場發展這些流程不斷更新,標準的應用軟件很難適應業務流程更新與重組的速度與個性化需求,因而大大提高了企業營運成本,降低了企業的市場快速響應能力。較之不斷地加大系統投入來實現系統軟、硬件的可擴展性,集成無疑成為更為現實和合理的選擇。
通過云的方式享受軟硬件服務,目前對許多企業來說是應用先進信息技術的最好途徑,它不僅降低了企業的軟硬件服務擁有成本,縮短了信息化建設周期,還大大減少了企業的運維成本。所以,云計算的興起可能是未來幾年最為重要的IT 產業趨勢,隨著云計算不斷發展,云應用會越來越普及,市場研究機構IDC對IT 職業人士的一項調查顯示,目前已有4%的公司以一定的方式部署了云計算,盡管大多采用的是軟件即服務(SaaS)的形式,比如Salesforce 公司的CRM(客戶關系管理)應用程序等。IDC 高級副總裁佛蘭克-杰恩斯曾在云計算論壇上表示,預計到2012 年,將有9%的公司部署這一服務。而據Gartner 估計企業應用在SaaS 模式上的投入將以每年19.4%的速度增長。
筆者認為,云計算作為一個融合了底層IaaS,中間層PaaS,到上層SaaS 的一整套服務集,開始被引進了集成服務,并與系統集成——一個由物理層、數據層、應用層、流程層和表現層集成所代表的企業集成框架[3]相對應,所有云計算能提供的服務需要在企業整體架構的背景下才能有效的發揮作用,也就是說企業自身需要一個清晰的基于服務的IT 基礎設施架構,在這個架構之中去應用云計算。為解決云計算面臨的集成架構挑戰,本文將SOA 這一基于服務的架構融入云計算, 作為建立云計算集成架構的一個解決途徑;并通過一個企業案例來具體說明企業如何綜合運用這兩者構建企業系統集成架構。
1 云計算及其面臨的集成挑戰
1.1 云計算組件的邏輯結構
云計算到目前為止還沒有一個準確的定義,但目前來說一個普遍的認為是云計算是分布式計算、并行處理和網格計算的發展,或者說是這些計算機科學概念的商業實現;也可以認為云計算是一種付費即使用的自助式應用模式,即將一組可配置的共享計算資源(網絡、存儲、應用等)通過無時無處不在的網絡提供給用戶使用,并且用戶幾乎不用與服務提供商進行任何交互,從而使得用戶可以以最小的管理開銷來配置和使用這些資源。
為了更好的解釋云計算所提供的服務,DavidLinthicum 根據目前主流云計算服務商及其提供的服務,使用一種“堆棧”的圖示(圖1)來解釋各組件間的邏輯關系及他們的交互。
圖1 云計算組件的邏輯結構
事實上,云計算可以擁有足夠的硬件和運營服務資源,也即它本身就是一個大的系統集成環境,一個融合了底層IaaS,中間層PaaS 到上層SaaS 的一整套服務集,能為企業提供從底層基礎設施的集成到中間層應用平臺的集成再到應用層的應用集成全套的集成服務,但前提是這個集成需要在企業擁有清晰完善的基于服務架構的IT 框架的背景下才能最高效的發揮作用。
1.2 云計算與集成
云計算的真正價值在于使企業擁有使用位于本企業之外其它的數據中心里的服務、數據和流程的能力。但如果企業不加計劃盲目地使用云計算,不僅不能利用云計算的優勢,長遠來看也許會付出極大的代價。一方面,對于企業來說長期以來不斷出現的“煙囪”式的信息系統在解決了企業燃眉之急的需求的同時也給企業IT 系統投資與維護帶來了巨大資金和技術的壓力,此時企業轉向利用云計算的優勢減輕企業信息系統投資與維護的壓力,但是急于向云中搬遷企業的數據、應用但卻沒有任何架構方面的長遠考慮,也沒有考慮與此密切相關的云計算與本地系統的集成問題;在另一方面,眾多的云計算供應商不會考慮到與企業集成的問題。因為云服務提供商們一直認為企業既然使用他們提供的云計算服務,就沒有必要再將云端的數據同步回企業中,因為企業應用已在云中部署。然而事實并非如此。在許多情況下,雖然云計算是非常實用并能夠使企業受益的,但如果認為無需從云計算平臺向企業本地系統實施核心數據、應用或流程集成,另外的一些問題就會隨之而來,例如業務系統不能處于自己的掌控中那么意味著企業將無法應付云服務提供商終斷服務(如由于自然災害或是服務商轉型所帶來的服務終止)所帶來的危害。
從集成角度來看,應用云計算企業將面臨的問題會有:
(1)企業在一段較長的時間內不會也不可能將所有應用轉移到云端,即使全部轉移到云端也不大可能將所有的應用全部部署在同一個云服務提供商處,而一定會有一些部署在企業內部的系統或不同的云服務提供商,因此,云端的應用必須和企業內部系統的應用以及在其他云中的應用整合,使他們能夠相互聯通,才不至于形成新的“孤島”。
(2)大量的集成項目會使IT 部門的開發和維護面臨巨大挑戰。企業需要的是集成系統要能夠在任何時間以任何形式部署在任何平臺上,而且這些集成系統又是錯綜復雜地連接在一起的。
首先,從數據方面看,一方面企業需要而且有必要在本地保留云端數據的備份,因為企業所使用的云端服務是由云服務提供商提供的,企業自身無法掌控這些服務。如果云計算服務中斷、云計算服務失控或與服務提供商無意繼續經營該業務,企業將面臨業務系統中斷的風險,事實上這類事件正在不斷地出現。所以企業都需要在企業本地系統中保留企業相關數據的最新備份。另一方面,企業極有可能同時使用位于企業內部的系統與位于不同云中的系統,因此,集成勢在必行。基于企業對于IT 系統不在自己掌握所帶來的風險的考慮,一種平衡風險的有效辦法就是根據自己的需要將IT 系統分散置于不同的數據中心(公共云)中,這樣既減少了自己維護的困難,也減少了所有應用放在同一片云中所帶來的全部IT 系統宕機風險,同時企業也可以根據自己不同的需求選擇最合適的云服務提供商來降低投資。
其次,從應用和由各種應用組合而成的流程角度,企業要充分考慮哪些系統適合放在云端,哪些系統適合放在本地。例如CRM 系統對于企業來說是沒有多大附加值的系統,因此企業完全沒有必要自己去開發一套CRM 系統,況且現在很多云服務商已經能提供很好CRM 軟件,那么企業就可以去租用云端的CRM系統。而對于企業的關鍵系統來說,就必須考慮到把其遷移到云端的風險。企業應采取怎樣的措施來應對風險成為擺在決策者面前一個不可回避的問題。
綜上,目前的企業部署云端系統需要和企業內的本地系統協同工作,集成就成了成功的關鍵。隨著云計算的發展,越來越多的企業應用將逐步轉換到云計算。如果事先不實施長期策略和目標,將會加大復雜性并降低投資回報率。因此,集成需要有架構遠見提前考慮。
2 云計算與SOA的融合——集成架構的建立
如前所述,如果企業不考慮集成的架構而盲目去追求云計算的話,隨著企業在云端的應用越來越多而這些應用仍然又回到了“信息孤島”——一個更大的信息孤島的狀態,這時企業再去想把他們集成在一起會付出更大的代價。
SOA 架構被認為是目前企業級信息系統可靠和高效的建模思想和軟件構建方法,通過模塊化、集成化、動態組裝,使得系統的重用性、可靠性、可擴展性和開發速度大大提高。因此,這種架構能夠讓組織快速地構件和部署新的應用程序和服務,以及根據組織的需要使用任意的內部和外部服務的組合。SOA 基于服務的架構在過去的幾年中一直被認為是解決架構問題及企業集成最有效的方法。然而,在另一方面,大量的公司在實踐SOA 之后發現,事情往往并不是想象中的那么簡單,他們在開展SOA 項目后發現SOA 需要一個規模宏大的計劃,而且要想看到部署SOA 所帶來的效益要相當長的一段時間,一般的公司難以負擔SOA 所帶來前期陣痛的。
從系統工程和企業應用的角度,“云計算和SOA可以獨立運用或同時運用。云計算并沒有取代SOA 或分布式組件集成技術;相反,云計算的平臺與存儲服務為SOA 的服務集成提供增值性(value-added)的支撐[5]!比鏒avid Linthicum 所建議的,可以將SOA 看作架構的一個解決途徑,一個利用云計算資源的更好的方式。其理念主要是從架構角度的中考慮云計算;而不是將云計算作為一次性的解決方案。
資源與功能服務化是云計算的一個核心思想。面向服務的架構為云中的資源與服務的組織方式提供了可行的方案,云計算依賴于面向服務的思想,通過標準化、流程化、和自動化的松耦合組建為用戶提供服務,不過云集算將不僅僅是一種設計架構的模式或方法,而且是一個完整的應用運行平臺,基于面向服務架構思想構建的解決方案將在云中運行,服務于云外用戶[7]。因此,云計算與SOA 的融合,能夠使企業中的SOA 架構擴展到防火墻之外到云計算服務提供商那里,從而獲得云計算的種種優勢,形成優勢互補而又避免了他們的不足,真正做到以最低的投入獲得最高的回報。
3 企業案例:云計算環境下的系統集成架構及解決方案
3.1 案例背景
XX 集團是一家全國性的民用液化氣氣體生產、銷售、儲運與服務全面運營的企業,為中國內地最大的跨區域能源終端運營商之一,XX 集團已先后在湖南、安徽、貴州、江蘇、云南、山東、浙江、湖北、廣東等省成功投資運營數十家氣體經營企業。
隨著XX 集團的規模不斷擴大,該集團目前面臨著急迫的信息系統整合問題,由于XX 集團的各分公司分布于全國各地,且各下屬公司信息系統總體上是各自為陣、分別實施,由于地域差異和管理理念不同,各家公司系統的業務功能模塊存在差異,不能彼此共享、互通,造成總部與下屬企業之間信息不暢;數據的分散存儲導致集團無法對各公司的客戶和業務數據進行深度挖掘和分析,無法實現集團化的業務推進和集團內部的資源調配,更無法構筑集團性的統一平臺。所以集團每年都要投入大量資金對各地的信息系統進行打補丁式的小修小改以適應當地規模的擴大。
近年來隨著SOA 技術的成熟,以及云計算技術的日趨普及,集團決定集全集團各分公司之力建立一套全新的全集團通用的信息系統,全面扭轉之前的在信息化建設上的被動局面。
3.2 XX 集團私有云平臺模型
根據XX 集團信息化建設要求,結合云計算、SOA等技術,提出了XX 集團業務系統信息化平臺框架,稱為XXPlatform(如圖2)。它以基礎設施服務IaaS為基礎,SaaS 平臺為核心,包括以下4 個方面的內容:
(1)面向XX 集團各地各分支機構的云服務基礎架構IaaS,用于為連入平臺的各個分公司提供服務的基礎設施。
(2)SaaS 平臺,為集團各分公司提供從資源采購到終端銷售的全套業務的在線解決方案。
(3)XX 集團公共服務平臺,用于為各分公司提供除業務邏輯之外的其他公共性服務,如辦公系統,郵件系統,存儲系統,數據挖掘等。
(4)可選的本地平臺,主要是為規模較大的區域性分公司提供個性化業務的開發環境。
圖2 XX 集團私有云架構圖
轉載請注明出處:拓步ERP資訊網http://www.vmgcyvh.cn/