ポイント: 監視とテレメトリーは、アプリケーションのパフォーマンスとシステムの健康状態を評価するためにDevOpsで重要であり、使用パターンやバグの検出を促進し、稼働時間と信頼性を確保します。
- 監視はソフトウェア開発ライフサイクル全体でログとメトリクスデータを収集します。
- テレメトリーはリアルタイム分析のための特定の測定データを提供します。
DevOpsはデータ駆動型のソフトウェア開発ライフサイクル(SDLC)フレームワークです。DevOpsエンジニアは、すべてのソフトウェアコンポーネントと基盤となるハードウェアインフラストラクチャで生成されたログとメトリクスデータを分析します。これにより、さまざまな分野を理解するのに役立ちます:
- アプリケーションとシステムのパフォーマンス
- 使用パターン
- バグ
- セキュリティと規制の問題
- 改善の機会
アプリケーションが5つの9(99.999%以上)の稼働率を持つという貴重なサービスレベル契約(SLA)を達成する前に、広範なアプリケーション監視とテレメトリーが必要です。しかし、監視とテレメトリーとは具体的に何であり、DevOps環境にどのようにフィットするのでしょうか?これについて話し合いましょう。
監視とは?
監視は一般的なITプラクティスです。DevOpsの文脈では、監視はSDLCパイプラインのすべての段階でパフォーマンスとコンプライアンスを観察および検出するために、ログとメトリクスデータを収集するプロセスを含みます。監視には、次のことができるツールが含まれます:
- 特定のログデータストリームを取得する
- メトリクスパフォーマンスの直感的な視覚表現を生成する
- 指定された基準に基づいてアラートを作成する
DevOpsにおける監視の目的は次のとおりです:
- アプリコンポーネントおよびITインフラストラクチャ操作の可視性と制御を改善する。 アプリケーションはサイバーセキュリティからリソース最適化までさまざまです。たとえば、監視ツールは特定のノードでのネットワーク侵害や過剰なネットワークトラフィックのインシデントを警告できます。
- アプリケーションのパフォーマンス問題を監視し、バグを特定し、特定のアプリコンポーネントが本番環境やテスト環境でどのように動作するかを理解する。 デプロイされた後、監視ツールはリソース利用率やワークロード分配を追跡するために複数のメトリクスを警告します。この情報を使用して、エンジニアは動的なトラフィックやワークロードの要求に応じてリソースを割り当てることができます。
- ユーザーや市場の行動を理解する。 この情報は、エンジニアが特定の機能を追加する、ボタンを削除する、またはSLAパフォーマンスをさらに向上させるためにクラウドリソースに投資するなどの技術的決定を下すのに役立ちます。この点におけるプロアクティブな意思決定は、組織が競争の激しいビジネス環境で市場シェアを維持し拡大するのに役立ちます。
(継続的デリバリーメトリクス、監視を含む。)
テレメトリーとは?
テレメトリーは監視のサブセットであり、監視ツールによって提供される測定データを表すメカニズムを指します。テレメトリーは、特定の監視データを抽出するようにプログラムできるエージェントとして見ることができます:
- リソース利用の高ボリューム時間系列情報
- 特定のインシデントに対するリアルタイムのアラート
DevOps監視とテレメトリー
モーターレースのケースを考えてみてください。ファンは、最高速度、Gフォース、周回時間、レース位置などのメトリクスを見ることができます。これらの測定表示はテレメトリーを指します。対照的に、センサーを設置し、データを抽出し、テレビに限定されたメトリクス情報を提供するプロセス全体が監視と呼ばれます。DevOpsの文脈では、測定される最も一般的なメトリクスは、アプリケーションの健康とパフォーマンスに関連しており、さまざまな対応するメトリクスが常にダッシュボードに表示されます。
監視の課題
テレメトリーのさまざまなDevOpsユースケースについて議論する前に、DevOps組織が直面する最も一般的な監視の課題について議論しましょう:
- オペレーション担当者は、インフラストラクチャやアプリでのパフォーマンス問題を見つけるために、多くの時間とリソースを投資しています。
- 開発者は、製品段階で特定された新しいバグや問題に対処するために、しばしば開発作業を中断します。
- 迅速なリリースサイクルアプローチは、アプリをパフォーマンスの問題にさらし、徹底的なテストには時間とリソースが必要で、ビジネスの観点からは正当化されない場合があります。
- 展開手順は複雑です。エンジニアは、マイクロサービス、マルチクラウド、およびハイブリッドIT内の複数の開発ワークストリームを同期し、調整する必要があります。
- 異常は潜在的な問題の兆候です。影響が現れ、グローバルなユーザーベースに広がる前に、損害を特定し、抑制することが重要です。
- セキュリティと規制の制約により、組織はセンシティブなユーザーデータやアプリケーションを運営するハードウェアリソースの深い制御を行い、可視性を維持する必要があります。これは、基盤となるインフラストラクチャがサードパーティベンダーによってオフプレミスで運営されているクラウドネットワークである場合、特に困難です。これにより、限られたログデータ、メトリクス情報、およびハードウェアコンポーネントへの洞察が提供される場合があります。
監視とテレメトリーのユースケース
これらの課題に対処するために、DevOpsチームはさまざまな監視ツールを使用して、アプリ、サービス、または基盤となるインフラストラクチャの将来のパフォーマンスを予測できるパターンを慎重に特定し理解します。DevOpsにおけるテレメトリーの一般的なユースケースには、次のようなメトリクスとユースケースが含まれます:
- ソースコードからのビルドリリースの健康状態
- アーティファクトリポジトリからのログ情報
- CIサーバーでの継続的インテグレーションの失敗
- SDLCパイプラインのさまざまな段階でのテストパフォーマンス
- 特定のアプリ機能に対するユーザーエンゲージメントと可視性
- MTTF、MTTD、およびMTTRなどの稼働時間とパフォーマンスメトリクス
- 異常検出とネットワークトラフィックのルーティング。
データ分析が必要
分析は監視の後に続きます。テレメトリーには、必ずしも分析されたり処理されたりしたログやメトリクス情報が含まれているわけではありません。ログメトリクスのテレメトリーに基づく意思決定は、さまざまなKPIの広範な分析を必要とし、必要に応じて自動化されたアクションをトリガーするために監視システムと統合できます。
関連する読み物
- BMC DevOpsブログ
- IT監視の状態:レポート概要
- 重要なITメトリクスの選択
- DevOpsメトリクスとKPI
- Spring BootアクチュエーターとAspectJを使用したマイクロサービスの監視
- ワークフローオーケストレーションがアプリケーション開発と監視を改善する方法
DevOpsガイド
- DevOpsとは?包括的な紹介
- DevOpsの簡単な歴史
- DevOpsアーキテクチャの紹介
- DevOpsにおける自動化:なぜ自動化し、どのようにDevOpsの実践を自動化するか
- CI/CDとは?継続的インテグレーションと継続的デリバリーの説明
- Jenkinsを使用してCI/CDパイプラインを構築する方法
- CI/CDパイプラインを最適化するためのDevOpsメトリクス
- 継続的デリバリーメトリクス
- 継続的インテグレーションから継続的デプロイメントへの進展 - それともそうではないのか?
- 継続的インテグレーション(CI)、デリバリー(CD)、デプロイメントの違い
- DevOpsにおけるソースとバージョン管理
- 継続的テストとは?
- テスト自動化フレームワーク:究極のガイド
- DevOpsにおけるリリース管理
- 説明:DevOpsにおける監視とテレメトリー
- DevOpsにおけるアプリケーションパフォーマンス管理
- SDLCにおけるDevOpsオーケストレーション
- データベースDevOpsの紹介
- DevOpsにおけるマイクロサービスの役割
- DevOpsにおける仮想化の役割
- コンテナとDevOps:コンテナがDevOpsデリバリーパイプラインにどのようにフィットするか
- コンテナパイプラインとは?
- DevOpsツールチェーンとは?
- DevOpsのためのコンテナとコードの管理
- DevOpsにおけるアジャイルの役割
- DevOpsにおけるクラウドの役割
- FinDevOpsとは?
- 2022年のトップDevOpsトレンド
- DevOpsの価値と原則
- DevOpsメトリクスとKPI
- 小規模、中規模、大規模組織に対するDevOpsのアドバイス
- DevOpsチーム構造
- 今日読むべきトップDevOps書籍
- 『The Phoenix Project: DevOps For Everyone』の書評
- DevOpsのインフルエンサー:Twitterでフォローすべき11人のDevOps専門家
- GitHub、GitLab、Bitbucket、Azure DevOps:違いは何ですか?
- ベストプラクティス:Kubernetes向けにアプリケーションを設計する方法
- DevOpsにおける構成管理
- DevOpsブランチ戦略の説明
- DevOpsの職務タイトル、役割、責任
- DevOpsにおけるテスト:概念、ベストプラクティス、その他
- 2022年の完全なDevOps認定ガイド
- Kubernetesオペレーターのパターンとは?
これらの投稿は私自身の意見であり、BMCの立場、戦略、または意見を必ずしも代表するものではありません。