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