閱讀407 返回首頁    go 阿裏雲 go 技術社區[雲棲]


翻譯:The Difference Between SOA and Microservices Isn’t Size

SOA和 Microservices的差異不是大小的問題
Stephen O'Grady | July 20, 2017
對於那些已經在科技行業一段時間,有一種傾向,就是把當前的Microservices與古老的麵向服務架構(SOA)比較甚至等同的做法。有很多類似“ Microservices”無非是新的SOA”或“亞馬遜是把SOA作對的唯一的公司。”的論調。
這不足為奇,因為它也是事實。盡管有很多問題,SOA企業應用的場景,看起來非常像當前正在發展的的,基於原生雲架構,由Microservices與其他技術一起構成的應用架構。剝離到其核心,SOA的想法就是架構應該由服務而不是單一的應用程序組成。
如果SOA和 Microservices從功能的角度來看,至少有一些共同點,那麼,為什麼大家拒絕前者和擁抱後者?
screenshot
許多人會認為大小為關鍵的區別。SOA描述的服務沒有足夠的粒度(這是有爭議的)因此很難構建和更難管理。這其實掩蓋了將大服務分解成大量小的服務造成大量管理開銷的顯而易見的事實,同時忽略了更為重要的區別:SOA是一個主要由供應商主導的概念, 而Microservices則相反的是的自下而上驅動的。
考慮到像AWS這樣的平台的成功,很難提出這樣一個論點:服務驅動的平台不是構建平台的有效方法,或者說它們不是當前的主流方法。但值得注意的是,基於服務的平台目前一般都是開發人員現在建設的。而大型供應商最初設想的SOA驅動的世界,其服務是建立在一個複雜的(經常是政治化的)標準的拜占庭框架(譯者:應該是指受大型供應商控製)之上的,這一點從未發生過,原因很簡單,開發人員不想要它--任何部分。
可以肯定的是, Microservices也受益於由各種SOA實踐者的經驗教訓,通過努力推廣和社交推廣簡化了從前者轉向後者的難度。但是,從SOA中獲得的最重要的一點(有爭議)是開發人員將在一個決定性的作用——在許多情況下決定什麼將被使用,什麼將不被使用。Microservices比一個全部由供應商來決定的SOA讓他們更容易接受。
screenshot
在這個行業中,我們常常尋找管於技術或功能的成功或失敗的解釋,而成功或失敗的真正原因則要簡單得多:這技術些會使國王(指開發人員)想使用它嗎?
這篇文章很好的指出了SOA和Microservices的區別,翻譯過程中有簡化,原文鏈接:
https://redmonk.com/sogrady/2017/07/20/soa-microservices/

最後更新:2017-08-22 10:32:34

  上一篇:go  通過自由市場的方法建立強大的數據策略
  下一篇:go  為什麼製定混合數據中心戰略很重要