🔨

ストラングラーアプリケーションによるモノリスからマイクロサービスへ

2021/03/24に公開

概要

モノリシックなシステムをマイクロサービス化するに当たって使われるテクニックにストラングラーアプリケーションというものがあります。
今回は、そのストラングラーアプリケーションとは何かについて書いていこうと思います。

ストラングラーアプリケーション

  • ストラングラーアプリケーションを一言で説明するなら、既存システムを徐々に新規システムに移行する方法です。
  • このストラングラーアプリケーション、名付けたのはMartin Fowlerです。

なぜこんな名前に?

  • 由来は、イチジクだそうです。
  • イチジクは、木をつたい徐々に地面に落ちていき、元の木を包み込んでいき、元の木は、はじめは新しいイチジクを支える為の構造物となり、最後は枯れ果て、新しいイチジクだけが残ります。

=> 古いシステムと新しいシステムを共存させ、新しいシステムが成長する時間を与え、古いシステムに置き換えていく姿と似ていることから、ストラングラーアプリケーションと名付けたようです。

詳細

ストラングラーアプリケーションによるモノリスからマイクロサービスへの移行は下記の3つのステップで実装していきます。

ステップ1: 移行対象の機能を定める

  • ステップ1では、既存のシステムのどの機能をはじめに移行対象とするか決めます。

ステップ2: 移行対象をマイクロサービスに移行する

  • ステップ2では、ステップ1で定めた機能をマイクロサービスに実装します。
  • この時まだ、呼び出しは既存のシステムのみを指定しています。

ステップ3: 呼び出しをリダイレクトする

  • ステップ3では、マイクロサービスへの実装が完了し次第、モノリスから呼び出しを新しいマイクロサービスに切り替えます。

まとめ

今回は、モノリスからマイクロサービスへの移行の基本となるストラングラーアプリケーションについて記載しましたが、実際に移行しようとすると考えなければならないこと(例えばデータの移行など)があるので、そこは注意しなければなりません。

参考文献

Discussion