使える! 情シス三段用語辞典54「マイクロサービス」

2017/07/19

常に新しい用語が生まれてくる情報システム部門は、全ての用語を正しく理解するのも一苦労。ましてや他人に伝えるとなるとさらに難しくなります。本用語辞典では数々のIT用語を三段階で説明します。

一段目 ITの知識がある人向けの説明
二段目 ITが苦手な経営者に理解してもらえる説明
三段目 小学生にもわかる説明

取り上げる用語を“知らない”と思った人は、小学生にもわかる説明から読んでみると、理解が深まるかもしれません!?

一段目 ITの知識がある人向け 「マイクロサービス」の意味

マイクロサービスとは、小規模で単機能サービスを組み合わせて、システムを構築する手法を指す。決済や在庫管理、発注管理といった業務系処理や、天気、地図などの情報提供などで利用されている。

マイクロサービスは「SOA(サービス指向アーキテクチャ)」という考え方に基づいており、ネットワーク上にあるさまざまなサービスを組み合わせてアプリケーションなどを作ることができる。

マイクロサービスは、近年、シンプルな仕組みを持つ「REST API」というWebのプロトコル(情報交換手法)が使われるようになったことや、稼働させるのに最適なシステムのクラウドの普及もあって、さまざまなサービスが提供されるようになってきている。

二段目 ITが苦手な経営者向け

社長は、これまでコンピューターのシステムやソフトは、1つの大きなソフトウエアの集合体として作られていたことはご存知でしたか?

しかし、この方法では、今日のように変化が激しい社会やビジネスの世界では、大規模なシステムはすぐに古くなって、使えなくなってしまう恐れがあるのです。

そこで考えられたのが「マイクロサービス」という仕組みです。これは「業務単位」や「機能単位」にシステムの機能を分けて、その間の情報のやり取りを、インターネットで使われている技術を使うという方法です。

マイクロサービスは、複雑になりがちだった大規模なシステムを、小規模な「サービス」の集合体にすることができます。そのため、その時々で必要なシステムをくみ上げて、すぐに利用できたり、変更もスムーズに行えたりと小回りがきくようになって、古くならない、変化に強いシステムを作れるのです。

社長のために具体的な例で話しましょう。米国のIBMでは開発したAI(人工知能)型コンピューター「Watson(ワトソン)」で、音声認識や音声合成、画像認識などの「サービス」を別々に提供しています。

そのため、簡単なプログラムを書いてWeb経由でWatsonとデータのやり取りをすれば、ユーザーは、Watsonの必要な機能を使って、最先端の技術を使ったサービスを提供することができるのです。こんなふうにマイクロサービスは使われているのです。

三段目 小学生向け

みなさんは、スーパーマーケットに行きますよね。

スーパーに行くと、たくさんの人が働いているのがわかると思います。たとえば、品物を並べる人、肉や魚を切ったりする人、レジでお客さんが買った品物の代金をもらう人。表からは見えませんが、スーパーに品物を運んでくる人などもいます。

スーパーのようにお店の「しごと」を分けると、あるしごとを分担している人が、具合が悪くなってお休みしても、そのしごとを代わってやってくれる人がいれば、お店のしごとは止まることはないですよね。

スーパーのようにお店のしごとを細かくわけて、それぞれの人が、それぞれの「しごと」(サービス)をすることを、コンピューターの世界では「マイクロサービス(小さなサービス)」といいます。

コンピューターでは、しくみ(システム)で使われています。たとえば、インターネットにあるお店では、「品を表示する」「お客さんが選んだ品物を買い物かごに入れる」「買った品物の代金を支払ってもらう」といった「しごと」(サービス)があります。

今までは、これらのしごとすべてを1つの大きなしくみで行っていました。スーパーでいうと品物を並べるのも肉や魚を切るのもレジで代金をもらうのもひとりの人がやるというイメージです。

しかし、これだと、その人が病気になったり、休んだりすると、しくみが止まってしまいますまた、しくみのどこかに間違いがあったときには、しくみ全体を作り直さなければいけないこともあるのです。

そこで、そうならないように「しごと」を分けて、それぞれのしくみつくり、しくみ同士は情報のやりとりで動くようにしました。すると間違いがあっても、違っている部分だけを直せばよくなったのです。また、「しごと」同士をくっつけて新しいしくみを作ることも簡単にできるようになりました。これがマイクロサービスという方法なのです。