[知っておいて損はない気になるキーワード解説]

改めて「マイクロサービス」を紐解いてみる

知っておいて損はない 気になるキーワード解説

2017年3月17日(金)清水 響子

マイクロサービス、RPA、デジタルツイン、AMP……。数え切れないほどの新しい思想やアーキテクチャ、技術等々に関するIT用語が、生まれては消え、またときに息を吹き返しています。メディア露出が増えれば何となくわかっているような気になって、でも実はモヤッとしていて、美味しそうな圏外なようなキーワードたちの数々を、「それってウチに影響あるんだっけ?」という視点で分解していきたいと思います。今回取り上げるのは「マイクロサービス」です。

 1968年、NATO(北大西洋条約機構)のソフトウェア工学会議で初めてソフトウェアの部品化(software components)という概念が示されてから約半世紀。 部品の組み合わせや再利用による開発工数省力化という永年の夢の成就を期待させるアーキテクチャーとして、マイクロサービス(Microservices)に注目が集まっています。

【用語】マイクロサービスとは

 「マイクロ」という言葉が示す通り、サービスを極小の単位に部品化し、独立したサービスの組み合わせによって全体の機能を実現させるのがマイクロサービスの基本的な思想です。例えばECサイトなら、認証、検索、受注、在庫管理といった小さなサービスの単位に業務上の機能を切り分け、各サービスは主にHTTPプロトコルを用い、JSONやXMLといったシンプルな形式のデータをRESTful APIで交換します。「認証」「検索」「受注」はそれぞれ閉じたプロセスのなかで動作しつつ、極小単位の通信を他のサービスと取り交わし、全体としてECサイトを構成します。

 従来型のアーキテクチャーを「モノリシック」(Monolithic:一枚岩)と位置づけた対比による説明を見ると、その概念がわかりやすくなります。マイクロサービスが注目されるきっかけとなった文献「Microservices」ではモノリシックな概念を”a monolithic application built as a single unit”と記載し、「検索」「受注」「在庫管理」といった一連の機能が複雑に関係しながら、1つのデータベース上で単一プロセスとして処理するアプリケーションとして説明しています。

 マイクロサービスもモノリシックも、外部へ提供されるときには同じ姿をしています。「マイクロ」が意味するところは、内部で動作する機能一式の細かさといっていいでしょう。細かさが実現する部品としての独立性や軽量さ、組み合わせやすさといった特徴により、開発工程をモノリシックの制約から解き放つと期待されています。

図1:モノリシックとマイクロサービス:構成要素が複雑に関係する一枚岩のモノリシックアーキテクチャー(左)と異なり、それぞれ独立機能するサービスを繋いで全体サービスを形成する(右)
拡大画像表示

 マイクロサービスは概念であり、システム開発の考え方として取りあげられることが多いようです。一方で、後述のように、IaaSやSaaSのサービスラインアップとしてマイクロサービスが登場するケースも目立ち始めました。

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
  • 1
  • 2
バックナンバー
知っておいて損はない気になるキーワード解説一覧へ
関連キーワード

マイクロサービス / コンテナ / Docker / シフトレフト / DevOps / Cloud Foundry / OpenShift / CoreOS / RESTful

関連記事

トピックス

[Sponsored]

改めて「マイクロサービス」を紐解いてみるマイクロサービス、RPA、デジタルツイン、AMP……。数え切れないほどの新しい思想やアーキテクチャ、技術等々に関するIT用語が、生まれては消え、またときに息を吹き返しています。メディア露出が増えれば何となくわかっているような気になって、でも実はモヤッとしていて、美味しそうな圏外なようなキーワードたちの数々を、「それってウチに影響あるんだっけ?」という視点で分解していきたいと思います。今回取り上げるのは「マイクロサービス」です。

PAGE TOP