Di perusahaan sebelumnya, kepala teknik dan insinyur utama memutuskan untuk memecah aplikasi Ruby on Rails kami menjadi jaringan layanan mikro Go.
Mereka membuat dokumen desain dan diagram arsitektur yang sangat detail. Mereka berusaha sekuat tenaga dan menggunakan Kubernetes, gRPC, templat layanan, seluruh shebang.
Seluruh kepemimpinan teknik senior berasal dari Amazon, di mana mereka terbiasa dengan setiap tim memiliki layanan yang berbeda. Mereka mencoba menerapkan model itu secara langsung. Tetapi masalah kami adalah dengan kepemilikan kode dan pemodelan domain yang buruk.
Seluruh aplikasi dapat berjalan hanya pada beberapa instans EC2.
Apa hasilnya?
Lima tahun kemudian, 70% aplikasi masih berjalan di monolit Ruby on Rails. Tidak pernah menyelesaikan migrasi. Tapi sekarang mereka harus mempertahankan dua sistem.
Tidak ada kepemimpinan asli yang bekerja di sana lagi.