云計算的出現(xiàn)不僅在地理上延伸了SOA的愿景,實際上還推動了所有的SOA朝著基于云的應用與資源關系的轉(zhuǎn)變。SOA應用因而變成最容易移植到云端的應用。
盡管它是最容易移植,但移植并非自動完成的。本文研究SOA的基本要素、模塊化以及資源類別,可幫助云應用架構(gòu)師、開發(fā)者及開發(fā)運營經(jīng)理簡化基于SOA的云遷移工作。
在開發(fā)者渴望利用可重用組件創(chuàng)建軟件,以及企業(yè)利用定制應用行為來優(yōu)化員工生產(chǎn)力的雙重推動下,SOA的概念已經(jīng)發(fā)展了10多年了。
SOA基礎設施包括四個基本元素:處理器服務器系統(tǒng)、存儲操作系統(tǒng)及中間件、用戶到應用的映射,以及負載均衡。顯然,這些也是任何其他IT基礎設施的四個構(gòu)成的基礎要素,不過SOA改變了企業(yè)應當將能力均衡地分配到這四個領域的方式,以便對可用性和性能進行優(yōu)化同時控制成本的方式。這通常是靠SOA架構(gòu)模型以及應用模塊化和部署方式完成的。
開放計算項目為硬件設計提供了指南,可用作與商業(yè)設備進行比較的一般參考,不過這也許并不能為SOA搭建出最合適的平臺。
SOA和“原子”應用最顯著的區(qū)別在于模塊化。好的SOA應用可劃分為創(chuàng)建應用的功能性組件,這會對基礎設施產(chǎn)生重要的影響:
—組件對特定的資源的使用率可能比整個應用更高。對數(shù)據(jù)庫進行分析的SOA應用也可能會將分析和數(shù)據(jù)庫功能拆為單獨的組件,這兩者一個是高度計算密集型的、一個是高度存儲密集型的。這種拆分使得針對特定需求而建的硬件成本很低。
—除了應用與用戶間的“垂直”流量以外,模塊化應用增加了額外的組件之間的“水平”流量。這一流量模式的變化會影響到數(shù)據(jù)中心網(wǎng)絡的設計,比方說,會促進交換式結(jié)構(gòu)。
—組件可復制來提高整體工作能力,這需要有一組特定的工具,根據(jù)某些代價/性能策略組來分配任務給SOA組件群中的其中一個。這就導致了組件間負載均衡機制的引入。
—“靠近用戶”的組件,這意味著組件跟用戶的GUI相關,是可以與活動點在地理上接近、毗鄰的。
這些因素交織在一起,可以讓企業(yè)以最佳的視角按“資源種類”觀察SOA基礎設施,那些有效支撐主要SOA組件的若干系統(tǒng)或存儲配置。資源種類的數(shù)量將取決于SOA組件需求的范圍,不過大抵會包括以下這些:
—數(shù)據(jù)庫及查詢服務器,旨在利用層次化存儲的原則支持大型數(shù)據(jù)庫。可能會擁有大型的RAM、具備閃存、快速磁盤存儲I/O接口、高性能網(wǎng)絡連接以及適度的計算能力。
—計算及分析服務器,用來執(zhí)行復雜計算。通常需要具備RAM和許多高速的處理器內(nèi)核,可能甚至還要有GPU來加速計算功能。
—分布式服務器,用來支持與用戶GUI創(chuàng)建或事件處理相關的本地處理。有可能是低成本的基于ARM而非X86架構(gòu)的微型服務器。
組件的分布,尤其是SOA組件的復制,可創(chuàng)建更多的執(zhí)行路徑,改進性能,這意味著SOA基礎設施將需要某種形式的網(wǎng)關。有兩種選擇:硬設備和“虛擬網(wǎng)關”。硬件網(wǎng)關往往又叫做“負載均衡器”或“三層交換機”,會根據(jù)某些調(diào)度策略直接將流量引導到現(xiàn)有組件中。虛擬網(wǎng)關使用SOA目錄功能根據(jù)需要分配組件。最好的辦法要取決于組件間的關系性質(zhì),尤其是組件是否真的會為了提高能力而進行復制。網(wǎng)關設備是連接應用用戶與SOA組件的最流行方式,虛擬網(wǎng)關則是后端交互組件流管理(包括工作流引擎消息傳遞或服務總線流)的更好手段。
至于SOA基礎設施的數(shù)據(jù)庫這一塊,也需要考慮“虛擬”和“物理”的問題。允許數(shù)據(jù)在地理上高度分散的數(shù)據(jù)網(wǎng)格技術,如Hadoop,往往會將應用分布到多個節(jié)點上并行運行,然后收集并關聯(lián)結(jié)果。這對混合計算和存儲節(jié)點提出了需求。另一方面,今天的許多“大數(shù)據(jù)”及分析應用都是基于設備或特定目的的節(jié)點,通過查詢語言訪問的。這使得SOA應用組件與數(shù)據(jù)分析功能分離,減少了對特定數(shù)據(jù)接口或CPU及GPU分析功能的需求。
這里列舉的網(wǎng)關和數(shù)據(jù)庫例子說明,SOA基礎設施必須首先從虛擬或邏輯的層次進行考慮,然后才是考慮硬件、軟件及中間件。有效的SOA應用設計首先要依賴于應用被模塊化并編排進有序的工作流的辦法。這一流程創(chuàng)造了必須加載在資源上的軟件元素,創(chuàng)造了將應用整合到一起的中間件以及托管每一組件以及組件類的最佳硬件的需求。
至此,大多數(shù)人都將意識到所有的SOA應用均演變?yōu)榛谠频膽脤Y源的關系,無論是否存在一個明確將應用托管于公有云、私有云或混合云的計劃均如此。實際上,“云化SOA”與現(xiàn)代SOA的形式不同之處主要在于對硬件資源分散到什么程度的假設上。今天大部分的SOA應用都是運行在數(shù)據(jù)中心上的。而云應用則必須假定資源池是跨越數(shù)個數(shù)據(jù)中心的,甚至還可能分布在全球各地。支撐SOA應用集的資源池的范圍越廣,建立高效網(wǎng)絡連接來傳輸進程間流量的重要性就越強。如果SOA工作流建立的流量模式得以悉心地進行規(guī)劃和分析,SOA的網(wǎng)絡需求就可以輕易升級以支持云遷移,令充分規(guī)劃的SOA應用成為最容易遷移到云端的應用。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.hanmeixuan.com/
本文標題:為什么SOA應用容易移植到云端?
本文網(wǎng)址:http://www.hanmeixuan.com/html/support/1112158120.html