IBMのMarket Development & Insights部門は、3月に「企業におけるマイクロサービス2021(Microservices in the enterprise, 2021)」と題する調査レポートを公表した。副題は「マイクロサービスによるスピード、アジリティ、レジリエンシーの実現に向けた企業の取り組み(How organizations are finding speed, agility and resiliency through microservices)」というもの。マイクロサービスの利用状況と課題、メリットについてさまざまなインサイトを提供している。調査結果を紹介してみよう。
調査対象は、大企業および中堅企業の1200名以上の「ITエグゼクティブ」「開発者エグゼクティブ」「開発者」で、この中には、現在マイクロサービスを使用中、または検討中、または近い将来導入を予定しているユーザーが含まれる。
マイクロサービスを利用したアプリケーション
マイクロサービスは、既に10種類以上のアプリケーションで利用されている。「データ分析・ビジネスインテリジェンス」(45%)、「データベース」(41%)、「CRM」(38%)がトップ3だが、最下位の「Webサービス/ファイルサービス」も24%あり、回答者の1/4が適用している。
マイクロサービスを導入して得られた最も重要なメリット
回答結果のグラフは、「ビジネス上のメリット」と「開発上のメリット」に分けられている。
「ビジネス上のメリット」のトップ3は、「顧客満足度の向上、顧客維持」(30%)、「企業や顧客のデータのセキュリティ向上」(29%)、「市場投入までの時間の短縮/市場の変化への対応」(29%)という順。「コスト削減」(20%)よりは対顧客のメリットのほうが上回る、と言える。
「開発上のメリット」のトップ3は、「アプリケーションの品質/パフォーマンスの向上」(28%)、「アプリケーションリソースの増減に対する柔軟性の向上」(27%)、「アプリケーションセキュリティの向上」(26%)の順。「特定のインフラやOSへの依存度の低減」(19%)や「ベンダーロックインの低減」(8%)よりは、アプリケーションの品質向上にメリットを感じる回答者が多い。
以下は、回答結果。
・顧客満足度の向上と維持(30%)
・企業/顧客データのセキュリティ向上(29%)
・市場投入までの時間短縮、市場の変化への対応(29%)
・アプリケーションの品質/性能の向上(28%)
・アプリケーションリソースの増減に対する柔軟性の向上(27%)
・従業員の生産性の向上(26%)
・アプリケーションセキュリティの向上(26%)
・複数のクラウド環境にアプリケーションを柔軟に展開(25%)
・アプリケーションの展開や新機能の導入がより速くなる(25%)
・アプリケーションの情報共有が容易になる(例:APIの利用(23%)
・アプリケーション管理の容易化(22%)
・各マイクロサービスの展開が小規模で独立しているため、リスクが低い(22%)
・アプリケーション開発を自動化する能力の向上(21%)
・より迅速かつ効果的なビジネスの成長(21%)
・コスト削減(20%)
・特定のインフラやOSへの依存度の低減(19%)
・ガバナンスとリスク管理の強化(18%)
・DevOpsツールチェーンの利用拡大(18%)
・イノベーションの拡大(17%)
・アプリケーションのダウンタイムの低減(16%)
・使用するプログラミング言語の範囲の拡大(14%)
・ローコード/ノーコード対応の拡大(13%)
・ベンダーロックインの低減(8%)
マイクロサービス利用の導入・拡大の課題
回答結果のグラフは、「課題(Challenge:青色)」と「重大な課題(Significant Challenge:濃青色)」に色分けされている。両者合計のトップ3は、「マイクロサービスに精通した人材を確保するのが難しい」(54%)、「セキュリティに関する懸念」(53%)、「マイクロサービスの学習の複雑さ」(52%)だが、トップと最下位の間に7ポイントしか差がなく、すべての回答項目のいずれかで、回答者の約半数が「課題」「重大な課題」が感じている、という結果である。
ただし、この結果には、マイクロサービスを利用していない回答者の回答も含まれており、調査レポートは、「マイクロサービス利用者の現実を正確に反映していない可能性がある」と注釈している。
以下は、回答結果(「課題」と「重大な課題」の合計)。
・マイクロサービスに精通した人材を確保するのが難しい(54%)
・セキュリティに関する懸念(53%)
・マイクロサービスの学習の複雑さ(52%)
・データ管理がいまだにモノリシックなアプリ開発に向いている(51%)
・マイクロサービスの実行に必要な最新のインフラが不足している(51%)
・本番環境でのパフォーマンスを予測することの難しさ(51%)
・クラウド環境とオンプレミス環境の統合が難しい(50%)
・マイクロサービスを構築するチームに自律性が欠けている(49%)
・マイクロサービスで再構築した方が良いアプリケーションを評価するのが難しい(49%)
・DevOpsやアジャイルプラクティスに関する社内の専門知識が不足している(48%)
・アプリケーションの構築にかかる時間とコストが不明確である(48%)
・アプリケーションを開発/テスト段階から本番環境に移行するのが難しい(48%)
・他の取り組みの方が優先順位が高い(47%)
・社内に十分な支持者がいない/上級管理職が懐疑的である(47%)
マイクロサービスを利用しない理由、または利用を予定する理由
マイクロサービスを利用しない理由もさまざま挙げられているが、調査レポートは「多くの懸念は、マイクロサービスに精通した適切な人材を導入することで軽減できる」と述べ、さらに「インフラの近代化への取り組みや、モノリシック・アプリケーションやプロセスを近代化させるには、社内体制の変更・シフトが必要になる場合がある」とコメントしている。
以下は、回答結果。
・採用にかかる時間とコストの不確実性(35%)
・社内の専門知識の不足(31%)
・マイクロサービスの学習の複雑さ(31%)
・必要なセキュリティ要件が不足している(29%)
・オンプレミスのアプリケーションをマイクロサービスでリファクタリングするのは難しい(28%)
・自分たちにとっての価値を示すユースケースが不足している(26%)
・ROIを評価したり、効果を具体的に追跡したりする明確な方法がない(24%)
・開発/テスト段階のアプリケーションを本番環境に移行するのが難しい(24%)
・組織内に十分な賛同者がいない/上級管理職が懐疑的である(22%)
・マイクロサービスを使ってデータを管理、共有、保護することが難しい(22%)
・マイクロサービスの開発と管理のための社内ツールが未熟である(21%)
・必要ない/既存のツールがニーズに合っている(21%)
マイクロサービスの認知度(未利用者)
この項目は、マイクロサービスの未利用者を対象にした結果である。回答は、「まったく同意しない」「同意しない」「どちらともいえない」「同意」「完全に同意する」の5つから選択する形式である。
「完全に同意する」のトップ3は、「マイクロサービスは、開発チームに多くのメリットをもたらす」「マイクロサービスを利用することで、チームメンバー間のコラボレーションが向上する」「マイクロサービスを利用することで、人材の確保が容易になる」の順。
反対に、「まったく同意しない」「同意しない」の合計が多い順は、「マイクロサービスはほとんどのニーズに対応できない」「マイクロサービスは、特定のアプリケーションにしか使えないニッチな開発モデルである」「実装が圧倒的に難しい」の順である。
以下は、「完全に同意する」が多いものから並べた回答結果。
・マイクロサービスは、開発チームに多くのメリットをもたらす
・マイクロサービスを利用することで、チームメンバー間のコラボレーションが向上する
・マイクロサービスを利用することで、人材の確保が容易になる
・マイクロサービスを導入するための労力と費用は、それだけの価値がある
・マイクロサービスは、アプリケーション開発において長年の実績を持つモデル
・経営陣の意見の相違や無策により、意思決定が頓挫することが多い
・モノリシックなアプリケーションからマイクロサービスへの変換は非常に複雑である
・マイクロサービスの革新的なペースについていくのは難しい
・実装が圧倒的に難しい
・使用しない、または使用を拡大すると、財務的に不利になる可能性がある
・マイクロサービスは、特定のアプリケーションにしか使えないニッチな開発モデルである
・マイクロサービスはほとんどのニーズに対応できない
マイクロサービスの認知度(利用者)
この項目は、マイクロサービスの利用者を対象にした結果である。こちらの回答も、「まったく同意しない」「同意しない」「どちらともいえない」「同意」「完全に同意する」の5つから選択する形式である。
「完全に同意する」のトップ3は、「マイクロサービスは開発チームに多くのメリットをもたらす」「採用のための努力と費用は価値がある」「マイクロサービスを利用することで、人材を獲得できる」の順。
一方、「まったく同意しない」「同意しない」の合計が多い順は、「マイクロサービスはほとんどのニーズに対応できない」「導入には無理がある」「特定のアプリケーションにのみ適用されるニッチな開発モデルである」の順である。
マイクロサービスの未利用者・利用者を対比すると、たとえば両方の「完全に同意する」でトップの「マイクロサービスは開発チームに多くのメリットをもたらす」は、未利用者の33%がそのように認知しているのに対して、利用者は45%と12ポイント増える。同様の傾向はすべての項目で見られる結果である。
以下は、「完全に同意する」が多いものから並べた回答結果。
・マイクロサービスは開発チームに多くのメリットをもたらす
・採用のための努力と費用は価値がある
・マイクロサービスを利用することで、人材の確保が容易になる
・マイクロサービスを使用することで、チームメンバー間のコラボレーションが向上する
・マイクロサービスは、時代に即したアプリケーション開発のモデルである
・マイクロサービスのイノベーションのペースについていくのは難しい
・マイクロサービスを利用しない、または利用を拡大すると、財務上の問題が発生する可能性がある
・モノリシックなアプリケーションからマイクロサービスへの移行は非常に複雑である
・特定のアプリケーションにのみ適用されるニッチな開発モデルである
・経営陣の意見の相違や無策により、意思決定が頓挫することが多い
・導入には無理がある
・マイクロサービスはほとんどのニーズに対応できない
今後2年間にマイクロサービスを利用する可能性
回答結果は、以下の通りである。
・「非常にそう思う」25%
・「そう思う」31%
・「どちらとも言えない」20%
・「そう思わない」8%
・「まったくそう思わない」2%
・「わからない」14%
マイクロサービスに対する投資/時間/労力は、今後2年間で増えるか、減るか、変わらないか
回答結果は、以下の通りである。
・「増える」78%
・「減る」3%
・「現状のまま」18%
・「わからない」1%
マイクロサービスを利用して、過去2年間に開発された新規アプリケーションの数
マイクロサービスを利用して開発されたアプリケーションの割合
上段が過去2年間、下段が今後2年間の予測である。
調査レポート「Microservices in the enterprise, 2021」(要登録)
[i Magazine・IS magazine]