全4589文字
PR

デジタルトランスフォーメーション(DX)のための開発は速さと変化への対応が求められる。DXに取り組む企業に注目されているのがマイクロサービスアーキテクチャーである。従来型のシステムとはサービスとデータの関係が異なり、データ基盤も考慮が必要になる。

 デジタルトランスフォーメーション(DX)では市場の変化にいち早く対応するため開発のスピードが要求されます。変化に伴って高頻度でリリースを繰り返すような場合でも、開発生産性を保てるようにマイクロサービスアーキテクチャー(Micro Service Architecture、MSA)の採用を検討する企業が増えてきました。MSAは変化に対応しやすいアーキテクチャーとして、DXに取り組む企業に注目されています。

 変化に対応しやすくする目的を達成するには、データ基盤もMSAにフィットさせるといった考慮が必要になります。最終回は、MSAに対応するデータ基盤の考慮のポイントと設計パターンを説明します。

マイクロサービスとデータの関係

 従来型のシステム設計の場合、データは整合性を保った状態で1つのリレーショナルデータベース(RDB)に格納されています。そして多くのアプリケーションコンポーネントから共通して利用されます。従来型のシステム設計はMSAと対比して、モノリシック(一枚岩)アーキテクチャーとも呼ばれます。これまではデータが統合され、共有されることで効率的に利用してきたわけです。

 一方、MSAの場合、データをサービスの中に含めて、単一のサービスでのみ利用するという考え方を採ります。データを複数のサービスから共通して利用できなくなるわけです。

 従来の考え方で設計すると、共通して利用するデータは1つのテーブルとして実装されるのが原則でした。しかし、MSAで設計すると、共通して利用するデータであっても、サービスが別になっていれば、それぞれのサービスがデータを重複して持つという形が基本となります。

 データ基盤をMSAにフィットさせる際に考慮するポイントの1つ目は、既存のデータモデルをそのまま利用するのか、リファクタリング(内部構造を整理)するのか、という点です。

図 マイクロサービスアーキテクチャーにおけるサービスとデータの関係
図 マイクロサービスアーキテクチャーにおけるサービスとデータの関係
データはサービスに包含
[画像のクリックで拡大表示]