「マイクロサービス」に期待が寄せられる一方、この言葉を誤用しているベンダーやプロバイダー、アーキテクト、開発者も少なくない。今回は、私が作成した「マイクロサービスでないもの」のリストを紹介しよう。
ガートナーの米国本社発のオフィシャルサイト「Smarter with Gartner」と、ガートナー アナリストらのブログサイト「Gartner Blog Network」から、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。
マイクロサービスは相変わらず盛んにもてはやされ、熱い期待が寄せられている。こうした分野には、必ずIT企業のマーケティングチームが乗り込んでくる。彼らは、この用語を理解している技術者がターゲットの場合は、ツボを押さえた仕事をすることもある。だが、ピントがずれていて混乱を招いてしまうこともある。
マイクロサービスに関しては両極端な状況が見られる。アプリケーションプラットフォームや開発ツールのベンダーは、おおむねきちんとしている。これは意外なことではない。こうしたベンダーは、マイクロサービスアーキテクチャの何たるかが分かっているであろう技術者を相手にしているからだ。だが、ITリーダーやビジネスリーダーをターゲットとするベンダーは、中身が伴わないものをマイクロサービスという触れ込みで売ろうとする傾向が強い。クールな印象を与えたり、注意を引いたりしたいためだけにそうすることがよくある。
もちろん、「マイクロサービス」には、標準の普遍的定義はない。さまざまなバリエーションや解釈がある。しかし、ほとんど関係がない技術をマイクロサービスとしてくくるのは、市場にとってプラスにならない。同じ用語に対するアーキテクトとITリーダーの理解が異なっていると、混乱やリスクが生じてしまう。
私は調査報告書「Assessing Microservices for Cloud Native Application Delivery(クラウドネイティブなアプリケーション提供に向けたマイクロサービスの評価)」の中で、以下のリストを発表した。これは「マイクロサービスでもマイクロサービスアーキテクチャでもないもの」のリストだ。皆さんがマイクロサービスという言葉を誤用しているベンダーやプロバイダー、さらにはアーキテクト、開発者を見抜き、正しい方向に導くのに役立つようにここでシェアしたい。
最後に、特に重要な点はこれだ。
最後に挙げたのは、「マイクロサービス」という言葉の最もよくある誤用例だ。より具体的には、「Web APIで提供またはエクスポーズされるサービス」を「マイクロサービス」と呼ぶというものだ。これは実に嘆かわしい。サービスの実装をカプセル化することはAPIの本質だ。サービスの実装はマイクロサービスかもしれないし、もっとつまらないものかもしれない。APIのユーザーは、プロバイダーがどのようなアーキテクチャを採用しているかは分からないだろうし気にもしないだろう。
マイクロサービスアーキテクチャは、サービス提供者にとっての実装の詳細だ。適切に実装すれば、サービス提供者はスケーラビリティが高く強靭(きょうじん)で、迅速な改良が可能なサービスを提供できるだろう。だが、サービス提供者が「マイクロサービス」を売り込んできたら、注意が必要だ。それは優れたAPIかもしれないが、あなたの組織がマイクロサービスアーキテクチャを実現するのに役立つ可能性は低いだろう。
上記がチェックリストとして役立つことを願っている。上の各項目の実例を見掛けたり、「マイクロサービス」という言葉の他の誤用例を見掛けたら、@garyolliffeでツイートしてもらえれば幸いだ。
出典:What a Microservice Is Not(Gartner Blog Network)
Copyright © ITmedia, Inc. All Rights Reserved.