サービスメッシュとは? サービスメッシュは、マイクロサービスアーキテクチャでサービス間の通信を管理するインフラストラクチャレイヤーです。高度なトラフィック制御、可観測性、サービスディスカバリー、通信セキュリティを使用して、サービスコードとは独立して動作し、連携の簡素化と最適化を支援します。 デモを依頼
根本原因分析について知っておくべきこと
サービスメッシュの主な機能 API ゲートウェイとサービスメッシュの違い サービスメッシュが重要な理由 サービスメッシュの仕組み サービスメッシュの実装方法 ServiceNow を活用したサービスメッシュソリューション

現代の組織がマイクロサービスを採用してスケーラブルで柔軟なアプリケーションを構築するにつれて、これらの独立したサービス間の通信を管理することが大きな課題となっています。クラウドコンピューティングと分散アーキテクチャの成長に伴い、情報技術 (IT) チームは、信頼性、安全性、効率に優れたサービス間の連携を確保するための手順の複雑化に直面しています。実際、動的で相互接続されたマイクロサービスエコシステムを処理する場合、サービス管理に対する従来のアプローチでは不十分なことがあります。このギャップに対処するために、成功を収めている組織は、サービスメッシュアプローチを採用しています。  

サービスメッシュは、マイクロサービス通信の簡素化と最適化を目的に設計された、専用のインフラストラクチャレイヤーです。サービスメッシュを IT インフラストラクチャに統合することで、組織はサービス間の連携のコントロールと可観測性を向上させることができます。サービスメッシュテクノロジーは、Kubernetes クラスター内に展開する場合でも、より広範なクラウドインフラストラクチャに展開する場合でも、最新の IT 戦略の基盤となりつつあります。 

すべて展開 すべて折りたたみ サービスメッシュの主な機能

サービスメッシュは、複数の機能を単一のまとまりのあるレイヤーに統合することで、マイクロサービスエコシステムに固有の運用とセキュリティの課題に対処します。効果的なサービスメッシュを定義する最も重要な機能には、次のようなものがあります。 

  • 信頼性
    サービスメッシュは、「サイドカープロキシ」(すべてのマイクロサービスインスタンスとともに展開される軽量プロキシ) を使用してトラフィックを管理し、ポリシーを適用することで、安定した効率的な通信を保証します。これにより、複雑な環境でも一貫したパフォーマンスを維持できます。 
  • セキュリティ
    サービス間の通信に暗号化とアクセス制御を組み込むことで、サービスメッシュは転送中のデータを保護します。認証と認可ポリシーの管理を一元化し、マイクロサービスがネットワーク全体で連携する際の脆弱性を最小限に抑えます。
  • レジリエンス
    サービスメッシュは、再試行、回路遮断、タイムアウトなどのメカニズムを組み込むことで、アプリケーションの全体的なレジリエンスを強化します。これらの機能は、サービス障害やネットワーク中断の影響を軽減し、重要なサービスの可用性を維持するのに役立ちます。 
  • 可観測性
    サービスメッシュは、テレメトリデータの収集、要求フローの追跡、ログの集計により、システムパフォーマンスに関する深いインサイトを提供します。これらの機能は、IT チームがサービスヘルスを監視し、ボトルネックを特定するのに役立ちます。また、問題をより効果的に解決できます。 
  • トラフィック管理
    高度なルーティング機能を備えたサービスメッシュにより、サービス間のトラフィックフローを正確に制御できます。これには、カナリア展開のためのトラフィック分割、動的要求ルーティング、さまざまなシナリオでシステムの動作をテストするためのフォールトインジェクションなどの技術が含まれます。 
  • 分離された通信
    サービスメッシュは、ネットワーク管理をアプリケーションロジックから分離し、サービス通信の変更によってアプリケーション機能が中断されないようにします。この抽象化により、開発が簡素化され、システム全体で一貫した通信手法が維持されます。 
DevOps、可観測性、AIOps の連携 このホワイトペーパーでは、DevOps、可観測性、AIOps の連携によるアプリケーションデリバリの改善とそれを可能にする ServiceNow のソリューションをご紹介します。 詳しくはこちら
API ゲートウェイとサービスメッシュの違い 

API ゲートウェイとサービスメッシュは、マイクロサービスアーキテクチャ内の通信を管理するためのツールです。そのため、接続性、セキュリティ、可観測性の向上という多くの類似点があります。とはいえ、それぞれインフラストラクチャの異なるレベルで動作し、別の種類のトラフィックを対象にします。具体的には、API ゲートウェイはサービスメッシュとは次の点で異なります。 

  • 運用上の重点
    API ゲートウェイの中核的な目的は API を製品として管理することであり、多くの場合、API のバージョニング、分析、開発者向けツールなどが含まれます。一方、サービスメッシュは、マイクロサービスの信頼性とレジリエンスに重点を置いています。 
  • トラフィックの種類と範囲
    API ゲートウェイは、システムへの外部要求の入出を伴う南北方向のトラフィックに重点を置いています。これに対し、サービスメッシュは、システム内のサービス間の通信に重点を置いており、東西方向のトラフィックを処理します。 
  • 主な機能
    API ゲートウェイの主な目的は、中央アクセスポイントとして機能し、外部要求のルーティング、認証の管理、外部システムと内部サービス間の API 連携を可能にすることです。サービスメッシュは、サービスディスカバリーとロードバランシングを可能にし、安全なデータ交換を優先することで、内部通信を改善します。 
  • 展開場所
    ネットワークのエッジに位置する API ゲートウェイは、内部サービスへのアクセスを制御します。サービスメッシュは内部で動作し、マイクロサービスとサイドカープロキシを展開して、インフラストラクチャ内で直接通信を管理します。 
  • セキュリティアプローチ
    外部向けのセキュリティは API ゲートウェイの重要な機能であり、ユーザー認証、認可、IP フィルタリングを通じてアクセスを保護します。一方、サービスメッシュは、サービス間の通信を暗号化し、相互 TLS (mTLS) ときめ細かいアクセス制御を実装することで、内部サイバーセキュリティに重点を置いています。 
サービスメッシュが重要な理由

マイクロサービスアーキテクチャの複雑化に伴い、サービス間の通信管理はますます困難になります。サービスメッシュは、サービス間の通信を一元管理することで、強力なソリューションを提供します。これには多くの明らかなメリットがあります。 

サービスメッシュのメリット

サービスメッシュは、分散システムにおける重要な課題に対処するさまざまな機能を提供します。そのメリットは次のとおりです。 

  • サービスディスカバリー
    動的な環境においてサービスエンドポイントを手動で管理することは、サービスの数が増えるにつれて非現実的になります。サービスメッシュは、レジストリを使用してサービスとその場所をリアルタイムで追跡し、サービスディスカバリーを自動化します。この機能により、運用経費が削減され、環境の変化に合わせてサービスが相互に位置を特定して連携できるようになります。 
  • トラフィック管理
    マイクロサービス間のトラフィックフローを制御する機能は、パフォーマンスと信頼性を維持するために不可欠です。サービスメッシュは、ロードバランシング、要求ルーティング、トラフィック分割などの高度な機能をサポートし、組織がリソースの使用方法を最適化できるようにします。 
  • 大規模なセキュリティ
    分散アプリケーション内で機密データを保護することは困難であり、サービス間で頻繁な通信が行われる場合にはなおさらです。サービスメッシュは、トラフィックを暗号化し、きめ細かなアクセス制御を適用することで、ネットワークセキュリティを強化します。これにより、サービス間の連携が安全に保護され、組織は「ゼロトラスト」セキュリティモデルを採用できます。 
  • 可観測性とトレーサビリティ
    マイクロサービスのパフォーマンスと動作を可視化することは、ボトルネックの特定と問題の解決に不可欠です。サービスメッシュは、測定基準の収集、サービス間要求の追跡、ログの集計により、ビルトインの可観測性を提供します。これらのインサイトは、IT チームがシステムの健全性を監視し、問題をより効果的に解決するのに役立ちます。
  • ネットワークの自動化
    サービス間の通信を手動で管理すると、不整合や運用の非効率化につながる可能性があります。サービスメッシュは、再試行、タイムアウト、回路切断などの主要なプロセスを自動化し、サービス全体で一貫した通信手法を促進します。これにより、人的ミスが減り、システムの全体的な信頼性が向上します。 

    サービスメッシュの課題

    サービスメッシュは大きなメリットをもたらしますが、実装すると特定の課題が生じる可能性があります。サービスメッシュソリューションを検討する際には、次の潜在的な懸念事項に留意してください。 

  • 統合
    サービスメッシュを採用するには、既存のアプリケーション、ツール、ワークフローと統合する必要があり、複雑で時間のかかるプロセスになる可能性があります。組織は、導入前に、現在のインフラストラクチャとの互換性についてサービスメッシュソリューションを評価する必要があります。 
  • 複雑さの増大
    サービスメッシュの導入により、アプリケーションインフラストラクチャにレイヤーが追加され、設定ミスの可能性が高まります。明確なガバナンスを確立し、構成管理のベストプラクティスを採用することで、運用を簡素化し、エラーを削減できます。 
  • 学習曲線
    サービスメッシュには、構成、監視、トラブルシューティングに関する専門知識が必要です。これは、テクノロジーに精通していないチームにとっては難しい課題になる可能性があります。特定の課題に対処するには、チームのトレーニングと文書化に投資して、このスキルギャップを埋める支援を行い、ベンダーサポートを活用します。
サービスメッシュの仕組み 
サービスメッシュは、サービス間の連携を制御するロジックを専用のインフラストラクチャレイヤーに抽象化することで、マイクロサービス間の通信を簡素化し、強化します。この機能を個々のサービスに組み込む代わりに、プロキシを使用して、連携の監視、保護、最適化を容易にします。このアーキテクチャは、データプレーンとコントロールプレーンの 2 つの主要コンポーネントで動作します。これらのコンポーネントを組み合わせることで、あらゆるサービスメッシュの基盤を形成します。

データプレーン

データプレーンは、マイクロサービス間のトラフィックフローの管理を担います。これは、次のようなタスクを処理するように設計されたサイドカープロキシで構成されています。 

  • サービス間で要求を捕捉し、ルーティングを行う 
  • 送信元と宛先の間に暗号化チャネルを確立し、通信を保護する
  • 障害や遅延の発生時にサービス可用性を維持するためのレジリエンス機能を実装する 

これらの機能を管理することで、データプレーンはネットワーク全体の通信を最適化し、個々のマイクロサービスの負荷を軽減します。 

コントロールプレーン

コントロールプレーンは、サービスメッシュの中央管理ハブとして機能します。ポリシーの定義、ルーティングルールの設定、セキュリティ設定の適用を行うためのツールを管理者に提供します。コントロールプレーンは主に以下を行います。 

  • メッシュ内のすべてのサービスとその場所を追跡するサービスレジストリを維持する  
  • 新しいサービスを登録し、非アクティブなサービスを削除することで、サービスディスカバリーを自動化する  
  • 構成をデータプレーンに分散し、サービスオペレーションを中断することなくプロキシが適応できるようにする  
  • テレメトリデータ (測定基準、ログ、トレース) を集計して、システムのパフォーマンスと健全性に関するインサイトを提供する 

コントロールプレーンを使用すると、セキュリティポリシーやトラフィックルールの更新といったサービスメッシュ構成の変更を、サービスを再起動せずにリアルタイムで適用できます。 

サービスメッシュの実装方法

サービスメッシュの展開は 1 回で完了するタスクではありません。既存のマイクロサービスアーキテクチャとの効果的な統合を確保するには、通常、複数のステップで構成される計画的なアプローチが必要です。サービスメッシュの実装に関わる最も重要なステージを以下に示します。

  • 現在のマイクロサービスアーキテクチャの評価
    既存のアーキテクチャを評価し、問題点、拡張性のニーズ、レジリエンスの改善の余地がある領域を特定することから始めます。これは、サービスメッシュに対する明確な目標と期待を確立するのに役立ちます。望ましい成果のチェックリストを作成して、実装を導き、展開後の影響を測定します。 
  • 適切なサービスメッシュソリューションの選択
    さまざまなサービスメッシュソリューションを調査して、目標とターゲット環境に最適なソリューションを決定します。ソリューションを確定する前に、互換性と機能性を検証するための概念実証試験を実施します。
  • 段階的な導入戦略の策定
    全面的な実装を一度に試みることは避けてください。代わりに、サービスの小さなサブセットから始めます。これらのサービスを使用して潜在的な課題を特定し、構成を微調整してから、実装を徐々に拡大します。必要に応じて調整します。
  • サービスメッシュの統合と構成
    段階的な戦略が実施されたら、コントロールプレーンとサイドカープロキシをパイロットサービスに展開します。このフェーズを使用して、サービスメッシュ設定を微調整し、パフォーマンスを最適化します。 
  • 展開中と展開後の監視とトラブルシューティング
    サービスメッシュの可観測性機能を活用して、測定基準、ログ、分散トレースを監視します。アラートとインシデントレスポンスプロセスを確立して、対処が必要な問題を迅速に特定します。パフォーマンスと拡張性を定期的にレビューし、メッシュが意図したとおりに動作していることを確認します。 
クラウドオブザーバビリティの価格設定 パッケージを選択して、お客様のニーズに合った ServiceNow クラウドオブザーバビリティエディションを見つけてください。 詳しくはこちら
ServiceNow を活用したサービスメッシュソリューション 

AI が強化された ServiceNow AI Platform 上に構築された ServiceNow 専用アプリケーションは、メッシュテクノロジーと統合し、組織がサービスメッシュの展開を最適化できるように設計されています。サービスオブザーバビリティは、テレメトリデータをシームレスなプラットフォームに統合することで、チームが依存関係を監視し、潜在的な中断を予測し、サービス問題の根本原因を迅速に特定できるようにします。さらに、サービスマッピングは、デジタルサービスの包括的で動的なビューを提供し、マイクロサービスとインフラストラクチャがどのように相互作用するかを可視化します。これらのソリューションを組み合わせることで、IT チームと DevOps チームは、パフォーマンス、安全性、レジリエンスに優れたサービスメッシュ環境を維持できます。 

これらのアプリケーションを活用することで、組織はサービス認識型の運用を実施して、問題の診断と優先順位付け、トラフィックフローの最適化、カスタマーサービスレベルアグリーメント (SLA) へのコンプライアンスの維持を行うことができます。中断を迅速に特定することで平均解決時間 (MTTR) を短縮し、プロアクティブな問題検出で信頼性を確保します。サービスメッシュアーキテクチャ内のマイクロサービスを動的に追跡し、コンポーネント間の関係を可視化します。これらの機能と追加機能を組み合わせることで、サービスメッシュソリューションを拡張性、安全性、パフォーマンスに優れたデジタルサービスを提供するための安全な基盤にすることができます。  

ServiceNow がサービスメッシュへのアプローチをどのように変革できるかをご覧ください。今すぐデモの予定を立てましょう。

クラウドオブザーバビリティの詳細情報 ServiceNow クラウドオブザーバビリティを活用してクラウドネイティブアプリケーションへの移行を加速する方法をエキスパートがご紹介します。 クラウドオブザーバビリティの詳細を見る お問い合わせ
リソース 記事 ServiceNow とは 可観測性とは? What Is OpenTelemetry? (OpenTelemetry とは?) データシート クラウドインサイト Deliver agile multi-cloud governance with ServiceNow® ITOM Optimization (ServiceNow® ITOM 最適化でアジャイルなマルチクラウドガバナンスを実現) オーケストレーション 電子書籍 ITIL 4 による変更管理のリマスタリング