Skip to main content
QUICK REVIEW

[論文レビュー] Performance-oriented DevOps: A Research Agenda

Andreas Brunnert, André van Hoorn|arXiv (Cornell University)|Aug 18, 2015
Software System Performance and Reliability参考文献 1被引用数 38
ひとこと要約

本論文は、ソフトウェア開発ライフサイクル全体にわたり、ソフトウェアパフォーマンス工学(SPE)とアプリケーションパフォーマンス管理(APM)を統合することで、パフォーマンス指向のDevOpsを実現する研究アジェンダを提唱する。モデルベースおよび測定ベースのパフォーマンス評価、PMIF や CIM といった標準規格によるツール間相互運用性、開発と運用の間で自動化されたフィードバックループの構築を提言することで、応答時間やリソース利用率といった非機能的要件がリアルタイムで満たされるようにする。

ABSTRACT

DevOps is a trend towards a tighter integration between development (Dev) and operations (Ops) teams. The need for such an integration is driven by the requirement to continuously adapt enterprise applications (EAs) to changes in the business environment. As of today, DevOps concepts have been primarily introduced to ensure a constant flow of features and bug fixes into new releases from a functional perspective. In order to integrate a non-functional perspective into these DevOps concepts this report focuses on tools, activities, and processes to ensure one of the most important quality attributes of a software system, namely performance. Performance describes system properties concerning its timeliness and use of resources. Common metrics are response time, throughput, and resource utilization. Performance goals for EAs are typically defined by setting upper and/or lower bounds for these metrics and specific business transactions. In order to ensure that such performance goals can be met, several activities are required during development and operation of these systems as well as during the transition from Dev to Ops. Activities during development are typically summarized by the term Software Performance Engineering (SPE), whereas activities during operations are called Application Performance Management (APM). SPE and APM were historically tackled independently from each other, but the newly emerging DevOps concepts require and enable a tighter integration between both activity streams. This report presents existing solutions to support this integration as well as open research challenges in this area.

研究の動機と目的

  • DevOpsにおける開発段階のパフォーマンス工学と運用段階のパフォーランスマネジメントの統合が不足していることに対処する。
  • 歴史的に分離されてきたソフトウェアパフォーマンス工学(SPE)とアプリケーションパフォーマンス管理(APM)を、開発(Dev)と運用(Ops)の間で双方向フィードバックを可能にすることで統合する。
  • 継続的インテグレーションやデプロイメントといったDevOpsの実践とパフォーマンス目標を一致させることで、ソフトウェアライフサイクル全体にわたる継続的パフォーマンス検証を可能にする。
  • 工業的導入を支援するためのツール相互運用性、モデル交換、自動化に関する主な課題を特定し、それらに対処する。
  • 多様なアーキテクチャモデルや矛盾する品質属性を扱える汎用的で拡張可能なフレームワークの開発を促進する。

提案手法

  • 開発(SPE)と運用(APM)の両段階にわたるパフォーマンス管理活動を統合するライフサイクルベースのアプローチを提唱し、測定ベースおよびモデルベースの評価を含む。
  • 異なるツール間でパフォーランスモデルを相互運用可能にするために、PMIF(パフォーマンスモデル交換形式)のような標準化されたモデル交換フォーマットの使用を提言する。
  • DevとOpsチーム間でのパフォーランスメトリクス交換を可能にする共通のデータフォーマット(CIMメトリクスモデル、SMM、OSLC)の活用を提唱する。
  • 早期のパフォーマンス予測を可能にするために、ドメイン固有のモデリング言語(例:UML-SPT、PCM、LQN)およびパフォーランスモデル(例:キューイングネットワーク、負荷強度モデル)の使用を推奨する。
  • 実行時モデルと継続的パフォーランス監視を活用したフィードバックループにより、アーキテクチャ意思決定や容量計画を支援する。
  • 複数のモデリングフォーマットと品質属性評価(例:応答時間、スループット)をサポートするプラグインアーキテクチャを採用したパフォーマンス分析ツールの導入を推進する。

実験結果

リサーチクエスチョン

  • RQ1非機能的品質属性(応答時間やリソース利用率など)が継続的かつリアルタイムに満たされるように、パフォーマンス工学をDevOpsに効果的に統合する方法は何か?
  • RQ2DevOpsライフサイクル全体にわたり、ソフトウェアパフォーマンス工学(SPE)とアプリケーションパフォーマンス管理(APM)を統合するにあたり、技術的および組織的な主な課題は何か?
  • RQ3開発と運用のツール間で、モデルとメトリクスの相互運用性をどのように実現できるか?
  • RQ4標準化されたモデリングフォーマット(例:PMIF、SMM)およびパフォーランス監視規格(例:OSLC)は、パフォーマンス指向のDevOpsにおけるツールチェーン統合をどのように支援するか?
  • RQ5複雑なエンタープライズアプリケーションにおける工業的導入を可能にするために、自動化されたモデルベースのパフォーマンス予測と最適化を一般化・スケーラブルに拡張するにはどうすればよいか?

主な発見

  • 現在のパフォーマンスモデリング手法は主に学術的であり、産業的導入がほとんどないため、より広範な検証とツール支援の必要性が示唆される。
  • DevOps統合にあたって、パフォーマンスモデルおよびメトリクスの相互運用性が極めて重要であるが、PMIF や CIM といった現在の標準規格はまだベンダー間で広く採用されていない。
  • キューイングネットワーク(QN)、レイヤードキューイングネットワーク(LQN)、Palladio Component Model(PCM)といった形式的表現を用いたモデルベースのパフォーマンス評価により、早期のパフォーマンス予測とアーキテクチャ最適化が可能になる。
  • 継続的監視とモデル更新を支援する開発と運用の間のフィードバックループにより、パフォーマンスの予測可能性とシステムの安定性が著しく向上する。
  • 開発と運用の活動が十分に統合されていないことが依然として主要な障壁となっており、現在の大多数の実践ではSPEとAPMが別々のスイカとして扱われている。
  • 複数のモデリングフォーマットと矛盾する品質属性を、プラグイン拡張可能な形で扱える汎用的アーキテクチャ最適化フレームワークはまだ存在しない。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。