微服務是與團隊管理相關的 - filipnikolovski
我知道微服務的話題已經被反覆討論過,我只是想根據我在這種設計 Web 應用程式的方法方面的經驗,將我的經驗加進去:
- 很多人認為微服務架構解決了具有擴充套件性和效能性質的軟體問題。但他們解決的最重要的問題是組織問題。
- 康威定律一直在起作用。當您考慮構建的軟體應該是什麼樣子時,您需要考慮您的組織結構應該是什麼樣子。他們總是齊頭並進。
- 如果您是一個團隊,那麼從這個角度來看,涉及多個移動部件的設計沒有多大意義。誰應該擁有每個元件的所有權?這些服務如何才能真正相互獨立?糾纏它們是不可避免的,因為這樣更方便,最終得到類似於微服務架構的東西,但實際上它更像是一個“分散式單體”。從微服務架構開始是很多人的錯誤做法。軟體的結構最終看起來總是像組織的結構。這是不可避免的。
- 如果您只有一個團隊,切勿從微服務架構開始。
- 隨著組織規模的擴大,團隊中加入了更多的人,現在是對當前架構設計提出問題的時候了。
- 隨著團隊的成長,管理起來會越來越困難。將這個大團隊分解成多個、更小、獨立的團隊是向前邁出的自然一步。那麼我們應該問的問題是:這些團隊如何對他們負責的產品部分擁有完全的所有權?如何讓團隊掌握自己的“命運”?
- 對於一個真正獨立的團隊來說,它需要在堆疊的每一層都有完整的決策能力:從 UI/UX、後端將要公開的 API,一直到將為整個事物提供動力的基礎設施. 作為單個單體應用程式這樣做當然是可行的,但是團隊需要在他們的開發過程中同步,尤其是在部署階段。他們會不斷地踩對方的腳趾。因此,需要建立一種能夠反映組織架構的架構。微服務解決了這個確切的問題 - 擴充套件團隊。
- 服務需要是可組合的,並且可以很好地相互配合,就像您在單體應用中建立可組合模組一樣。將它分開並簡單地在它前面放置一個 Web 伺服器不會拯救你。
- 對於跨越多個域的功能,明確的資料所有權以及清晰一致的 API 是必須的,否則您可能會使所涉及的服務之間的關係複雜化。定義這些邊界是開發此功能的團隊的責任。服務之間的溝通應該反映團隊之間的溝通。
相關文章
- DDD與團隊拓撲以及微服務之間的關係圖 - aleixmorgadas微服務
- 忘記單體與微服務,重要的是團隊的認知能力和範圍! | TechBeacon微服務
- 達成雙贏,安全與業務團隊的相處之道
- 管理團隊的有效策略與技巧
- 團隊如何組織?前後端團隊與業務功能團隊的比較後端
- 微服務框架相關技術整理微服務框架
- 團隊管理者最重要的是做好計劃管理
- 從零開始:管理層提升與技術團隊的團隊溝通
- 用GC的策略,管理團隊的技術債務GC
- 微服務開發的意義 微服務與分散式的關係微服務分散式
- 團隊梯度管理梯度
- 管理層做好任務管理,團隊不會帶不動
- 看板管理:團隊協作的秘密武器是什麼?
- DevOps 團隊的漏洞管理指南dev
- 小團隊的技術管理
- Laravel 團隊任務管理系統(已開源)Laravel
- 微服務架構學習與思考(07):企業團隊組織架構如何變革?微服務架構
- 團隊管理、團隊人員技術培養 的 思考和交流
- 軟體測試團隊的管理
- 如何管理一個散漫的團隊
- Anno微服務引擎與傳統應用相融合微服務
- 多工轟炸,團隊管理者如何做好任務管理?
- 團隊作業1——團隊展示與選題
- 20人研發團隊的管理與發展規劃概要
- DDD興起的原因以及與微服務的關係微服務
- 如何管理好團隊的工時表?
- 團隊管理的兩大入門心法
- 設計團隊管理用的軟體
- 專案管理提升團隊效率的方法專案管理
- 曝蘋果TouchID研發取消,相關團隊已轉移至FaceID工作蘋果
- 快取原理與微服務快取自動管理快取微服務
- LINUX下磁碟管理的基本流程與相關操作命令Linux
- 如何做好團隊文件管理
- 企業如何高效管理團隊???
- 微服務思考(01):什麼是微服務?微服務的優勢和劣勢微服務
- 《關於微服務》微服務
- 關於微服務微服務
- 資料團隊是如何演進的?