過去の会社では、エンジニアリングの責任者とプリンシパルエンジニアが、Ruby on Rails アプリケーションを Go マイクロサービスメッシュに分割することにしました。 彼らは非常に詳細な設計文書とアーキテクチャ図を作成しました。彼らは全力を尽くして、Kubernetes、gRPC、サービステンプレートなど、すべてを使用しました。 シニアエンジニアリングのリーダーシップ全体はAmazonから来ており、各チームが独自のサービスを所有することに慣れていました。彼らはそのモデルを直接適用しようとしました。しかし、私たちの問題は、コードの所有権と不十分なドメインモデリングにありました。 アプリケーション全体は、ほんの一握りの EC2 インスタンスで実行できた可能性があります。 その結果はどうでしたか? 5年経った今でも、アプリケーションの70%はRuby on Railsモノリス上で実行されています。移行を完了していません。しかし今、彼らは2つのシステムを維持する必要があります。 元の指導者はもうそこでは機能していません。