Skip to main content
QUICK REVIEW

[논문 리뷰] Microservices: Granularity vs. Performance

Dharmendra Shadija, Mo Rezai|arXiv (Cornell University)|2017. 09. 26.
Software System Performance and Reliability참고 문헌 11인용 수 7
한 줄 요약

이 논문은 클라우드 및 IoT 환경에서 마이크로서비스의 세분화 수준과 애플리케이션 성능 간의 상충 관계를 조사한다. 시뮬레이션을 통해 대학 입학 시스템의 단일 컨테이너 및 다중 컨테이너 배포 방식을 비교하여, 두 방식 간의 지연 시간 격차가 미미한 것으로 나타나, 적절히 오케스트레이션된 클라우드 네이티브 아키텍처에서는 세밀한 마이크로서비스가 성능에 심각한 영향을 주지 않음을 시사한다.

ABSTRACT

Microservice Architectures (MA) have the potential to increase the agility of software development. In an era where businesses require software applications to evolve to support software emerging requirements, particularly for Internet of Things (IoT) applications, we examine the issue of microservice granularity and explore its effect upon application latency. Two approaches to microservice deployment are simulated; the first with microservices in a single container, and the second with microservices partitioned across separate containers. We observed a neglibible increase in service latency for the multiple container deployment over a single container.

연구 동기 및 목표

  • 클라우드 및 IoT 환경에서 마이크로서비스의 세분화 수준이 애플리케이션 지연 시간에 미치는 영향을 조사하는 것.
  • 마이크로서비스의 단일 컨테이너 배포와 분산 컨테이너 배포 간의 성능을 비교하는 것.
  • 마이크로서비스 기반 클라우드 애플리케이션을 설계하거나 마이그레이션하는 데 도움이 되는 실용적 가이드라인을 제공하는 것.
  • 특히 엣지 및 클라우드릿 아키텍처를 고려할 때 자원이 제한된 IoT 환경에서의 마이크로서비스 배포 패턴의 영향을 탐색하는 것.
  • 네트워크 대역폭과 같은 환경적 제약 조건에 기반한 마이크로서비스 자동 오케스트레이션의 열린 연구 과제를 규명하는 것.

제안 방법

  • 대학 입학 응용 프로그램을 시뮬레이션하여 두 가지 배포 모델을 사용: 마이크로서비스를 단일 컨테이너에 배포하고, 마이크로서비스를 별도의 컨테이너에 배포하는 방식.
  • 배포 구성에 따라 서비스 호출 응답 시간을 측정하여 성능 영향을 평가.
  • 서비스 분해 및 세분화 수준 결정을 안내하기 위해 마이크로서비스 아키텍처(MSA) 및 도메인 주도 설계(DDD) 원칙을 적용.
  • 특히 네트워크 환경에서 지연 시간과 대역폭 제약이 존재할 경우, 서비스 간 통신 오버헤드의 영향을 평가.
  • 엣지 컴퓨팅과 클라우드릿 환경에서 마이크로서비스가 현지 장치에 함께 위치함으로써 네트워크 의존도를 줄이는 데서의 역할 분석.
  • 분산 마이크로서비스 환경에서의 서비스 간 통신 프로토콜로 ZeroMQ를 기준으로 사용.

실험 결과

연구 질문

  • RQ1클라우드 기반 배포에서 마이크로서비스의 세분화 수준은 애플리케이션 지연 시간에 어떤 영향을 미치는가?
  • RQ2마이크로서비스를 단일 컨테이너에 배포하는 것과 별도의 컨테이너에 배포하는 것 간의 성능 차이는 무엇인가?
  • RQ3세밀한 마이크로서비스 아키텍처에서 네트워크 통신 오버헤드는 종단 간 응답 시간에 어떤 영향을 미치는가?
  • RQ4자원이 제한된 네트워크 자원을 가진 IoT 환경에서 마이크로서비스 배포 패턴은 어떤 영향을 미치는가?
  • RQ5네트워크 대역폭 및 장치 간 거리와 같은 환경적 요소는 최적의 마이크로서비스 세분화 수준에 어떤 영향을 미치는가?

주요 결과

  • 단일 컨테이너 배포와 다중 컨테이너 배포 간의 서비스 호출 지연 시간 차이는 미미하여, 적절히 오케스트레이션된 클라우드 환경에서는 세밀한 마이크로서비스가 성능에 심각한 손해를 주지 않음을 시사한다.
  • 별도의 컨테이너에 배포된 마이크로서비스는 함께 위치한 마이크로서비스에 비해 지연 시간이 약간 증가할 뿐이며, 이는 잘 설계된 시스템에서는 네트워크 통신 오버헤드가 관리 가능함을 시사한다.
  • 연구 결과, 마이크로서비스 설계에서 비즈니스 기능 능력과 팀 구성에 기반한 기능 분해가 성능 중심의 세분화보다 더 중요하다는 것이 확인되었다.
  • IoT 환경, 특히 엣지 컴퓨팅과 클라우드릿 환경에서는 네트워크 통신을 줄이고 내구성을 향상시키기 위해 더 거시적인 마이크로서비스가 바람직할 수 있다.
  • 연구 결과, 마이크로서비스의 세분화 수준은 배포 환경, 네트워크 제약 조건 및 시스템 신뢰성 요구 사항에 따라 영향을 받는다는 점을 강조하며, 맥락 인식이 필요하다.
  • 결과적으로, 통신 패턴과 배포 전략을 신중히 관리한다면, 클라우드 네이티브 시스템에서 세밀한 마이크로서비스의 구현 가능성을 뒷받침한다.

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

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

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

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