Serverless Computing Limitations: Why It's Not the Future

서버리스 컴퓨팅의 한계와 전환: 서버리스는 미래가 아니었다

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • 개발자 및 DevOps 엔지니어
  • 서버리스 아키텍처를 도입 중인 팀
  • 난이도: 중간 (서버리스의 한계와 전환 전략을 이해해야 함)

핵심 요약

  • 서버리스는 전용 도구로 한정된 사용 사례에서만 효과적
  • FaaS (Function-as-a-Service)비동기 처리, 웹훅, 배치 작업 등에 적합하지만, 데이터베이스 연동, 상태 관리, 장기 실행 로직은 비효율적
  • Deno의 전략 변화: 전역 서버리스 배포 축소 → 지역 고정 및 장기 실행 프로세스 지원
  • KV 저장소, Durable Objects, 배경 작업 추가로 컨테이너와 유사한 기능 제공
  • 서버리스의 주요 한계: 쿨 스타트, 메모리 제한, 플랫폼 종속성
  • Cloudflare Workers의 Node.js 호환성 문제디버깅 어려움 발생

섹션별 세부 요약

1. 서버리스의 기존 비전과 현실

  • 기존 서버리스의 핵심 주장:
  • "인프라 관리 없이 함수 배포 → 플랫폼이 스케일링"
  • AWS Lambda, Vercel, Cloudflare Workers 등으로 확산
  • 현실 문제:
  • 장기 실행 로직, 데이터베이스 연동, 상태 관리쿨 스타트, 지연, 복잡한 워크어라운드 발생
  • 대부분의 앱은 단일 지역에 고정된 데이터베이스 사용 → 글로벌 배포 효용성 부족

2. Deno의 전략 변경 사례

  • Deno Deploy의 글로벌 지역 축소:
  • 35개 지역 → 6개 지역으로 축소, 성능 개선
  • 엣지 컴퓨팅의 한계로 인한 결정 (데이터베이스 사용 시 지역 고정 필요)
  • 새로운 기능 추가:
  • 지역 고정 (Region Pinning)
  • KV 저장소, Durable Objects, 배경 작업, 캐싱, 빌드 파이프라인
  • 컨테이너와 유사한 기능 재구성

3. 서버리스의 한계와 플랫폼 종속성

  • 기본적인 FaaS 한계:
  • 실행 시간, 메모리, 동시성 제한
  • 쿨 스타트 (Cold Start)로 인한 첫 요청 지연
  • Node.js 호환성 문제 (Cloudflare Workers)
  • 플랫폼 종속성 (Vendor Lock-in):
  • Cloudflare (KV, Durable Objects), Deno (지속적 컴퓨팅), Vercel (Fluid Compute)프로피리터리 서비스
  • 오픈 소스 기술이지만, 인프라 확장성은 플랫폼에 종속

4. 서버리스의 적절한 사용 사례

  • 서버리스가 효과적인 경우:
  • 무상태 엣지 컴퓨팅 (Stateless Edge Compute)
  • 빠른 API, 스케줄링 작업, 배경 작업
  • 서버리스가 적합하지 않은 경우:
  • 데이터베이스 연동, 상태 관리, 장기 실행 로직
  • 전역 배포가 필요한 앱
  • 예시: UserJot은 서버리스로 엣지 로직 처리 → 주요 기능은 컨테이너로 구현

결론

  • 서버리스는 전용 도구로 한정된 사용 사례에만 활용
  • 비동기 처리, 웹훅, 배치 작업 등에 적합하며, 앱 개발에는 컨테이너 또는 단일 지역 인프라 사용 권장
  • 플랫폼 종속성과 한계를 고려하여, 서버리스는 FaaS 모델의 한계를 인식하고 전략적으로 사용해야 함
  • "서버리스는 기초가 아닌 도구"사용 시점과 범위를 명확히 정의