技術・機能解説、ノウハウ|クラウドネイティブ
オブザーバビリティが実現するクラウドネイティブ環境の3ステップ|可視化、洞察、アクション
クラウドサービス、コンテナ化、マイクロサービス、自動化、オーケストレーションなどの技術要素の登場で、急速に進んでいるクラウドネイティブ化。アプリの更新頻度が高まる一方で、単一アプリを構成するプログラムやデータでさえも分散配置されて複雑さが増し、障害時の問題究明やコストの最適化などが困難になっています。
今こそ新しいアプローチ「オブザーバビリティ(可観測性)」が必要です。
オブザーバビリティについての用語解説については、以下をご覧ください。
本記事では、シスコシステムズ合同会社 Technical Solutions Architectの吉原大補氏が「フルスタックオブザーバビリティ」を解説します。
シスコシステムズ合同会社(シスコシステムズ)
テクニカルソリューションズアーキテクト 吉原 大補 氏
▼ 目次
・複雑な分散システムを可視化する「オブザーバビリティ」と「フルスタックオブザーバビリティ」
・フルスタックオブザーバビリティが目指すビジョン
・現時点で3種類のツールがフルスタックオブザーバビリティに対応
・CTCのDX_LABのマルチクラウド環境で検証
1. 複雑な分散システムを可視化する「オブザーバビリティ」と「フルスタックオブザーバビリティ」
従来の三層アーキテクチャは、Webサーバ、アプリケーションサーバ、データベースからなり、これらは物理的に一か所にまとめて配置されるため、その周辺をモニタリングしていれば監視は十分でした。ところが、クラウドネイティブの世界においてアプリケーションはコンテナで提供され、目的に応じて複数のインフラ上に分散配置され、各クラウドと連携するようになりました。従来の監視手法とツールでは、通信経路や相互依存関係を追跡するのは容易ではありません。
こうした背景から、モニタリングに変わる概念として、最近のITの世界で注目を集めているのが、オブザーバビリティ(可観測性)です。一般的には、メトリクス、イベント、ログ、トレース(MELT)の4つデータクラスを用いて、分散システムで実際に何が起きているかを可視化し、問題の根本原因を究明したり、システムのパフォーマンス向上につなげたりすることを意味しています。
例えばシスコシステムズでは、オブザーバビリティの概念を拡張した「フルスタックオブザーバビリティ」を提唱しています。
「フルスタックオブザーバビリティでは、物理的な広がり(横方向)として、クラウド、企業ネットワーク、個人端末、データセンター、エッジ、世界各国のインターネットを観測します。さらに、インフラの各レイヤー(縦方向)として、コンピューティング、ストレージ、ネットワーク、仮想サーバー、コンテナ、サーバーレス、アプリケーション、ユーザー、ビジネスまでを可視化の対象としています。つまり、横と縦の両方向をカバーすることがフルスタックオブザーバビリティの基本コンセプトです」と、シスコシステムズの吉原氏は語ります。
図1:フルスタック オブザーバビリティの概念図
2. フルスタックオブザーバビリティが目指すビジョン
フルスタックオブザーバビリティが目指すビジョンは、「可視化する」「洞察する」「アクションを起こす」の3つのステップで成り立ちます。
可視化のステップでは、縦方向・横方向の様々なリソースからデータを取得。洞察のステップでは、取得したデータを機械学習・AIを用いて分析し、関連付けられた情報からインサイトを抽出。そして最後のアクションのステップで、インシデントへの対応、インフラサイズやコストの最適化、ネットワーク経路や帯域の変更、セキュリティーの適用と自動防御など、具体的な行動に落とし込んでいきます。
「フルスタックオブザーバビリティは、データ分析により、問題発生前、あるいは問題発生直後から短時間での解決を重要視しています。多くの企業は、システムの可視化を実現できていたとしても、洞察とアクションは人に頼っていました。しかし、システムが複雑化した今、人力に頼るのも限界を迎えています。フルスタックオブザーバビリティを採用することで、これらの課題を解消することができます」(吉原氏)
図2:フルスタックオブザーバビリティの技術的なビジョン
3. 現時点で3種類のツールがフルスタックオブザーバビリティに対応
現在シスコシステムズが提供するフルスタックオブザーバビリティのツールは3種です。アプリケーションパフォーマンス管理の「AppDynamics」、ネットワークの影響を把握する「ThousandEyes」、各種リソースを可視化し相関関係を明らかにする「Intersight Workload Optimizer(IWO)」。それぞれのツールは元々単独で開発・販売されてきましたが、各製品を統合して、フルスタックオブザーバビリティを実現していきます。各製品がデータソースとなり、ビジョンである、「可視化」「洞察」「アクション」の3ステップでビジネスプロセス全体を観察し、制御することが可能になります。
また、IWOはハイブリッド・マルチクラウド環境の運用を効率化するクラウド型ソリューション「Cisco Intersight」で提供するコンポーネントの1つです(参照:クラウドネイティブ時代のITインフラ管理の新常識)。このことからも、フルスタックオブザーバビリティとCisco Intersightは、密接に結びついていることがわかります。
- AppDynamics
アプリケーションパフォーマンス管理(APM)ツールに分類されるものです。基本的にエージェントをホストにインストールして利用します。ダッシュボード上には、アプリケーションの依存関係やそれぞれの通信状況、データベースのアクセス先などを自動的に可視化して表示します。アプリケーション間の通信に遅延が発生し、機械学習を用いて自動的に算出された閾値を超えた場合は「異常あり」と検知して知らせることができます。閾値は機械学習の他マニュアルで指定することも可能です。
依存関係を可視化するだけでなく、アプリケーションの性能をコードレベルで自動観測できるのもAppDynamicsの大きな特徴です。大幅な遅延が発生した際も、プログラミングコードの行数まで検知するため、開発エンジニアやSREにとっても役に立つツールといえます。
また、アプリケーション遅延を即座に特定でき、顧客のデジタル体験を最適化します。全トランザクションから、「売上高」や「支払い金額」などのビジネスのメトリックを取得し、不具合の発生によるビジネスへの影響をリアルタイムに把握することも可能です。
「例えば、ログインは問題ないものの、サービス検索で85%のユーザーに何らかの問題があるといった場合、誰が、いつ、どのデバイスでアクセスし、それに対してどのような不具合があり、何人に影響が及んでいるかを可視化します。さらに、これによって被る潜在収益ロスの金額まで詳細に表示することも可能です。これらの洞察結果をもとに、自動最適化、CI/CDパイプラインへのロールバック、インシデント管理ツールとの連携など、次なるアクションを取ることで、影響を最小化できます」(吉原氏)
さらに、AppDynamicsのアドオン機能として動作するCisco Secure Applicationは、ランタイムでのアプリケーションの脆弱性検知を行うとともに、悪意あるユーザーからの攻撃を検知してブロックするといったランタイムアプリケーションセルフプロテクション(RASP)を提供し、アプリケーションの安全な運用に寄与します。
図3:AppDynamicsによる管理イメージ(出典:シスコシステムズ)
- ThousandEyes
ネットワークの経路全体を可視化するツールです。クラウドサービス全体をアプリケーション、インフラ、ネットワークを含めてマルチレイヤーで可視化し、問題発生箇所を早期に特定します。特に、ネットワークの経路をエンドツーエンドでパスを可視化し、問題がある箇所を早期に可視化できるのが大きな強みです。
「従来のネットワーク監視といえば、Pingを使用して監視対象の装置にコマンドを送り、死活監視や経路監視をするのが一般的でしたが、ThousandEyesでは、ネットワークアクセスを自動で認識し、全体図をグラフィカルなイメージで表示し、通信障害、ネットワーク障害、DNSサーバーの障害などが発生すると、自動的に障害箇所を通知します」(吉原氏)
エンドツーエンドの可視化を実現する裏には、「クラウドエージェント」「エンタープライズエージェント」「エンドポイントエージェント」という3種類の可視化機能があります。クラウドエージェントは、グローバルに世界170都市以上に配置したエージェントです。シスコシステムズが運用し、世界中のユーザーが共通して利用します。これにより、世界中のインターネット、Webサービス、クラウドサービスのネットワーク経路を特定し、障害を検知することが可能になります。エンタープライズエージェントは、自社ネットワークやデータセンター、支店、クラウド上にインストールするエージェントで、社内からクラウドへのアクセスを可視化します。エンドポイントエージェントは、エンドユーザーの端末のOSにインストールし、端末からのサービスレベルを監視します。
図4:ThousandEyesによる監視対象(出典:シスコシステムズ)
世界各地のネットワークからエンドユーザーの端末まで、エンドツーエンドで監視することで、自社ネットワークが問題なのか、インターネット網が問題なのか、クラウドサービスが問題なのかを即時に特定できます。2020年9月に発生したMicrosoft 365の大規模障害でも、ThousandEyesによって不具合が発生した時間帯、原因、障害が発生したコンポーネントを特定した実績があります。
- Intersight Workload Optimizer(IWO)
インフラからアプリケーションまですべてを可視化し、複雑な相互依存関係をマッピングするクラウド型サービス(SaaS)です。これらは従来異なる複数の管理ツールを用いるのが一般的ですが、IWOは同一グラフ上に可視化できるのが特長です。また、AIを使ってリアルタイムに解析し、問題が発生する前に先手を打って回避したり、アプリケーションが利用するCPUやメモリなどのインフラリソースの増減を促したりしながら、パフォーマンスとコストを最適化します。
「IWOとAppDynamicsを組み合わせることで、アプリケーション遅延を指標に用いながら、CPU等のリソースが過剰な時はリソースの削減を促し、逆にリソースが不足しそうなときには前もってリソースの増強を促します」(吉原氏)
図5:Intersight Workload Optimizer(IWO)による管理イメージ(出典:シスコシステムズ)
4. CTCのDX_LABのマルチクラウド環境で検証
Intersight Workload Optimizer(IWO)によるフルスタックオブザーバビリティは、CTCの総合検証・研究開発施設であるTSC(テクニカルソリューションセンター)に開設された「DX_LAB」で自由に試すことができます。TSCのDX_LAB環境(オンプレミス)とCTCのデータセンター間は閉域網(専用線)でつながっており、TechnoCUVIC VP(VMwareを基盤としたプライベートクラウドサービス)やCUVICmc2(SAP ERP特化型)といったホステッド・プライベートクラウドや、Amazon Web Services、Microsoft Azure、Google Cloud Platformといったパブリッククラウドとの連携により、マルチクラウド環境での連携やコンテナ移行などのPoCや検証も可能です。
マルチクラウド環境での検証では、大型IP負荷試験機(IXIA:イクシア)を利用して、数十Gbpsの負荷をかけて試験を行うことができます。クラウドネイティブで作成したアプリケーションが、オンプレミス、クラウドサービスと分散した環境で稼働している中、大量の負荷をかけるとどのような挙動をし、どのような障害が発生するかを検証、洞察することで、アクションを起こすことが可能になります。
クラウドネイティブ時代のアプリケーション開発に向けて、TSCのDX_LAB環境をご活用ください。
CTCの総合検証・研究開発施設TSC(テクニカルソリューションセンター)について詳しくはこちら。