2016年06月23日 08時00分 UPDATE
特集/連載

Computer Weekly製品ガイドマイクロサービス:小さなパーツで大きなメリット

マイクロサービスがITカンファレンスで注目されている。これはコンテナやソフトウェアの移植性というアイデアとも関係が深い。その仕組みと、注目すべき理由について解説する。

[Danny Bradbury,Computer Weekly]
Computer Weekly

 マイクロサービスの概念は、実際のところ新しいものではない。進化したのは実装方法だ。従来のようなモノリシック型のアプリケーションを多数の小さなソフトウェアに分割し、連係して同じ機能を提供するというのがそのアイデアだ。

Computer Weekly日本語版 6月22日号無料ダウンロード

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 コンポーネントベースソフトウェアやWebサービス、それに2000年代初めの「サービス指向アーキテクチャ」(SOA)を経験してきた人であれば、どこかで出会ったことがあると感じるだろう。その目的は似通っている。ではどこが違うのか。

 「マイクロサービスは、あらゆる標準を伴っていたSOAに比べてはるかに軽量だ」。DevOpsコンサルタントSendachiの共同創業者ベン・ウートン氏はそう語る。

 SOAは、複雑なエンタープライズサービスバスに重点を置いたサプライヤー主導の現象で、全てのサービス間で通信する必要があるミドルウェアの1種だった。

 「マイクロサービスのメッセージ標準は緩やかで、軽量メッセージブローカー経由でやりとりされる。ツールは大企業ではなくオープンソースコミュニティーから進化した」とウートン氏は解説する。

スピードとアジリティ

 企業がマイクロサービスに関心を示しているのは、スピードとアジリティをもたらすことができ、比較的小さな機能を取り込めるためだとウートン氏は言う。好例として通貨換算サービスや電子商取引のショッピングカートが挙げられる。

 対応すべきコードベースが小さくなるため、そうしたサービスの開発ペースを速めることができ、変更もしやすい。コードが何百万行にも及ぶ従来のモノリシック型アプリケーションはそのような設計にはなっていない。そうした巨大コードの変更にはあらゆる依存関係が絡むので、テストにも膨大な経費が掛かる。

 もう1つの利点として拡張性の高さが挙げられる。マイクロサービスは設計上、クラウド環境との親和性が高い。クラウドはアプリケーションが必要とするコンピューティングリソースを自由に増減できる。処理能力を高める必要があれば、別のコンピュータクラスタで別のマイクロサービスを始動すれば済む。一方、1台のハードウェア上で拡張する仕様のモノリシック型ソフトウェアは、たとえそれができたとしても、それほど簡単にはいかない。

 こうした分散型コンピューティングではインフラ障害からの復旧も容易になる。マイクロサービスは簡単に交換できる設計なので、特定のサービスが機能しなくなれば、穴埋めのために実行できるものは多数ある。

クラウドネイティブなソフトウェアモデル

 こうした特徴により、マイクロサービスはクラウドネイティブアプリケーションで役に立つ。クラウド環境は多数のコモディティハードウェアリソースで構成され、アプリケーションの需要変動に動的に対応できる。

 そうしたインフラは障害からも素早く復旧できる。サーバが停止したら、インフラ内の別のサーバが引き継ぐ。

 マイクロサービスでそうした運用を行うためには、ITインフラとの通信方法を変える必要があるとウートン氏は解説する。「自動化についてもっと学ぶ必要がある。これまでのアプリケーションは50〜100個の独立したサービスに分割されるかもしれない。耐性を高めるためにそれを複製する必要が生じるだろう。たちまち何百ものプロセスを管理しなければならなくなる」

 マイクロサービスの管理とそれを支えるインフラのプロビジョニングを自動化するためには、コンピューティングスタックを丸ごと変更する必要がある。

ITmedia マーケティング新着記事

news044.jpg

大日本印刷の山口圭介氏が次世代のマーケターに伝えたい「生き方」と「働き方」
B2Bマーケター注目のイベント「Bigbeat LIVE」が2019年8月2日に開催される。そこに登壇す...

news096.jpg

HubSpotが無料のCRMを強化、メール配信と広告管理機能を提供
無料で使える「HubSpot CRM」に、メールマーケティング機能と広告機能が加わった。

news045.jpg

フリーランス活用職種トップ3は「デザイナー」「エンジニア」「動画制作」――ランサーズ調査
ランサーズが企業を対象に実施した「外部人材(フリーランス)活用実態調査」によると9割...