[논문 리뷰] No Free Lunch: Microservice Practices Reconsidered in Industry
이 실증 연구는 51명의 전문가와 14명의 전문가 인터뷰를 통해 산업 현장의 마이크로서비스 실천 방식을 조사하여, 달성된 이점에 기반해 세 가지 성숙도 수준—독립적 개발 및 배포, 높은 확장성 및 가용성, 서비스 생태계—를 밝혀냈다. 연구는 11개의 핵심 과제와 관련된 실천 방식을 규명하여 실무자들에게 인프라 투자 방향성을 제시하고, 연구자들에게는 실제 마이크로서비스의 한계를 해결할 기초 자료를 제공한다.
Microservice architecture advocates a number of technologies and practices such as lightweight container, container orchestration, and DevOps, with the promised benefits of faster delivery, improved scalability, and greater autonomy. However, microservice systems implemented in industry vary a lot in terms of adopted practices and achieved benefits, drastically different from what is advocated in the literature. In this article, we conduct an empirical study, including an online survey with 51 responses and 14 interviews for experienced microservice experts to advance our understanding regarding to microservice practices in industry. As a part of our findings, the empirical study clearly revealed three levels of maturity of microservice systems (from basic to advanced): independent development and deployment, high scalability and availability, and service ecosystem, categorized by the fulfilled benefits of microservices. We also identify 11 practical issues that constrain the microservice capabilities of organizations. For each issue, we summarize the practices that have been explored and adopted in industry, along with the remaining challenges. Our study can help practitioners better position their microservice systems and determine what infrastructures and capabilities are worth investing. Our study can also help researchers better understand industrial microservice practices and identify useful research problems.
연구 동기 및 목표
- 학계의 이상화된 모델과 대비하여 산업 현장에서 마이크로서비스 도입의 실제 상태를 이해하는 것.
- 달성된 이점과 추진력에 기반해 마이크로서비스 시스템의 성숙도 수준을 규명하는 것.
- 마이크로서비스 기능을 제약하는 실질적 문제를 밝혀내고, 기존 해결책과 남아 있는 과제를 평가하는 것.
제안 방법
- 마이크로서비스 실천 방식과 이점 평가를 위해 51명의 산업 현장 전문가를 대상으로 온라인 설문 조사를 실시했다.
- 경험이 풍부한 마이크로서비스 전문가 14명을 대상으로 심층 인터뷰를 수행하여 조직적·기술적 과제를 탐구했다.
- 달성된 이점과 인프라 역량에 기반해 마이크로서비스 성숙도 수준을 분류하기 위한 개념 모델을 개발했다.
- 주제 분석을 통해 설문 및 인터뷰 데이터를 분석하여 반복되는 문제, 실천 방식, 성숙도 패턴을 식별했다.
- 기술적, 조직적, 통합 관련 도메인으로 도메인을 분류하고, 관련 완화 전략을 제시했다.
- 실천 방식을 성숙도 수준에 매핑하여 조직의 지속적 개선 로드맵을 도출했다.
실험 결과
연구 질문
- RQ1RQ1: 산업 마이크로서비스 시스템은 어떤 성숙도 수준으로 분류될 수 있으며, 각 수준의 특성, 추진력, 달성 가능한 이점은 무엇인가?
- RQ2RQ2: 마이크로서비스 개발 능력을 제약하는 공통된 문제들은 무엇이며, 이는 성숙도 수준에 따라 어떻게 다를까?
- RQ3RQ3: 각 성숙도 수준에서 이러한 문제를 해결하기 위해 어떤 실천 방식이 도입되었으며, 아직 해결되지 않은 과제는 무엇인가?
주요 결과
- 마이크로서비스 시스템의 세 가지 명확한 성숙도 수준이 확인되었으며, 각 수준은 특정 이점과 인프라 투자와 관련이 있다: 독립적 개발 및 배포, 높은 확장성 및 가용성, 서비스 생태계.
- 독립적 개발 및 배포 수준이 가장 흔하며, 빠른 기능 제공과 팀 자율성을 가능하게 하지만, 관찰성과 내성성 측면에서 빈도 있게 부족함을 보인다.
- 높은 확장성 및 가용성 수준은 강력한 DevOps 및 SRE 실천을 이행한 조직에서 달성되며, 동적 확장과 높은 시스템 가동 시간을 가능하게 하지만, 높은 운영 전문성 요구가 수반된다.
- 서비스 생태계 수준은 가장 높은 성숙도를 나타내며, 서비스 간 협업, 공동 거버넌스, 플랫폼 수준의 지원이 특징이며, 텐센트 및 이베이와 같은 대규모 시스템에서 관찰된다.
- 11개의 실질적 과제가 규명되었으며, 서비스 디스커버리, 분산 추적, 데이터 일관성, 조직적 사일로 등이 포함되며, 각 과제의 영향은 성숙도 수준에 따라 다를 수 있다.
- 고도로 발전한 조직에서는 서비스 메ッシュ, 카오스 엔지니어링, 자동화된 CI/CD 등의 실천 방식이 도입되었지만, 분산 시스템 디버깅 및 기술적 빚 관리 등의 과제는 여전히 고도로 발전한 조직에서도 널리 퍼져 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.