Skip to main content
QUICK REVIEW

[논문 리뷰] Microservices as an Evolutionary Architecture of Component-Based Development: A Think-aloud Study

Reza M. Parizi|arXiv (Cornell University)|2018. 05. 30.
Software System Performance and Reliability참고 문헌 7인용 수 8
한 줄 요약

이 연구는 컴포넌트 기반 소프트웨어 개발(CBSD)의 효과적인 구성 요소로 마이크로서비스가 작동할 수 있는지 조사한다. 스케일러빌리티, 복원성, 결합도, 응집도, 데이터 관리 등에 대해 분석한다. 연구 결과, 마이크로서비스는 CBSD에 대한 유망한 진화적 길을 제공하며 재사용 가능하고 확장 가능하며 독립적으로 배포 가능한 시스템을 가능하게 하지만, 일관성, 지연, 표준화 문제로 인해 광범위한 도입에 있어 중요한 장벽이 남아 있다.

ABSTRACT

Microservices become a fast growing and popular architectural style based on service-oriented development. One of the major advantages using component-based approaches is to support reuse. In this paper, we present a study of microservices and how these systems are related to the traditional abstract models of component-based systems. This research focuses on the core properties of microservices including their scalability, availability and resilience, consistency, coupling and cohesion, and data storage capability, while highlighting their limitations and challenges in relation to components. To support our study, we investigated the existing literature and provided potential directions and interesting points in this growing field of research. As a result, using microservices as components is promising and would be a good mechanism for building applications that were used to be built with component-based approaches.

연구 동기 및 목표

  • 마이크로서비스가 컴포넌트 기반 소프트웨어 개발(CBSD)의 구성 요소로 기능할 수 있는지 검토하기 위해.
  • CBSD 맥락 내에서 마이크로서비스의 핵심 아키텍처 특성—확장성, 가용성, 복원성, 결합도, 응집도, 데이터 스토리지—를 분석하기 위해.
  • 특히 대규모 복잡한 시스템에서 마이크로서비스를 구성 요소로 도입할 때의 제약 조건과 과제를 규명하기 위해.
  • 기존 CBSD와 현대 마이크로서비스 아키텍처 간 격차를 메우기 위해 개념적 및 실용적 일치성을 평가하기 위해.
  • 기업 소프트웨어 개발에서 마이크로서비스를 재사용 가능한 구성 요소로 활용하기 위한 향후 연구의 기반을 마련하기 위해.

제안 방법

  • 연구자들이 CBSD 맥락에서 마이크로서비스를 평가할 때의 인지 과정을 분석하기 위해 '생각을 말하기' 연구를 수행하였다.
  • 마이크로서비스 및 컴포넌트 기반 개발과 관련된 71篇의 관련 연구 논문과 체계적 매핑 자료를 종합하였다.
  • 확장성, 가용성, 복원성, 결합도, 응집도, 데이터 일관성 등을 포함한 마이크로서비스의 핵심 아키텍처 특성을 평가하였다.
  • CAP 정리와 같은 이론적 프레임워크를 적용하여 분산 마이크로서비스 시스템에서의 일관성 문제를 평가하였다.
  • 기존 벤치마크 및 마이크로서비스 정의를 검토하여 아키텍처 요구사항에 대한 공감대 부족을 파악하였다.
  • qualitative synthesis를 사용하여 마이크로서비스와 전통적 CBSD 구성 요소를 비교하고 일치점과 차이점을 규명하였다.

실험 결과

연구 질문

  • RQ1RQ1: 컴포넌트 기반 소프트웨어 개발(CBSD) 맥락에서 마이크로서비스를 연구하는 주요 동기는 무엇인가?
  • RQ2RQ2: 마이크로서비스를 CBSD의 구성 요소로 사용할 때의 주요 제약 조건은 무엇인가?
  • RQ3RQ3: 마이크로서비스를 CBSD의 구성 요소로 활용하기 위해 향후 어떤 연구 방향이 필요한가?

주요 결과

  • 마이크로서비스는 높은 응집도, 느슨한 결합도, 독립적 배포 가능성 덕분에 CBSD에서 재사용 가능한 구성 요소로 매우 유망한 잠재력을 보인다.
  • 확장성과 재사용성은 마이크로서비스의 주요 이점으로, 대규모로 진화하는 기업용 애플리케이션에 매우 적합하다.
  • 원격 프로시저 호출로 인해 성능 문제가 발생하며, 이는 분산 마이크로서비스 아키텍처에서 시스템 반응성을 떨어뜨린다.
  • CAP 정리에 따라 일관성 문제는 심각한 도전 과제이며, 특히 분산 데이터 스토리지 간 상태 업데이트를 동시에 조율해야 할 경우 더욱 심각하다.
  • 마이크로서비스 정의와 아키텍처 표준에 대한 공감대 부족은 상호운용성과 CBSD 내 구성 요소로서의 광범위한 도입을 저해한다.
  • 마이크로서비스를 구성 요소로 활용한 경험적 연구는 흐리며, 기존 연구의 재현 가능성 문제는 이 분야의 주요 제약 조건으로 남아 있다.

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

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

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

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