이 글에서 다루는 내용

요즘 개발하다 보면 SaaS, BaaS, PaaS 같은 용어가 넘쳐나는데, 막상 차이를 설명하려면 헷갈리는 경우가 많습니다. 이 글에서는 클라우드 서비스 모델인 ~aaS(as a Service)의 종류를 카테고리별로 나누어 각각 어떤 문제를 해결하는지, 실무에서 어떤 상황에 쓰이는지를 정리합니다. 또한 자주 함께 쓰이는 조합과 추상화 레벨에 따른 전체 구조도 함께 살펴봅니다.

~aaS란 무엇인가

~aaS는 "as a Service"의 약자로, 특정 기술 자원을 직접 구축하지 않고 클라우드를 통해 구독 또는 API 형태로 사용하는 모델을 뜻합니다. 어떤 레이어를 서비스로 제공받느냐에 따라 이름이 달라지며, 아래로 내려갈수록 추상화 수준이 높아지고 관리할 책임이 줄어드는 대신 제어권도 함께 줄어듭니다.

물리 서버
  └ IaaS   → 서버/네트워크를 가상화
  └ NaaS   → 네트워크만 특화
  └ CaaS   → 컨테이너 오케스트레이션
  └ PaaS   → 플랫폼 (코드만 올리면 됨)
  └ FaaS   → 함수 단위 실행
  └ BaaS   → 백엔드 기능 API화
  └ DBaaS  → DB만 특화
  └ MLaaS  → ML 파이프라인
  └ AIaaS  → 완성된 AI 모델 API
  └ SECaaS → 보안 기능
  └ SaaS   → 완성된 소프트웨어

인프라 계층

IaaS — Infrastructure as a Service

가상 서버, 네트워크, 스토리지 등 물리적 인프라를 클라우드로 제공하는 모델입니다. OS부터 미들웨어까지 개발자가 직접 설정해야 하므로 완전한 제어권을 가지는 대신 관리 부담도 큽니다. DevOps 엔지니어나 대규모 서비스 팀에서 주로 사용합니다.

  • 대표 서비스: AWS EC2, Google Compute Engine, Azure VM, DigitalOcean
  • 장점: 완전한 제어권, 높은 확장성
  • 단점: 직접 관리 필요, 러닝커브 높음

물리 서버를 직접 소유하는 것과 같지만 클라우드에 있는 개념. 커널, OS, 미들웨어 모두 내가 책임집니다.

CaaS — Container as a Service

Docker 컨테이너의 오케스트레이션과 관리를 클라우드가 담당하는 모델입니다. Kubernetes를 직접 구축하고 운영하는 부담 없이 컨테이너 기반 배포를 할 수 있습니다. 마이크로서비스 아키텍처나 복잡한 배포 파이프라인을 가진 팀에 적합합니다.

  • 대표 서비스: Google GKE, AWS EKS, Azure AKS, DigitalOcean Kubernetes
  • 장점: 컨테이너 이식성, K8s 관리 부담 감소
  • 단점: 여전히 복잡한 설정 필요, 비용 높음

NaaS — Network as a Service

VPN, SD-WAN, 네트워크 인프라를 클라우드로 제공합니다. 물리적 네트워크 장비 없이도 유연한 네트워크 구성이 가능합니다.

  • 대표 서비스: AWS VPC, Cloudflare Zero Trust, Tailscale, Google Cloud Interconnect
  • 장점: 유연한 네트워크 구성, 장비 구매 불필요
  • 단점: 벤더 종속, 복잡한 설정

Tailscale로 팀 VPN을 구축하거나 Cloudflare Zero Trust로 보안 네트워크를 만들면 인프라 팀 없이도 수준 높은 네트워크 환경을 갖출 수 있습니다.

플랫폼 계층

PaaS — Platform as a Service

코드만 올리면 빌드, 배포, 스케일링을 자동으로 처리해주는 플랫폼입니다. 인프라를 전혀 신경 쓰지 않고 개발에만 집중할 수 있어 스타트업이나 1인 개발자에게 특히 유용합니다.

  • 대표 서비스: Vercel, Heroku, Railway, Render, Google App Engine
  • 장점: 배포가 매우 간단, 인프라 관리 불필요
  • 단점: 제약된 런타임 환경, 트래픽 증가 시 비용 상승 가능

git push 하면 자동으로 배포되는 방식이 PaaS의 핵심입니다. Next.js 앱을 Vercel에 올리는 것이 대표적인 예시입니다.

FaaS — Function as a Service

함수 단위로 코드를 실행하는 서버리스 컴퓨팅 모델입니다. 요청이 들어올 때만 실행되고 그만큼만 과금되므로 이벤트 기반 처리에 최적화되어 있습니다.

  • 대표 서비스: AWS Lambda, Cloudflare Workers, Vercel Functions, Google Cloud Functions
  • 장점: 사용한 만큼만 과금, 스케일링 자동
  • 단점: 콜드 스타트 지연, 장시간 실행 부적합

서버 없이 특정 로직만 실행할 때 적합합니다. 웹훅 처리, 이미지 리사이징, 알림 발송 등에 잘 맞습니다.

SaaS — Software as a Service

완성된 소프트웨어를 구독해서 사용하는 모델입니다. 설치나 유지보수 없이 브라우저에서 바로 사용할 수 있습니다. 개발자 입장에서는 우리가 만들어 파는 결과물이 곧 SaaS입니다.

  • 대표 서비스: Gmail, Notion, Slack, Figma, Salesforce
  • 장점: 즉시 사용 가능, 유지보수 불필요
  • 단점: 커스터마이징 불가, 데이터 통제권 없음

백엔드 / 데이터 계층

BaaS — Backend as a Service

Auth, DB, Storage, Push 알림 등 백엔드 공통 기능을 API로 제공하는 모델입니다. 프론트엔드나 네이티브 앱 개발에만 집중할 수 있어 MVP를 빠르게 만들 때 강력합니다.

  • 대표 서비스: Firebase, Supabase, Appwrite, AWS Amplify, Pocketbase
  • 장점: 백엔드 구현 시간 대폭 절감, 실시간 기능 기본 제공
  • 단점: 벤더 종속성, 복잡한 비즈니스 로직 구현에 한계

로그인, DB, 파일 업로드를 코드 몇 줄로 끝냅니다. Native + 앱 개발할 때 특히 진가를 발휘합니다.

DBaaS — Database as a Service

DB 설치, 운영, 백업, 복제를 클라우드가 관리해주는 모델입니다. 연결 문자열만 받아서 바로 쿼리를 날릴 수 있어 DB 운영에 리소스를 쏟기 싫은 팀에 적합합니다.

  • 대표 서비스: PlanetScale, Neon, MongoDB Atlas, AWS RDS, Turso
  • 장점: 자동 백업/복제, 스케일링 용이
  • 단점: 세밀한 쿼리 최적화 제한, 네트워크 지연 발생 가능

Supabase, PlanetScale 등을 사용하면 DB 서버 세팅 없이 바로 쿼리를 실행할 수 있습니다.

AI / ML 계층

AIaaS — AI as a Service

완성된 AI 모델을 API로 제공하는 모델입니다. 직접 모델을 훈련하지 않고도 자연어 처리, 이미지 인식, 음성 변환 등의 기능을 앱에 통합할 수 있습니다.

  • 대표 서비스: OpenAI API, Claude API, Google Vertex AI, Azure AI, Replicate
  • 장점: 모델 훈련 불필요, 빠른 통합
  • 단점: API 사용 비용, 데이터 프라이버시 이슈

LLM, 이미지 생성, TTS 등을 API 호출 하나로 해결합니다. 요즘 앱 개발에서 빠질 수 없는 핵심 레이어가 되었습니다.

MLaaS — Machine Learning as a Service

ML 모델 훈련, 배포, 추론 파이프라인 전체를 클라우드로 제공하는 모델입니다. GPU 서버 없이도 모델을 학습시키고 배포할 수 있습니다.

  • 대표 서비스: AWS SageMaker, Google Vertex AI, Azure ML, Hugging Face
  • 장점: GPU 인프라 불필요, MLOps 지원
  • 단점: 높은 비용, 데이터 이동 필요

AIaaS가 완성된 모델 API라면, MLaaS는 직접 훈련/파인튜닝까지 가능한 플랫폼입니다.

보안 / 기타 계층

SECaaS — Security as a Service

방화벽, DDoS 방어, 인증, 모니터링 등 보안 기능을 구독형으로 제공합니다. 보안 전문팀이 없는 스타트업이 엔터프라이즈급 보안을 빠르게 갖출 수 있습니다.

  • 대표 서비스: Cloudflare, Okta, Auth0, Snyk, CrowdStrike
  • 장점: 전문 보안 즉시 적용, 유지보수 불필요
  • 단점: 비용, 세밀한 커스터마이징 제한

DaaS — Desktop as a Service

가상 데스크탑 환경을 클라우드에서 제공합니다. 어떤 기기에서든 동일한 데스크탑 환경을 사용할 수 있어 원격 근무나 개발 환경 표준화에 활용됩니다.

  • 대표 서비스: AWS WorkSpaces, Azure Virtual Desktop, Google Cloud Workstations
  • 장점: 기기 무관하게 동일한 환경, 중앙 집중 관리
  • 단점: 인터넷 의존성, 입력 지연

실무에서 자주 쓰는 조합

일반적인 풀스택 앱
  IaaS (EC2) + DBaaS (RDS) + SaaS (GitHub)

빠른 MVP
  BaaS (Supabase) + PaaS (Vercel) + AIaaS (OpenAI)

마이크로서비스
  CaaS (K8s) + FaaS (Lambda) + DBaaS (Aurora)

대부분의 서비스는 이 모델들을 혼합해서 사용합니다. 정답은 없으며, 팀 규모, 제어 필요성, 개발 속도, 비용에 따라 적합한 조합이 달라집니다.