Skip to main content
QUICK REVIEW

[논문 리뷰] Performance-oriented DevOps: A Research Agenda

Andreas Brunnert, André van Hoorn|arXiv (Cornell University)|2015. 08. 18.
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 관행과 성능 목표를 일치시킴으로써 소프트웨어 생명주기 전반에 걸쳐 지속적인 성능 검증을 가능하게 한다.
  • 산업적 도입을 지원하기 위해 도구 상호운용성, 모델 교환, 자동화 분야의 핵심 과제를 규명하고 해결책을 제시한다.
  • 다양한 아키텍처 모델과 상충되는 품질 특성(quality attributes)을 지원하는 일반화 가능하고 확장 가능한 프레임워크의 개발을 촉진한다.

제안 방법

  • 개발(SPE)과 운영(APM) 전반에 걸쳐 성능 관리 활동을 통합하는 생명주기 기반 접근법을 제안하며, 측정 기반 및 모델 기반 평가를 포함한다.
  • 다양한 도구 간 성능 모델 간 상호운용성을 보장하기 위해 PMIF(성능 모델 교환 형식)와 같은 표준 모델 교환 형식의 사용을 제안한다.
  • 개발 팀과 운영 팀 간 성능 메트릭스를 교환하기 위해 공통 데이터 형식인 CIM 메트릭스 모델, SMM, OSLC를 권장한다.
  • 조기 성능 예측을 위해 도메인 특화 모델링 언어(예: UML-SPT, PCM, LQN)와 성능 모델(예: 대기열 네트워크, 로드 강도 모델)의 사용을 주장한다.
  • 런타임 모델과 지속적인 성능 모니터링을 활용한 피드백 루프를 통해 아키텍처 결정 및 용량 계획을 지원한다.
  • 다양한 모델 형식과 품질 특성 평가(예: 응답 시간, 처리량)를 지원하는 플러그인 아키텍처를 통해 성능 분 析 도구의 확장성을 높인다.

실험 결과

연구 질문

  • RQ1어떻게 성능 공학을 효과적으로 DevOps에 통합하여 응답 시간과 자원 활용도와 같은 비기능 품질 특성이 지속적으로 충족되도록 할 수 있는가?
  • RQ2DevOps 생명주기 전반에서 소프트웨어 성능 공학(SPE)과 애플리케이션 성능 관리(APM)를 통합하기 위한 주요 기술적 및 조직적 과제는 무엇인가?
  • RQ3개발 및 운영 도구 간 모델과 메트릭스의 상호운용성을 어떻게 달성할 수 있는가? 이를 통해 원활한 성능 피드백을 구현할 수 있는가?
  • RQ4표준 모델링 형식(예: PMIF, SMM)과 성능 모니터링 사양(예: OSLC)은 성능 중심의 DevOps를 위한 도구체인 통합에 어떤 역할을 하는가?
  • RQ5복잡한 기업용 애플리케이션에 대한 산업적 도입을 위해 자동화된 모델 기반 성능 예측 및 최적화를 어떻게 일반화하고 확장할 수 있는가?

주요 결과

  • 기존의 성능 모델링 접근법은 주로 학술 분야에 국한되어 있으며 산업적 도입이 부족한 것으로 나타나, 더 넓은 검증과 도구 지원이 필요하다.
  • DevOps 통합을 위해 성능 모델과 메트릭스 간 상호운용성이 핵심이지만, 현재 PMIF 및 CIM과 같은 표준은 아직 제조사 간 광범위하게 도입되지 않은 상태이다.
  • 대기열 네트워크(QN), 계층적 대기열 네트워크(LQN), PCM(Palladio Component Model)와 같은 형식적 수단을 활용한 모델 기반 성능 평가는 조기 성능 예측과 아키텍처 최적화를 가능하게 한다.
  • 지속적인 모니터링과 모델 업데이트를 기반으로 한 개발자와 운영자 간 피드백 루프는 성능 예측 가능성과 시스템 안정성 향상에 크게 기여한다.
  • 개발 및 운영 활동 간의 밀접한 통합 부족이 여전히 주요 장애물이며, 대부분의 현재 실무에서는 SPE와 APM를 별도의 사일로 프로세스로 간주하고 있다.
  • 다양한 모델 형식과 상충되는 품질 특성을 플러그인 방식으로 처리할 수 있는 일반적인 소프트웨어 아키텍처 최적화 프레임워크는 아직 존재하지 않는다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.