十年前,,面向服務(wù)架構(gòu)突然出現(xiàn)在IT舞臺(tái)上,而且許多公司已經(jīng)在SOA應(yīng)用上進(jìn)行了大量的投資,。很明顯,,云計(jì)算的成功取決于它能夠給現(xiàn)有的SOA實(shí)現(xiàn)增加價(jià)值的能力。調(diào)查顯示,,花在基于SOA原則的應(yīng)用上的企業(yè)IT美元比花在“單片”應(yīng)用上的要多,。不甚清楚的是SOA可能是云的理想伙伴,使之大于它的所有部分的總和,。
SOA系統(tǒng)中的應(yīng)用程序不同于基于模塊化和編排組合而成的應(yīng)用;他們建立于模塊化元素,,這些元素是根據(jù)用戶,甚至是個(gè)別工人的特殊的工作流需求組合而成的,。這通常是通過“工作流引擎”,,有時(shí)稱為消息或服務(wù)總線完成的。
SOA應(yīng)用設(shè)計(jì)托管在多任務(wù)的操作系統(tǒng)上,,而且現(xiàn)在的大部分服務(wù)或消息總線技術(shù)都將會(huì)支持服務(wù)集群,。因此,在企業(yè)SOA數(shù)據(jù)中心中,,“云計(jì)算”已經(jīng)生效這是一個(gè)事實(shí),,每一個(gè)SOA系統(tǒng)組件都是“即服務(wù)”的元素。促使SOA應(yīng)用真正與云兼容,,尤其是與混合云的最新文章">混合云,,關(guān)系到SOA能做什么與云需要什么之間的平衡關(guān)系。
預(yù)防基于SOA云的失敗
在云中創(chuàng)建SOA的最大問題,,是大多數(shù)公司希望在混合云應(yīng)用中的動(dòng)態(tài)負(fù)載均衡,,尤其是對(duì)于核心的,關(guān)鍵任務(wù)的SOA應(yīng)用,。有兩個(gè)元素促使負(fù)載均衡工作:當(dāng)需要時(shí)創(chuàng)建額外的組件實(shí)例,,并隨著負(fù)載的改變或發(fā)生失敗,在這些組件中平衡應(yīng)用流量,。
如果負(fù)載均衡在數(shù)據(jù)中心的使用中已經(jīng)改變,,在這些改變之后它有可能創(chuàng)建云實(shí)例,使它們看起來像是數(shù)據(jù)中的擴(kuò)展,。這允許你繼續(xù)使用現(xiàn)有的負(fù)載均衡策略,。盡管如此,,如果數(shù)據(jù)中心的能力消失,那么負(fù)載均衡的改變也會(huì)消失,,云中的故障轉(zhuǎn)移也會(huì)失效,。如果負(fù)載均衡做為云或網(wǎng)絡(luò)服務(wù)實(shí)施,那么它就可以支持混合云SOA的實(shí)現(xiàn)——即使數(shù)據(jù)中失敗,。
有時(shí)候,,SOA服務(wù)總線或“工作流引擎”將會(huì)在多個(gè)主機(jī)上動(dòng)態(tài)產(chǎn)生應(yīng)用組件的額外實(shí)例,從而提升性能或?qū)κ∽龀鲰憫?yīng),。這種情況下,,要與云服務(wù)供應(yīng)商協(xié)商,確保服務(wù)總線接口與公有云服務(wù)兼容,。如果不能把服務(wù)總線應(yīng)用實(shí)例流程直接連接到云管理接口上,,并啟動(dòng)云組件的話,你可能不得不使用開發(fā)腳本或DevOps工具,,來加速必要的公有云資源,,然后讓服務(wù)總線使用他們。
當(dāng)使用任何一種云服務(wù)來創(chuàng)建彈性擴(kuò)展的私有SOA資源池時(shí),,評(píng)估供應(yīng)商延遲應(yīng)用的影響很重要,。無論公有云資源是直接通過工作流引擎激活的,還是通過DevOps的,,都有一個(gè)激活的階段,,這時(shí)資源將不可用,這將會(huì)影響生產(chǎn)率,。延遲對(duì)工作負(fù)載溢出應(yīng)用的影響較小,,因?yàn)槟憧梢院?jiǎn)單的調(diào)整新資源要求的需求水平。然而,,這種調(diào)整可能會(huì)導(dǎo)致加速那些因需求減少而不需要的公有云資源。準(zhǔn)備備用的服務(wù)或有現(xiàn)成的服務(wù)水平協(xié)議(SLA)來減少云資源的供應(yīng)時(shí)間可能是最佳解決方案,。
選擇與SOA兼容的公有云廠商
根據(jù)本地用于運(yùn)行您的SOA應(yīng)用程序的操作系統(tǒng)和中間件的不同,,對(duì)于公共云托管組件你可以有多種選擇。你惠普,、IBM,、微軟和甲骨文這樣的公司有平臺(tái)即服務(wù)(PaaS)的選擇,這與他們的服務(wù)器和中間件工具相兼容,。所以如果你使用來自這些廠商的SOA軟件,,那么第一件事是評(píng)估使用來自同一個(gè)公司的云服務(wù)的利益和成本。
如果那不可能或你希望探索更廣的選擇,,那么基礎(chǔ)設(shè)備即服務(wù)(IaaS)可能會(huì)是一個(gè)不錯(cuò)的方向,。記住,,對(duì)IaaS公共云處理你當(dāng)前的SOA組件,IaaS設(shè)備像必須包括你使用的操作系統(tǒng)和中間件,。確保你的IaaS云供應(yīng)商能夠支持你的操作系統(tǒng)和中間件,,并確保與公有云使用的兼容的許可。
大體上說,,管理員需要認(rèn)識(shí)到SOA和“RESTful”或“Web接口”是不同的東西,。大部分的SOA應(yīng)用包含編排和工作流、及在基本W(wǎng)eb服務(wù)中缺席的安全和合規(guī)元素?,F(xiàn)在大多數(shù)云應(yīng)用更多是基于RESTful接口,,而不是SOA,因此給后者假定前者的經(jīng)驗(yàn)教訓(xùn)是有風(fēng)險(xiǎn)的,。認(rèn)真探索此問題,,而且在做出生產(chǎn)承諾之前一定要徹底試運(yùn)行測(cè)試。