全3844文字
PR

マイクロサービスの導入を成功に導く3つのポイントが見えてきた。サービス粒度の決定、データベース(DB)の整理・分割、インフラの整備だ。どうすればうまく進められるのか、先行事例や識者からノウハウを学ぼう。

 システムを俊敏に変更したり、負荷に応じてきめ細かく性能調整したりできるなど、マイクロサービスのメリットは大きい。一方で実現のハードルは低くない。先行企業の取り組みから、マイクロサービス導入の成功ポイントが見えてきた。(1)サービス粒度の決定、(2)データベースの整理・分割、(3)インフラの整備だ。順に見ていこう。

(1)サービス粒度の決定

 多くのユーザーが最初に突き当たる壁がマイクロサービスの粒度の決定だ。既存システムより単位が小さいのは当たり前として、小さくし過ぎると連携や管理が煩雑になるし、性能にも悪影響が出るといった課題がある。

 基本的な考え方は、業務ドメインを意識しサービスを分けることだ。レッドハットの須江伸洋テクニカルセールス本部ソリューションアーキテクトマネージャは「ドメイン駆動設計(DDD)を通じてサブドメイン単位でマイクロサービスを設計し、ドメインごとに共通データベースからデータベースをつくる」と基本手順を説明する。

 システムの中でどこから手を付けるかも悩ましい。米マイクロソフトのPrincipal Customer Engineer Fast Track for Azure. Azure CXP. Engineeringである樽沢広亨氏は「いきなり業務を対象にすると面倒が多いので、システムの端からサービス化することを勧める。ユーザーの管理、ログインなどが狙い目だ」と話す。

 JCBは共通機能をマイクロサービス化することが多いという。「開発したシステムの実績では、例えばAPIのゲートウエイとして実装した入出力チェック機能やコード変換などがある」(JCBの片岡亮介デジタルソリューション開発部部長)。

 何をマイクロサービスにするかについて議論するには、IT部門だけでなく業務部門のメンバーも加えるのがポイントだ。「メンテナンスしやすいかどうか、機能追加しやすいかどうかなどは業務部門も入らないと判断できない」(樽沢氏)からだ。

 アイムデジタルラボの鈴木雄介取締役は「最初のアーキテクチャー設計が重要だ。有識者のレビューが効果的なので週次でアーキテクチャー検討ミーティングを開き、そこに各チームが設計を持ち込んで議論している」と三越伊勢丹での進め方を説明する。

 ここでの有識者とは、三越伊勢丹のビジネスやITのありようを知っているメンバーを意味する。そうしたメンバーがレビューすることで、「将来どう変化するか」といった多様な観点からサービス分割についての議論が活発になるという。

図 業務ドメインを意識したマイクロサービスの切り出し例
図 業務ドメインを意識したマイクロサービスの切り出し例
マイクロサービス化の対象を見つける(出所:レッドハットの資料を基に日経コンピュータ作成)
[画像のクリックで拡大表示]