Skip to main content
QUICK REVIEW

[논문 리뷰] A comparison between traditional and Serverless technologies in a microservices setting

Juan Mera Menéndez, José Emilio Labra Gayo|arXiv (Cornell University)|2023. 05. 23.
Software System Performance and Reliability인용 수 7
한 줄 요약

이 논문은 AWS를 사용하여 기존 컨테이너 기반 마이크로서비스 기반 전자상거래 애플리케이션을 전통적인 쿠버네티스 아키텍처에서 서버리스 아키텍처로 이주시킬 때의 성능 및 비용 트레이드오프를 평가한다. AWS 람dba, ECS 파게이트, 그리고 데이터베이스 옵션(DynamoDB 및 DocumentDB)을 조합한 9가지 구성에 대해 비교 분석한다. 연구 결과, 서버리스 아키텍처는 운영 오버헤드를 줄여주지만, 워크로드 패턴에 따라 성능 및 비용 결과가 크게 달라지며, 쿨 스타트와 상태 관리가 아키텍처 설계 결정에 중요한 요소로 작용함을 확인했다.

ABSTRACT

Serverless technologies, also known as FaaS (Function as a Service), are promoted as solutions that provide dynamic scalability, speed of development, cost-per-consumption model, and the ability to focus on the code while taking attention away from the infrastructure that is managed by the vendor. A microservices architecture is defined by the interaction and management of the application state by several independent services, each with a well-defined domain. When implementing software architectures based on microservices, there are several decisions to take about the technologies and the possibility of adopting Serverless. In this study, we implement 9 prototypes of the same microservice application using different technologies. Some architectural decisions and their impact on the performance and cost of the result obtained are analysed. We use Amazon Web Services and start with an application that uses a more traditional deployment environment (Kubernetes) and migration to a serverless architecture is performed by combining and analysing the impact (both cost and performance) of the use of different technologies such as AWS ECS Fargate, AWS Lambda, DynamoDB or DocumentDB.

연구 동기 및 목표

  • 기존 쿠버네티스 기반 마이크로서비스를 서버리스 아키텍처로 이주시킬 때의 성능 및 비용 영향을 평가하는 것.
  • 마이크로서비스 환경에서 AWS 람dba 및 ECS 파게이트와 같은 서버리스 기술을 도입할 때의 아키텍처 트레이드오프를 규명하는 것.
  • 시스템 비용과 성능에 미치는 영향을 분석하기 위해 데이터베이스 선택(서버리스인 DynamoDB 대비 프로비저닝된 DocumentDB)의 영향을 평가하는 것.
  • 실제 클라우드 네이티브 프로젝트의 이주 결정을 지원하기 위해 실증 데이터와 오픈소스 프로토타입을 제공하는 것.
  • 쿨 스타트, 상태 관리, 자원 할당과 같은 비트리비얼한 과제를 부각시키기 위한 것.

제안 방법

  • 쿠버네티스와 스프링 부트를 사용하여 기준 마이크로서비스 전자상거래 애플리케이션을 개발하였다.
  • AWS 람dba, ECS 파게이트, 그리고 두 가지 데이터베이스 서비스(DynamoDB(완전히 서버리스), DocumentDB(프로비저닝, 서버리스 아님))를 조합한 9가지 다른 구성으로 애플리케이션을 이주하였다.
  • 통제된 워크로드 하에서 요청 지연 시간과 처리량을 측정하여 성능을 평가하였다.
  • 각 구성에 대해 AWS 가격 모델 기반으로 인프라 비용을 계산하였다.
  • 자동화 스크립트와 모니터링 도구를 사용하여 모든 프로토타입에서 런타임 메트릭을 수집하였다.
  • 모든 구현 및 평가 스크립트를 오픈소스로 공개하여 재현 가능성과 커뮤니티 활용을 보장하였다.

실험 결과

연구 질문

  • RQ1마이크로서비스 환경에서 기존 쿠버네티스와 서버리스 배포 방식(Lambda, Fargate) 간의 성능 특성(지연 시간, 처리량)은 어떻게 다를까?
  • RQ2마이크로서비스 아키텍처에서 서버리스 함수와 관리형 컨테이너, 프로비저닝된 데이터베이스를 사용할 때의 비용 영향은 어떠한가?
  • RQ3서버리스 및 기존 아키텍처에서 데이터베이스 선택(DynamoDB 대비 DocumentDB)이 비용과 성능에 어떤 영향을 미치는가?
  • RQ4쿠버네티스에서 서버리스로의 이주 과정에서 발생하는 주요 비기능적 과제(예: 쿨 스타트, 상태 관리)는 무엇인가?
  • RQ5서버리스 이주에서의 아키텍처 결정이 운영 복잡성과 유지보수성에 얼마나 큰 영향을 미치는가?

주요 결과

  • AWS 람dba와 같은 서버리스 아키텍처는 운영 오버헤드를 크게 줄여주지만, 저조회량 환경에서 쿨 스타트로 인해 지연 시간이 변동성이 크다는 점을 확인했다.
  • ECS 파게이트는 예측 가능한 성능과 람dba보다 낮은 쿨 스타트 영향을 제공하지만, 세분화된 서버리스 함수보다 비용이 더 높다는 점을 확인했다.
  • 특히 간헐적 또는 버스트형 트래픽 패턴에서 서버리스 워크로드에서 DynamoDB는 DocumentDB보다 항상 낮은 비용을 제공했다.
  • 서버리스에서의 오토스케일링 비용은 무료가 아니다. 스케일링 트리거가 적절히 튜닝되지 않으면 성능 저하와 비용 증가가 발생할 수 있다.
  • 쿠버네티스에서 서버리스로의 이주는 배포 변경을 넘어서 아키텍처 리팩터링이 필요하며, 특히 상태 기반 컴ponent의 경우 상당한 재설계가 필요하다.
  • 서버리스와 기존 마이크로서비스 간의 선택은 항상 최적은 아니며, 성능 및 비용 결과는 워크로드 특성과 데이터 액세스 패턴에 크게 의존한다.

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

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

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

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