天天看點

從面向服務架構(SOA)學習:微服務時代應該借鑒的5條經驗教訓

可惜啊,現在 soa 在 it 業内基本上被視為一場失敗的運動,而很多為它投入時間、金錢和精力的人的傷痛依然清晰可見。這就是為什麼大家有這麼大的熱情來對比較微服務和 soa。要想了解微服務與 soa 辯論的背景,回顧 soa 運動的曆史非常重要:它的動力是什麼,以及最終導緻失敗的原因是什麼。

面向服務架構是一種多層資訊處理技術,能幫助企業在多個應用和使用模式之間分享邏輯和資料。

正如高德納公司的預言,到了2005年,實施 ebs 成了必不可少的事。it 公司成立了集中的傳遞部門來管理 ebs 基礎架構,并且參與公司各部門的內建項目。esb 為那些主張 soa 的企業架構師提供了改造應用環境任務的立足點。他們利用這個立足點要實作兩個目的:控制和保持一緻性。

soa 的設計初衷是加速項目傳遞,提高 it 靈活性,減少內建成本。然而,soa 使用者,也就是使用發展到現在的 soa 的人們,發現它實際上帶來了更多複雜性和瓶頸,而且部署 soa 基礎構架的費用(基于 esb、注冊和服務平台模闆)過多。

讨論微服務和 soa 是否相同是個錯誤的問題。那有什麼關系呢?正确的問題應該是問微服務運動能夠從 soa 借鑒什麼。出了什麼問題?以下是五條重要的經驗教訓。

從成功開始。盡管 soa 在全盛時期使用率之高空前絕後,但是并沒有什麼公共執行個體可以證明它的承諾。很明顯,soa 最開始是由一個行業分析員提出的純概念模型。與之相反,微服務架構是根據對無數企業的實際軟體開發的觀察提取出來的。亞馬遜和 netflix 隻是這種風格的兩個旗手。而且,微服務的範圍非常廣泛,除了技術之外,還包括模型、原則、文化和企業特征。這樣很健康,因為它推崇的不是一個理想化的模型,而是真實模型。随着微服務實施的參考内容變更,模型也應該随之進化。

視角很重要。在 soa 運動中,有很多例子表明,沖突的意願導緻了它偏離正軌。技術管理人員搭建了集權式的帝國,而不是逐漸灌輸文化的變更。企業架構師堅持标準化,卻沒有清晰的目标。代理商們修改 esb 的定義來适應他們的産品,而不是反過來。依然惋惜 soa 初始定義被遺棄的架構師,希望能再次重新定義産品的代理商,對 soa 中間件付出大量投入的企業 it 商店,這些手持斧頭反對 soa 運動的人,對微服務心懷警惕也是可以了解的。不過,不要因為反對 soa 的證據就給微服務定罪。思想開明,傾聽所有聲音,但是要確定檢查确認來源。質疑每個人的動機,包括你自己的。

微服務運動令人激動。在合成已被證明的原則和新技術、文化實踐方面,它的确還很新。它是否是 soa 的成功版本、進化版本或者反面版本都無關緊要。微服務會出現,留下印記,然後被下一個運動替代,接着是下下一個,永不停歇。目前,微服務運動的成員決定了它将會留下怎樣的印記。希望它能從 soa 運動吸取經驗教訓,保持和諧狀态,進而幫助企業實作大規模的速度與安全的優化。

繼續閱讀