特集:マイクロサービス入門(5):新規構築や移行時のリスクを軽減、「ストラングラーパターン」とは?

モノリシックなサービスをマイクロサービス化する際、どのように移行させればいいのか。オイシックス・ラ・大地の川上徹氏がOisixのマイクロサービス移行に当たって採用したアプローチと開発プロセスを紹介します。

» 2020年01月23日 05時00分 公開
[川上徹オイシックス・ラ・大地]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 今回は、ECサイトのOisixをマイクロサービスアーキテクチャへ移行するに当たって採用したアプローチを紹介する。OisixはJavaによるServletベースのWebアプリケーションで、画面表示にはJSP(JavaServer Pages)を用いている。このシステムをマイクロサービス化するに当たって、以下の構成になるよう目指した。

  • バックエンドの業務ロジックを全てステートレスな「RESTful API」として実装する
  • フロントエンドの実装をアプリケーションサーバから分離する
  • 迅速にサービスを開発するため、アーキテクチャや開発プロセスを整備する

システム移行のアプローチ

 まず前提として、別のシステムとして新規にスクラッチで構築するのではなく、既存のサイト、業務を回しながら段階的に移行するアプローチを採用した。

 新しいアーキテクチャを採用するに当たって技術的なリスクがあることはもちろん、稼働していないシステムの開発のためにチームを長期間維持するコスト面のデメリットも大きく、事実上不可能と判断したためだ。

ストラングラーパターン

 「システムを段階的に移行する」ためのアプローチとして採用したのがストラングラーパターンだ。既存のアプリケーションと新しいアプリケーションを振り分ける「ストラングラーファサード」というレイヤーを設け、機能の特定部分を新しいアプリケーションに徐々に置き換えながら機能を移行する手法だ。

 Oisixでは、ストラングラーファサードに、以前より利用していたALB(Application Load Balancer)サービスとAPI Gatewayサービスを利用した。

ストラングラーパターンを用いた移行の流れ ストラングラーパターンを用いた移行の流れ

 ALBサービスを用いて新規アプリケーションに対するルーティングを制御し、API Gatewayサービスを用いてRESTful APIとして開発するアプリケーションに対するルーティングを実装した。

 同一ドメインに対するリクエストをパスに応じて振り分けることで、フロントエンドのアプリケーションサーバからの分離と業務ロジックのAPI化を段階的に実施できるようにした。

パイプラインファースト

 昨今「パイプラインファースト」という言葉を聞くことがある。アプリケーションを開発する際、まずCI/CD(継続的インテグレーション/継続的デリバリー)パイプラインを整備するというものだ。これはマイクロサービスアーキテクチャを用いて開発する際にも重要なアプローチだと言える。

 マイクロサービスアーキテクチャを採用して変更に強いシステムを目指すのは、アプリケーションに対して何度もアップデートしたり新機能を追加したりする必要があるからだ。リリースするときの「手動テスト」や「手動デプロイ」といったものを極力減らさないと工数が増えてしまい、開発スピードを落としてしまう恐れもある。自動テストや自動デプロイを取り入れたCI/CDパイプラインを構築することで、マイクロサービスアーキテクチャのメリットを高められるわけだ。

 どの企業でも、新しいアーキテクチャを採用する際にはPoC(Proof of Concept:概念実証)を行ってから導入を進めると思うが、その際にはぜひCI/CDパイプラインも検証項目に含めることを推奨したい。

開発者向けのアプローチ

会員登録(無料) が必要です

続きを読むには、[続きを読む] ボタンを押して会員登録あるいはログインしてください。

Copyright © ITmedia, Inc. All Rights Reserved.

特集:マイクロサービス入門 連載一覧

次回の掲載をメールで受け取る

複雑化、老朽化、ブラックボックス化した既存システムの残存で、2025年以降に予想される経済損失は最大12兆円/年といわれている。これを経済産業省は「2025年の崖」と呼び、企業に警鐘を鳴らす「DXレポート」を公開した。レポートでは、システム開発に取り入れるべきアーキテクチャとして「マイクロサービス」を挙げている。本特集では、マイクロサービスとは何か、システムをマイクロサービスにさせるとどのような課題が生まれるのか、モノリシックなサービスをマイクロサービスに移行させた事例などを通じて、どの場面でマイクロサービスを活用すべきか、現実解を探る。

評判サーチ

株式会社ベルシステム24

良い点 仕事のやりがい・キャリア

企業内で持っている案件や部署が多いので、自分にその部署が合わないと思った時は異動を願い出る事が出来た。また、自分のパフォーマンスによっ...
40代 / 女性 / 元社員(非正社員)/ 企画・事務・管理系

注目のテーマ

編集部からのお知らせ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。