Architecture🛠️ 開発体験(DX)💸 コスト削減
Segment (Twilio Segment)
Segment、140以上のマイクロサービスを1つのモノリスに統合
マイクロサービス(宛先ごとの個別サービス)モノリス(単一サービス)
月3件ペースで増える連携先ごとにマイクロサービスを作った結果、共有ライブラリのバージョンばらつきと運用負荷が限界に達し、単一サービスへ回帰した。
何が起きたか
Segmentは顧客データを様々な宛先(Destinations)に転送するサービスで、宛先が増えるたびに個別のマイクロサービス・キュー・リポジトリを作成していた。月平均3件のペースで宛先が増加し、運用対象のサービス数が140以上に膨れ上がった。共有ライブラリの変更を全サービスに反映するには140以上のデプロイが必要で、各サービスが異なるバージョンの共有コードを使う状態になり保守が困難になっていた。Segmentのエンジニアはこれらを1つのモノリスサービスに統合し、CPU負荷とメモリ負荷が異なる宛先処理を同一プロセス内で扱う設計に変更した。結果、共有ライブラリの変更は1回のデプロイで済むようになり、開発者の生産性が大きく改善、不要なアラートも減少した。
2018-05-31
他の事例も見る