学ぶ

マイクロサービスとは? 今さら聞けないDX関連用語をわかりやすく解説

DXを進めていくなかで、「マイクロサービス」という言葉を耳にしたことがある人も多いのではないでしょうか。「マイクロサービス」とは何か、みなさんは知っていますか?
この記事ではマイクロサービスの説明および活用するメリットや注意点についてまとめています。
システムを迅速に開発・改修するための技術として注目のワードになりつつあるマイクロサービスについて学びましょう。

マイクロサービスとは?

マイクロサービスアーキテクチャは、複数の小規模かつ軽量で互いに独立したサービスを組み合わせて、システムを構築する方法です。各サービスが1つのアプリケーションとして動作するとともに他のサービスと協調することで、全体として1つのアプリケーションになります。

マイクロサービスアーキテクチャは、単に「マイクロサービス」と略されることもあります。
たとえば、「マイクロサービスを採用する」などと表現されている場合は、「マイクロサービスアーキテクチャ」を指すことが多いでしょう。

マイクロサービスアーキテクチャと比較されるのが、モノリシック(monolithic)です。モノリシックは「巨大な、一枚岩の」という意味で使われています。
さまざまな機能を持った一枚岩(モノリシック)のシステムを構築するのではなく、機能ごとに独立した小さな(マイクロ)サービスを組み合わせて1つのシステムを構築する手法がいま注目されています。

電車の切符の販売システムで例えてみましょう。

  • 切符の予約サービス
  • チケット発券サービス
  • 運賃サービス
  • 販売・収入管理サービス

など、さまざまな小規模のサービスから構成されていますね。「サービス」は、ここでは機能と読み替えてもよいでしょう。

モノリシックなシステムでは、これらの機能を1つにまとめたシステムで構成されており、データを1か所で管理することが多くありました。
一方、マイクロサービスアーキテクチャでは、これらのサービスが1つずつ独立して、データも分割して管理されます。

マイクロサービスアーキテクチャを活用すべき理由

DXを実現するには、事業環境の変化に俊敏に適応し、ビジネスサイクルを素早く回す仕組みが求められています。社会や市場、顧客ニーズの変化に対応し、素早くかつ低コストに価値あるサービスを提供していくことが重要です。

そのためには一部の機能を改修・追加しても、他の機能の改修が最小限になるような、各機能が分離・独立しているシステムであることが望ましいとされています。
マイクロサービスアーキテクチャを活用するとこうしたことを実現しやすくなります。

マイクロサービスアーキテクチャの活用によって実現できること

マイクロサービスアーキテクチャを活用することで、具体的にどのような効果を実現できるのでしょうか。大きく分けると2点あります。

①俊敏な開発(改修)が実現できる

各サービスが独立しているため、一部の機能に修正が発生した場合でも、他のサービスに対する修正が不要です。影響範囲が小さくなり、修正に必要な作業量が抑えられます。
また、修正後のテストについても、修正したサービスをメインとしてテスト範囲が限定されます。そのため、テストに要する期間やコストも少なくて済みます。

たとえば、ECサイトを修正する場合を考えてみましょう。
ECサイトには、商品管理、決済、受注管理、顧客管理、配送等のさまざまなサービスが含まれています。

商品の選択画面だけを改修したい場合、モノリシックなシステムでは、決済サービスも改修する必要があるか調査し、決済サービスの改修やテストなども必要となることがあります。
マイクロサービスアーキテクチャでは商品の選択画面と決済サービスがそれぞれ独立しているため、基本的には商品の選択画面の改修だけでよくなります。さらに、機能ごとに十分なテストが行いやすくなり、品質の低下を防ぐこともできます。

②柔軟な構成が実現できる

サービスの入れ替えを伴うような構成の変更をするときも、大きな影響を発生させずに柔軟に対応できます。

たとえば、決済を自社で開発したものから他社のサービスに置き換える場合、モノリシックなシステムは各サービスが密接に結びついているため、影響箇所の調査や検討に多くの時間がかかります。
決済サービスの他に、受注管理、配送等のサービスについても影響を調査する必要があるのです。
一方、マイクロサービスアーキテクチャを採用したシステムの場合は、各サービスの独立性が高いため、柔軟な対応ができます。モノリシックなシステムよりもシステム内の調査・修正・テスト等の量を抑えて、サービスの入れ替えが可能です。

マイクロサービスアーキテクチャを活用する際の注意点

マイクロサービスアーキテクチャを活用することでさまざまなメリットがありますが、マイクロサービスアーキテクチャはすべてのITシステムに適しているわけではありません。マイクロサービスアーキテクチャが適しているITシステムは以下の2つです。

①継続的に変更が発生し、スピーディな対応が求められるITシステム

最初に構築する際には、従来に比べてコストのかかる部分があります。しかし、変更時にはコストが抑えられ、マイクロサービスアーキテクチャ活用のメリットを活かせます。

②規模が比較的大規模なITシステム

ITシステムの規模が小さすぎるとそれ以上サービスを分割することが困難です。そのためITシステム全体として、一定程度の規模があることで、マイクロサービスアーキテクチャを使った効果を得ることができます。

ITシステムを構築する上では、マイクロサービスアーキテクチャを採用するべきか適切な見極めが必要です。

マイクロサービスアーキテクチャを活用しよう  

DXの実践においては、短い改修期間で提供可能なアプリケーション開発を意識しておくことが望ましいとされています。
スピード・アジリティを実現する「マイクロサービスアーキテクチャ」を理解し、組織のDX実現に向けて実践していきましょう。

関連する記事はこちら

APIとは? 今さら聞けないDX関連用語をわかりやすく解説

アジャイルとは? 今さら聞けないDX関連用語をわかりやすく解説

DX実践手引書 ITシステム構築編とは ~DXを成功に導く「ヤタガラス人材」と「スサノオ・フレームワーク」を解説~


concept『 学んで、知って、実践する 』

DX SQUAREは、デジタルトランスフォーメーションに取り組むみなさんのためのポータルサイトです。みなさんの「学びたい!」「知りたい!」「実践したい!」のために、さまざまな情報を発信しています。

DX SQUARE とは