Offcanvas

CIO / How To / 개발자 / 서버 / 애플리케이션 / 클라우드

칼럼 | '기본값이어선 안 된다' 서버리스 컴퓨팅의 단점 4가지

2023.08.30 David Linthicum  |  InfoWorld
서버리스 컴퓨팅이 클라우드 기반 애플리케이션에 널리 사용되고 있다. 그러나 모든 경우에 적합한 것은 아니다. 오히려 서버리스가 비즈니스 가치를 제공하지 못하는 경우가 흔하다.

모니터링 및 통합 가시성 클라우드 서비스 제공업체 데이터독(Datadog)에서 최근 발표한 보고서에 따르면 서버리스 컴퓨팅이 그 어느 때보다 인기가 높다. 데이터독이 기업들의 서버리스 컴퓨팅 사용 현황을 분석한 결과, AWS 고객의 70% 이상, 구글 클라우드 고객의 60%, 마이크로소프트 애저 고객의 49%가 하나 이상의 서버리스 솔루션을 사용하고 있는 것으로 나타났다.

서버리스가 클라우드 개발의 핵심으로 자리 잡은 건 이미 오래다. 신규 및 마이그레이션된 클라우드 애플리케이션을 위한 최적의 개발 플랫폼을 선택하는 데 있어 중요한 요소로 손꼽힌다. 빠르고, 많은 인프라 계획이 필요하지 않으며(거의 필요하지 않다), 애플리케이션의 성능도 우수하다. 당연한 이야기 아닌가? 그런데 그렇지 않다.

서버리스 컴퓨팅은 인프라 관리를 줄이고 개발자의 생산성을 향상시킬 수 있다. 하지만 다른 기술과 마찬가지로 고려해야 할 단점 몇몇이 있다. 
 
Image Credit : Getty Images Bank

콜드 스타트 지연 시간
서버리스 컴퓨팅의 주요 우려 사항 중 하나는 콜드 스타트 지연 시간이다. 가상 머신이나 컨테이너가 사전 프로비저닝되는 기존의 클라우드 컴퓨팅 모델과 달리, 서버리스 기능들은 필요에 따라 인스턴스화(instantiated)되어야 한다. 이러한 특징이 동적 확장이 가능하게 하지만 콜드 스타트라는 지연이 발생한다. 이는 애플리케이션 응답 시간에 영향을 미칠 수 있다는 점에서 문제가 된다.
 
벤더들이 이 문제를 개선해오고 있지만, 실시간 성능 요구 사항이 엄격한 애플리케이션의 경우 여전히 문제가 될 수 있다. 이 문제로 인해 서버리스로부터 벗어나려는 CIO들을 몇 명 본 적도 있다. 

실시간 성능이 필요한 앱에만 해당되는 문제라고 생각할 수도 있겠지만, 이러한 애플리케이션은 생각보다 많다. 지금 당신이 서버리스 플랫폼에 밀어 넣으려는 애플리케이션이 바로 이러한 요구 사항을 가진 것일 수 있다.

공급업체 종속
서버리스 애플리케이션이 클라우드 브랜드 간에 쉽게 이동할 수 있다고 믿는 개발자와 아키텍트들을 여전히 많다. 이는 착각이다. 컨테이너는 이동이 가능하지만 서버리스는 다르다. 서버리스 컴퓨팅 프레젠테이션에서 ‘벤더 종속을 피한다’는 표현이 자주 나왔겠지만, 곧이곧대로 믿어서는 곤란하다.
 
클라우드 제공업체마다 고유한 서버리스 구현 방식을 가지고 있기 때문에 코드와 인프라를 크게 수정하지 않고는 제공업체를 변경하기가 어렵다. 이러한 벤더 종속은 조직의 유연성을 제한하고 변화하는 비즈니스 요구사항에 적응하거나 경쟁력 있는 제품을 활용하는 능력을 저해할 수 있다. 기업들이 점점 더 많은 멀티클라우드 배포로 이동함에 따라 이는 점점 더 중요하게 고려해야 할 사항이 될 수 있다.

디버깅 및 모니터링
서버에 로그인하여 코드를 검사하는 것과 같은 기존의 디버깅 기술은, 서버리스 환경에서는 유효하지 않을 수 있다. 또한 개별 서버리스 기능의 성능과 상태를 모니터링하는 것은 복잡할 수 있으며, 특히 여러 서비스에 분산된 많은 서버리스 기능을 처리하는 경우 더욱 그렇다.

조직은 서버리스 애플리케이션을 효과적으로 디버깅하고 모니터링하기 위한 전문 도구와 기술에 투자해야 한다. 상황이 닥치면 그 필요성을 절감할 것이다. 일련의 지연과 비용 지출을 체감한 후에 말이다.

비용 관리
가장 큰 문제는 배포된 서버리스 시스템의 비용 관리다. 서버리스 컴퓨팅은 인프라를 관리하고 프로비저닝할 필요가 없으므로 비용을 절감할 수 있다. 

그러나 많은 개발자와 아키텍트가 리소스를 과도하게 프로비저닝하는 경우가 흔하며, 이로 인해 비용을 효과적으로 모니터링하고 제어하는 것이 필수적이다. 아울러 서버리스 시스템은 리소스를 백그라운드에서 동적으로 할당하기 때문에 클라우드 리소스 비용을 직접 관리하기는 쉽지 않다. 또한 애플리케이션이 복잡해짐에 따라 프로세스 및 관련 리소스의 수가 증가하여 예기치 않은 과잉 지출이 발생할 수 있다.

조직은 리소스 사용률을 면밀히 모니터링하고 비용 관리 전략을 실행하여 예상치 못한 상황을 방지해야 한다. 대부분의 조직은 그렇지 못한 상황이다. 기업에 따라서는 일부 애플리케이션에 대해 서버리스를 적용하지 않음으로써 비용 최적화를 도모할 수 있다.

서버리스 컴퓨팅은 개발자 생산성을 높이고 인프라 관리 오버헤드를 줄일 수 있다. 애플리케이션 배포를 위한 '쉬운 버튼'이다. 하지만 잠재적인 단점을 고려하고 정보에 입각한 결정을 내리는 것이 중요하다. 신중한 계획, 적절한 아키텍처 설계, 효과적인 모니터링을 통해 조직은 위의 문제를 해결할 수 있다. 특정 애플리케이션에 서버리스 컴퓨팅이 적합하지 않다는 판단이 좀더 늘어나야 한다. 

* David S. Linthicum은 국제적으로 인정받는 컴퓨팅 산업 전문가다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.