🔨
ストラングラーアプリケーションによるモノリスからマイクロサービスへ
概要
モノリシックなシステムをマイクロサービス化するに当たって使われるテクニックにストラングラーアプリケーションというものがあります。
今回は、そのストラングラーアプリケーションとは何かについて書いていこうと思います。
ストラングラーアプリケーション
- ストラングラーアプリケーションを一言で説明するなら、既存システムを徐々に新規システムに移行する方法です。
- このストラングラーアプリケーション、名付けたのはMartin Fowlerです。
なぜこんな名前に?
- 由来は、イチジクだそうです。
- イチジクは、木をつたい徐々に地面に落ちていき、元の木を包み込んでいき、元の木は、はじめは新しいイチジクを支える為の構造物となり、最後は枯れ果て、新しいイチジクだけが残ります。
=> 古いシステムと新しいシステムを共存させ、新しいシステムが成長する時間を与え、古いシステムに置き換えていく姿と似ていることから、ストラングラーアプリケーションと名付けたようです。
詳細
ストラングラーアプリケーションによるモノリスからマイクロサービスへの移行は下記の3つのステップで実装していきます。
ステップ1: 移行対象の機能を定める
- ステップ1では、既存のシステムのどの機能をはじめに移行対象とするか決めます。
ステップ2: 移行対象をマイクロサービスに移行する
- ステップ2では、ステップ1で定めた機能をマイクロサービスに実装します。
- この時まだ、呼び出しは既存のシステムのみを指定しています。
ステップ3: 呼び出しをリダイレクトする
- ステップ3では、マイクロサービスへの実装が完了し次第、モノリスから呼び出しを新しいマイクロサービスに切り替えます。
まとめ
今回は、モノリスからマイクロサービスへの移行の基本となるストラングラーアプリケーションについて記載しましたが、実際に移行しようとすると考えなければならないこと(例えばデータの移行など)があるので、そこは注意しなければなりません。
Discussion