DevOpsにおけるアプリケーションパフォーマンス管理

DevOpsにおけるアプリケーションパフォーマンス管理

  • ITOps・DevOps
6分で読めます 更新日 Feb 28, 2019

ポイント: アプリケーションパフォーマンス管理(APM)は、DevOpsにおいて重要であり、ユーザーエクスペリエンスを向上させ、開発チームと運用チームの間のコラボレーションを促進するためのリアルタイム監視を可能にします。APMは、問題を特定、隔離、診断するのに役立ち、パフォーマンスの課題に迅速に対応できるようにします。

  • APMはアプリケーションデリバリーのアジリティを向上させます。
  • 継続的なインテグレーションとユーザーエクスペリエンスの監視をサポートします。

企業がDevOps文化にコミットする時代において、現代の専門家はマイクロサービスの価値を学んでいます。マイクロサービスアーキテクチャは、コンテナと連携することで、開発者がインフラストラクチャ環境、アプリケーション環境、リソース構成をコードで標準化および自動化しやすくします。これが実現する方法の一つがアプリケーションパフォーマンス管理です。アプリケーションパフォーマンス管理(APM)は、時にはアプリケーションパフォーマンスモニタリングとも呼ばれます。DevOpsの重要な要素であるAPMは、開発者と運用プロジェクトの利害関係者がアプリケーションのバックエンドをリアルタイムで監視し、レビューできるようにします。APMツールを使用することで、開発者はバグやボトルネックに迅速に対応できます。以下の記事では、次のようにAPMを検討します:

  • DevOps文化と方法論の定義
  • APMとは何か、DevOpsフレームワークにどのように適合するかを探る
  • APMのビジネス価値を考える
  • 企業にとってのAPMの重要性を議論する

アプリケーションパフォーマンス管理とモニタリングに関する事実を知るために読み続けてください:

DevOps文化と方法

DevOpsは、IT開発を強化するビジネス慣行のコアセットであり、開発チームと運用利害関係者の間のコラボレーション、コミュニケーション、統合に焦点を当てています。DevOpsを検討しているビジネスリーダーが最初に行うべきことは、組織内での開発とその役割に関する古い考え方を捨てることです。DevOpsは、運用からの支援と協力を受けてIT部門の中心となります。これは、過去のビジネスでよく見られた頭突き合いを避けることを意味します。DevOpsでは、指摘や透明性、責任の問題は、自動化されたマイクロサービスに置き換えられ、部門間のより良いコミュニケーションとコラボレーションを促進します。継続的インテグレーションと継続的開発の原則へのコミットメントにより、開発者は次の目標に向かって構築することが奨励されます。適切に実装されたDevOpsアプローチの結果は、ソフトウェアビルドを常に提供できるアジリティと柔軟性です。アプリケーション開発のスピードが各スプリントの中心にあるため、APMはDevOpsの新星となっています。

APM方法論

DevOpsにおいて、APMは3つの主要な監視目標を持っています:問題の特定、問題の隔離、そして原因を診断して解決することです。各々を詳しく見てみましょう:

問題の特定

APMフレームワークは、問題が発生する前に積極的に監視することによってユーザーエクスペリエンスを向上させます。企業は、何を監視する必要があるかに応じてさまざまな種類の監視ツールを使用できます。これらのツールは、インフラストラクチャおよびアプリケーションレベルで機能し、ユーザーエクスペリエンスの監視のような受動的なソリューションや、ユーザーの相互作用を合成して問題を明らかにする合成監視のような積極的なソリューションを提供します。これには、問題が発生する際にすべてのユーザー接点とバックエンドの活動を監視するエンドツーエンドの発見サービスが必要です。

問題の隔離

問題が発見され特定されたら、全体の影響を軽減し、トラブルシューティングするために、環境から隔離する必要があります。APMは、任意の環境にコードをデプロイする際に追跡し、分析を提供する必要があります。これにより、開発者はバグ修正を追跡し、問題を解決する最善の方法をA/Bテストできます。

診断

検出され、特定され、隔離された問題は、監視用の自動化されたマイクロサービスを使用して診断の準備が整います。ここでは、問題に対処するために運用利害関係者から開発者に監視が引き継がれます。この段階では、開発者はコードレベルで問題を診断し、診断を決定するのを助けるためにデータのログをレビューし、コラボレーションツールを使用して運用利害関係者とのチャットレベルのコミュニケーションを活用したり、機械学習データパターンに頼ってエラーをフラグ付けできます。

APMのさらなる定義とDevOpsにおけるその位置

DevOpsがより大きなアジリティとアプリケーション開発の精度とスピードについてのものであれば、APMはこの考え方を採用する会社にとって内在的なビジネス価値を持ちます。なぜなら、APMは、継続的なデリバリー環境でエンドユーザーエクスペリエンスを完璧に提供する上で重要な役割を果たすからです。以上のすべてはDevOpsの目標をサポートしています。以下のように:

APMとアプリケーションの依存関係

システムインフラストラクチャや他のサービス、マイクロサービス、ミドルウェア、およびライブラリの間で、アプリケーションには多くの依存関係があります。開発チームがこれらすべての統合されたシステムとプロセスの構成をサポートする方法を持っていることが重要です。これは、すでに高度に統合された空間にコンテナや仮想マシンが急速に採用されていることを考慮すると特に重要です。これらすべてのリソースが互いに依存しているため、構成とアプリケーションの依存関係が監視されることが不可欠です。最高のユーザーエクスペリエンスを作成するために、開発と運用は、全体のインフラストラクチャを構成するすべての部分を監視し維持するために協力しなければなりません。アプリケーションパフォーマンス管理ツールを使用することで、企業向けに高レベルの監視がマイクロサービスとして利用可能になります。

利用シナリオの計画

アプリケーションを管理するために必要なすべてのことを予測することは不可能ですが、トラフィックの急増や特定の機能や製品に対する急激な関心など、APMフレームワーク内でDevOpsのベストプラクティスを実施することで、運用と開発チームは予想されるユーザーパターンやトラフィックの急増をよりよく把握できます。これは、リアルタイムでユーザーを監視するツールによって行われ、開発者が異常なユーザー行動に迅速に対応できるようにします。

アプリケーションデリバリーの管理

最後に、APMツールはDevOpsチームが最も重要なこと、つまりアプリケーションデリバリーを管理できるようにします。これは、アプリケーションに関与するすべての人々、ユーザー、プロジェクトの利害関係者、QAテスター、開発チーム間のコミュニケーションとコラボレーションの環境を育むことによって達成されます。配信されたアプリケーションの成功に重要な役割を果たすすべての人が有用なフィードバックのサイクルの一部です。これにより、チームは以下を効果的に行うことができます:

  • デプロイメントモデルやエンドポイントの変更など、すべての変数を考慮すること。
  • 開発プロセスの各ステップで環境の構成を担当するチーム間で調整すること。
  • 透明性をもってパフォーマンスや前処理テストなど、いくつかの一般的な検証に対してテストを行うこと。
  • 新しい機能や検証がデプロイされる際にアプリケーションを更新すること。

これらの理由から、健全なAPMフレームワークは、DevOpsチームのアプリケーションデリバリープロセスをスムーズに達成するために不可欠です。

企業にとってのAPMの重要性

APMは、組織内でDevOpsの焦点を採用するための不可欠なツールです。企業向けリソースの市場に登場した新しい製品ではありませんが、APMは最近、運用チームと開発チームの間にDevOpsの橋がかけられたことで、単なる運用ツールを超えたものとなっています。新たに実装されたDevOpsの考え方により、適切に実装されたAPMインスタンスは、運用チームと開発チームの両方に重要な情報とコラボレーションを提供できるようになります。その結果、開発チームは、アプリケーションが本番環境に到達するまで通常は手に入らないフィードバック、データ、分析にさらにアクセスできるようになります。APMフレームワークの性質は、DevOpsを補完します。この記事で説明した一例は、APMを使用することで開発者がユーザー計画の観点から何を期待すべきかを理解し、リリース前に予備計画を組み込むのに役立つ方法です。これは、DevOpsの特徴である機能の継続的なデリバリーによってサポートされています。アプリケーションが提供された後でも、APMの強化された監視機能は、ユーザーエクスペリエンスに影響を与える可能性のある厄介なバグやボトルネックの迅速な特定、隔離、診断、最終的な解決を可能にします。このようにして、APMは、DevOpsチームがデリバリー目標に沿った活動を維持しながら、以前のリリースからの問題に集中できるようにするための不可欠なツールです。

BMC:あなたのDevOpsパートナー

あなたの組織をDevOpsに向けて整えることが難しい場合、あなたは一人ではありません。多くのフレームワークやマイクロサービスから選択できるため、可能性は無限に思えるかもしれません。BMCのDevOps専門家があなたの移行の各段階をサポートします。BMCをあなたのDevOpsパートナーとして選べば、リリース時間を大幅に短縮し、DevOps組織がよりスムーズに機能するようにする道を歩むことができます。コラボレーティブなワークフローの構築からそれらのワークフローのオーケストレーションに至るまで、必要なすべてのツールが手元にあります。

DevOpsガイド

  1. DevOpsとは?包括的な紹介
  2. DevOpsの簡単な歴史
  3. DevOpsアーキテクチャの紹介
  4. DevOpsにおける自動化:なぜ自動化が必要か
  5. CI/CDとは?継続的インテグレーションと継続的デリバリーの説明
  6. Jenkinsを使ったCI/CDパイプラインの構築方法
  7. CI/CDパイプラインを最適化するためのDevOpsメトリクス
  8. 継続的デリバリーメトリクス
  9. 継続的インテグレーションから継続的デプロイメントへの進展 - それともそうでないか?
  10. 継続的インテグレーション(CI)、デリバリー(CD)、デプロイメントの違い
  11. DevOpsにおけるソースとバージョン管理
  12. 継続的テストとは何か?
  13. テスト自動化フレームワーク:究極のガイド
  14. DevOpsにおけるリリース管理
  15. 説明:DevOpsにおけるモニタリングとテレメトリー
  16. DevOpsにおけるアプリケーションパフォーマンス管理
  17. SDLCにおけるDevOpsオーケストレーション
  18. データベースDevOpsの紹介
  19. DevOpsにおけるマイクロサービスの役割
  20. DevOpsにおける仮想化の役割
  21. コンテナとDevOps:コンテナがDevOpsデリバリーパイプラインにどのようにフィットするか
  22. コンテナパイプラインとは何か?
  23. DevOpsツールチェーンとは何か?
  24. DevOpsのためのコンテナとコードの管理
  25. DevOpsにおけるアジャイルの役割
  26. DevOpsにおけるクラウドの役割
  27. FinDevOpsとは何か?
  28. 2022年のトップDevOpsトレンド
  29. DevOpsの価値と原則
  30. DevOpsのメトリクスとKPI
  31. 小規模、中規模、大規模組織向けのDevOpsアドバイス
  32. DevOpsチームの構造
  33. 今日読むべきトップDevOps本
  34. 『The Phoenix Project: DevOps For Everyone』の書評
  35. DevOpsインフルエンサー:Twitterでフォローすべき11人のDevOps専門家
  36. GitHub、GitLab、Bitbucket & Azure DevOps:違いは何か?
  37. ベストプラクティス:Kubernetes用にアプリケーションを設計する方法
  38. DevOpsにおける構成管理
  39. DevOpsのブランチ戦略の説明
  40. DevOpsの職務タイトル、役割、責任
  41. DevOpsにおけるテスト:概念、ベストプラクティス、その他
  42. 2022年の完全なDevOps認証ガイド
  43. Kubernetesオペレーターパターンとは何か?

これらの投稿は私自身のものであり、必ずしもBMCの立場、戦略、または意見を表すものではありません。

ITOps・DevOpsの関連記事

The Briefを購読する

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ありがとう

あなたはThe Briefに登録されました
The Briefはメインフレームとエンタープライズオーケストレーション—BMC AMIとControl-M—および、両者に関するアナリストの研究、顧客の展開、イベントをカバーしています。