在過去的一家公司,工程部門的負責人和首席工程師決定將我們的 Ruby on Rails 應用程序拆分為 Go 微服務網格。 他們創建了非常詳細的設計文檔和架構圖。他們全力以赴,使用了 Kubernetes、gRPC、服務模板,所有的一切。 整個高級工程領導團隊來自亞馬遜,他們習慣於每個團隊擁有一個獨特的服務。他們試圖直接應用這種模式。但我們的問題在於代碼擁有權和不良的領域建模。 整個應用程序本可以僅在少數幾個 EC2 實例上運行。 結果是什麼? 五年後,70% 的應用程序仍然運行在 Ruby on Rails 的單體上。遷移從未完成。但現在他們必須維護兩個系統。 原來的領導團隊中沒有一個人還在那裡工作。