Skip to main content
QUICK REVIEW

[논문 리뷰] Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs

Guilherme Vale, Filipe Figueiredo Correia|arXiv (Cornell University)|2022. 01. 10.
Software System Performance and Reliability인용 수 5
한 줄 요약

이 경험적 연구는 9명의 전문가를 대상으로 한 반구조화된 인터뷰를 통해 산업 현장의 전문가들이 14개의 마이크로서비스 설계 패턴이 일곱 가지 품질 특성(QAs)에 미치는 영향을 어떻게 인식하는지 조사한다. 대부분의 트레이드오프가 문서화된 패턴과 일치하는 것으로 드러났지만, 게이트웨이 집합화에 대한 부정적인 평가와 컴퓨팅 자원 통합에 대한 강력한 찬사 등 새로운 이득과 고통이 존재함을 확인하여 현재 패턴 문서화의 격차를 드러내며, 아키텍트와 연구자들에게 실질적인 통찰을 제공한다.

ABSTRACT

The promise of increased agility, autonomy, scalability, and reusability has made the microservices architecture a extit{de facto} standard for the development of large-scale and cloud-native commercial applications. Software patterns are an important design tool, and often they are selected and combined with the goal of obtaining a set of desired quality attributes. However, from a research standpoint, many patterns have not been widely validated against industry practice, making them not much more than interesting theories. To address this, we investigated how practitioners perceive the impact of 14 patterns on 7 quality attributes. Hence, we conducted 9 semi-structured interviews to collect industry expertise regarding (1) knowledge and adoption of software patterns, (2) the perceived architectural trade-offs of patterns, and (3) metrics professionals use to measure quality attributes. We found that many of the trade-offs reported in our study matched the documentation of each respective pattern, and identified several gains and pains which have not yet been reported, leading to novel insight about microservice patterns.

연구 동기 및 목표

  • 마이크로서비스 설계 패턴의 산업 현장에서의 도입 배경를 이해하기 위해.
  • 특정 설계 패턴이 핵심 품질 특성에 미치는 영향과 그에 따른 이점과 단점(트레이드오프)을 전문가들이 어떻게 인식하는지 조사하기 위해.
  • 전문가들이 마이크로서비스 시스템에서 품질 특성을 어떻게 측정하고 평가하는지, 특히 메트릭과 도구의 사용 방식을 탐색하기 위해.
  • 전문가의 인식과 공식 설명을 비교하여 기존 패턴 문서화의 격차를 식별하기 위해.

제안 방법

  • 경험이 풍부한 마이크로서비스 아키텍트 및 엔지니어 9명을 대상으로 한 반구조화된 대면 인터뷰를 실시함.
  • 마이크로소프트의 애저 아키텍처 센터(Azure Architecture Center, AAC)의 클라우드 설계 패턴에서 '설계 및 구현' 카테고리에 속하는 14개의 설계 패턴을 선정함.
  • 전문가들의 지식, 패턴 도입 배경, 인식된 트레이드오프, 품질 측정 방식을 탐구하기 위해 구조화된 인터뷰 가이드를 사용함.
  • 주제 분석을 통해 인터뷰 기록을 분석하여 반복되는 인식, 이득, 고통, 공식 패턴 문서화와의 괴리점을 식별함.
  • 전문가의 인식을 공식 패턴 설명과 대조하여 기존 문헌의 정확성과 완전성을 평가함.
  • 7개의 품질 특성에 초점을 맞춤: 확장성, 성능, 유지보수성, 신뢰성, 보안성, 가시성, 배포 가능성.

실험 결과

연구 질문

  • RQ1RQ1: 마이크로서비스 시스템에서 패턴이 도입되는 배경는 무엇이며, 전문가들은 이러한 패턴이 해결하는 문제들에 대해 얼마나 인지하고 있는가?
  • RQ2RQ2: 마이크로서비스 설계 패턴의 적용이 품질 특성에 어떻게 영향을 미치며, 전문가들이 인식하는 트레이드오프(이득과 고통)는 무엇인가?
  • RQ3RQ3: 전문가들은 마이크로서비스에서 품질 특성을 어떻게 측정하며, 어떤 메트릭, 도구 또는 기법을 사용하는가?

주요 결과

  • 전문가들은 설계 패턴이 해결하는 문제들에 대해 일반적으로 인지하고 있으나, 종종 이를 공식적인 용어로 인식하지 못함으로써 패턴 리터러시의 격차가 있음을 시사함.
  • 대부분의 패턴에 대한 인식된 트레이드오프는 공식 문서화된 내용과 매우 유사하게 나타나, 현재의 패턴 설명이 신뢰할 수 있음을 확인함.
  • 모든 참여자들이 게이트웨이 집합화를 매우 부정적으로 평가함으로써, 이 패턴의 문서화된 이점이 복잡성과 유지보수 비용을 상쇄하지 못할 수 있음을 시사함.
  • 컴퓨팅 자원 통합은 단지 긍정적인 영향만을 보이며, 심각한 단점은 보고되지 않아 전문가들의 강력한 지지를 받고 있음.
  • 확장성, 성능, 유지보수성과 같은 몇 가지 품질 특성 용어만 일반적으로 사용됨. 전문가들은 종종 추상적인 품질 메트릭보다는 기술적 기법과 도구를 논의함.
  • 이전에 문서화되지 않은 새로운 이득과 고통이 여러 건 보고됨으로써, 현재의 패턴 지식이 일부 경우에 완전하거나 정확하지 않을 수 있음을 시사함.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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