1. 程式人生 > >微服務架構學習與思考(07):企業團隊組織架構如何變革?

微服務架構學習與思考(07):企業團隊組織架構如何變革?

### 康威定律 >康威定律 (康威法則 , Conway's Law) 是[馬爾文·康威](https://zh.wikipedia.org/wiki/%E9%A9%AC%E5%B0%94%E6%96%87%C2%B7%E5%BA%B7%E5%A8%81)1967年提出的: >**設計系統的架構受制於產生這些設計的組織的溝通結構。** 康威定律告訴我們,如果我們實施了微服務,那麼組織架構的變動也要跟著實施微服務架構而做出相應的調整。這樣才有可能適應微服務的發展。 ### 單體架構和微服務架構 先看看傳統單體架構和微服務架構,如下圖: ![](https://img2020.cnblogs.com/blog/650581/202007/650581-20200711172003249-990711620.png) >圖片來自:https://martinfowler.com/articles/microservices.html 左半部分的**單體架構**圖: 單體應用將所有功能放到一個程序中 擴充套件:通過將整個應用複製到多型伺服器實現擴充套件 右半部分的**微服務架構**圖: 微服務架構將功能分離,放到多個不同的程序中 擴充套件:通過將不同的服務分佈於不同的伺服器上,並按需要複製方式進行擴充套件 ### 組織架構 - **單體應用的組織架構**: ![](https://img2020.cnblogs.com/blog/650581/202007/650581-20200711172038002-702077847.png) >圖片來自:https://martinfowler.com/articles/microservices.html 它是一個整體式的應用團隊,每個團隊按照職能來進行劃分(圖片左半部分),比如:UI團隊,中介軟體團隊,DBA團隊。 不同職能的人屬於不同的團隊。做專案的時候就從不同職能部門選出一些人來負責專案。這樣的組織架構有一個問題就是:跨職能部門溝通協調問題。這種團隊組織形式不能適應微服務架構的特點。 - **微服務應用組織架構** ![](https://img2020.cnblogs.com/blog/650581/202007/650581-20200711172103341-1468967552.png) >圖片來自:https://martinfowler.com/articles/microservices.html 微服務架構特點:每個微服務是獨立的,團隊可以獨立開發,獨立測試,獨立部署,服務是自治的。相應的團隊組成人員也有產品,技術,測試,團隊成員在自己內部就可以完整的進行微服務各種功能開發。 **這就要打破原先傳統的那種按職能劃分的組織團隊形式,而要把不同職能的人組織在一個團隊內,組成一個跨職能的產品組織架構。這樣才能把一個微服務功能架構、設計、開發、測試、部署、上線執行,在一個組織內部完成,從而形成完整的業務、開發、交付閉環。** ### 團隊組織的變化 一圖勝千言: ![](https://img2020.cnblogs.com/blog/650581/202007/650581-20200711172134164-626548522.png) >圖片來自:https://insights.thoughtworks.cn/management-of-microservices-team/ 原先那種職能型的團隊,變成了跨職能的小團隊,這種團隊和微服務架構對齊。 **每個團隊組織成員多少合適呢?** 亞馬遜的“兩個披薩團隊”,6-10人的規模。這個只是一種參考,畢竟每個公司規模、業務、行業、成員等不一樣,找到適合自己的團隊構成,就是最好的團隊組織。 > 說明: 以上圖片侵刪,請聯絡主頁