Eコマース企業やオンラインサービス企業などに採用され、注目を集めているソフトウェアアーキテクチャ「マイクロサービス(Microservices)」について、特徴とメリットを解説します。
カップめんを待つ間に、電車の待ち時間に、歯磨きしている間に“いまさら聞けない”ITトレンドが分かっちゃう! 今さら聞けないITの最新トレンドやビジネス戦略を、体系的に整理して分かりやすく解説する連載です。「この用語、案外、分かっているようで分かっていないかも」「IT用語を現場の社員にもっと分かりやすく説明できるようになりたい」――。情シスの皆さんのこんな課題を解決します。
ソフトウェアはさまざまな機能を組み合わせることで、必要とされる全体の機能を実現します。
例えば、オンラインショッピングの業務を処理するソフトウェアは、ユーザーインタフェースとビジネスロジック(顧客管理、注文管理、在庫管理など)という特定の業務を処理する機能を組み合せることで実現します。必要なデータは、全てのロジックで共有するデータベースに格納され、各ロジックは1つのソフトウェアの一部として組み込まれます。もし、複数の注文があれば、その注文の単位でソフトウェアを並行稼働させることで対応できます。このようなソフトウェアをモノリシック(巨大な一枚岩のような)と呼びます。
ただ、このやり方では、商品出荷の手順や決済の方法が変わる、あるいは顧客管理を別のシステム、例えば外部のクラウドサービスを利用するなどの変更が生じた場合、変更の規模の大小にかかわらず、ソフトウェア全体を作り直さなければなりません。
また、変更を重ねるにつれて、当初きれいに分かれていた各ロジックの役割分担が曖昧かつ複雑になり、処理効率を低下させ、保守管理を難しいものにしていきます。さらに、ビジネスの拡大によって注文が増大した場合、負荷が増大するロジックだけの処理能力を大きくすることはできず、ソフトウェア全体の稼働数を増やさなくてはならないため、膨大な処理能力が必要となってしまいます。
このようにビジネス環境が頻繁に変わる世の中にあっては、このやり方での対応は容易なことではありません。
この課題に対応しようというのが、マイクロサービス方式です。このやり方は、ソフトウェアを互いに独立した単一機能の部品に分割し、それらを連結させることで、全体の機能を実現しようとするもので、この「単一機能の部品」を「マイクロサービス」と呼びます。
個々のマイクロサービスは、他とはデータも含めて完全に独立しており、あるマイクロサービスの変更が他に影響を及ぼすことはありません。その実行も、それぞれ単独に実行されます。
この方式を採用することで、機能単位で独立して開発・変更、運用が可能になること、また、マイクロサービス単位で処理を実行させることができるので、処理量の拡大にも容易に対応することができます。
日本IBMで営業として大手電気・電子製造業の顧客を担当。1995年に日本IBMを退職し、次代のITビジネス開発と人材育成を支援するネットコマースを設立。代表取締役に就任し、現在に至る。詳しいプロフィルはこちら。最新テクノロジーやビジネスの動向をまとめたプレゼンテーションデータをロイヤルティーフリーで提供する「ITビジネス・プレゼンテーション・ライブラリー/LiBRA」はこちら。
Copyright © ITmedia, Inc. All Rights Reserved.