클라우드 관련 이야기를 읽다 보면 SaaS, PaaS, IaaS라는 약어가 자주 등장합니다. 7편에서 개요를 잠깐 살펴봤지만, 이 세 가지가 실제로 어떻게 다른지 직관적으로 와닿지 않는 경우가 많습니다. 이름만 봐서는 어떤 상황에서 어떤 것을 쓰는지 구분이 되지 않습니다. 이번 편에서는 실생활 비유와 실제 서비스 사례를 통해 세 가지 클라우드 서비스 유형을 확실하게 정리해 보겠습니다.

세 가지를 구분하는 핵심 기준

SaaS, PaaS, IaaS를 구분하는 핵심은 "어디까지 사업자가 관리하고, 어디서부터 사용자가 관리하는가"입니다. 클라우드 서비스를 이용한다는 것은 기존에 직접 관리하던 것들을 사업자에게 맡기는 것인데, 얼마나 많이 맡기느냐에 따라 세 가지로 나뉩니다.

피자를 예로 들면 이해하기 쉽습니다. 피자를 먹는 방법은 크게 세 가지입니다. 재료를 사다가 직접 만드는 방법, 반조리 제품을 사서 오븐에 굽는 방법, 완성된 피자를 배달시키는 방법입니다. IaaS는 재료를 사다가 직접 요리하는 것에 가깝고, PaaS는 반조리 제품을 활용하는 것에 가까우며, SaaS는 완성된 피자를 바로 먹는 것에 가깝습니다. 편의성이 높아질수록 통제권은 줄어드는 구조입니다.

IaaS — 인프라만 빌리는 방식

IaaS(Infrastructure as a Service)는 클라우드 서비스 중 가장 기본적인 형태입니다. 서버, 네트워크, 저장 장치 같은 물리적 인프라를 가상화해서 제공합니다. 사용자는 이 인프라 위에 운영체제를 설치하고, 필요한 소프트웨어를 구성하고, 애플리케이션을 배포하는 모든 과정을 직접 관리합니다.

쉽게 말하면 빈 땅을 빌려주는 것에 가깝습니다. 땅은 제공하지만 그 위에 무엇을 어떻게 짓느냐는 사용자의 몫입니다. 자유도가 높은 만큼 기술적 전문성이 필요하고, 관리할 부분도 많습니다.

대표적인 IaaS 서비스로는 AWS의 EC2(가상 서버), S3(저장소), 구글 클라우드의 Compute Engine, 마이크로소프트 Azure의 Virtual Machines 등이 있습니다. 주로 개발팀이 있는 기업이나 특정 환경을 직접 구성해야 하는 경우에 활용됩니다.

PaaS — 개발 환경까지 제공하는 방식

PaaS(Platform as a Service)는 인프라 위에 개발에 필요한 플랫폼까지 함께 제공합니다. 운영체제, 미들웨어, 런타임 환경, 데이터베이스 같은 요소들을 사업자가 관리하고, 사용자는 애플리케이션 코드 작성과 데이터 관리에만 집중할 수 있습니다.

아파트 인테리어가 이미 되어 있는 집을 빌리는 것에 비유할 수 있습니다. 바닥재, 벽지, 주방 시설은 이미 갖춰져 있고, 입주자는 가구 배치와 생활 방식만 결정하면 됩니다. 개발자 입장에서는 서버 설정이나 운영체제 관리 같은 인프라 작업 없이 코드에만 집중할 수 있어 개발 속도를 높이는 데 유리할 수 있습니다.

대표적인 PaaS 서비스로는 AWS Elastic Beanstalk, 구글 App Engine, 마이크로소프트 Azure App Service, Heroku 등이 있습니다. 스타트업이나 소규모 개발팀에서 인프라 관리 부담 없이 빠르게 서비스를 출시해야 할 때 선택하는 경우가 많습니다.

SaaS — 완성된 소프트웨어를 서비스로 이용하는 방식

SaaS(Software as a Service)는 완성된 소프트웨어를 인터넷을 통해 구독 형태로 제공하는 방식입니다. 사용자는 설치, 업데이트, 서버 관리 같은 것을 전혀 신경 쓰지 않아도 됩니다. 브라우저를 열거나 앱을 실행하면 바로 사용할 수 있습니다.

세 가지 유형 중 일반 사용자에게 가장 친숙한 형태입니다. Gmail, Google Docs, Microsoft 365, Slack, Zoom, Notion, Dropbox가 모두 SaaS입니다. 매월 또는 매년 구독료를 내고 사용하는 형태가 일반적이며, 어떤 기기에서든 동일한 서비스를 이용할 수 있다는 점이 특징입니다.

기업 입장에서도 SaaS 도입이 늘고 있습니다. 사내 서버에 소프트웨어를 설치하고 관리하는 방식 대신, 필요한 직원 수만큼 라이선스를 구독하는 방식으로 전환하는 기업이 많아졌습니다. 초기 도입 비용이 낮고 업데이트가 자동으로 이루어진다는 점이 장점으로 꼽힙니다.

구분 사업자 제공 사용자 관리 주요 사용자 대표 서비스
IaaS 서버, 네트워크, 스토리지 OS, 미들웨어, 앱 전부 개발팀 보유 기업 AWS EC2, Google Compute Engine
PaaS 인프라 + 개발 환경 애플리케이션, 데이터 개발자, 스타트업 Heroku, Google App Engine
SaaS 완성된 소프트웨어 데이터, 설정만 일반 사용자, 기업 Gmail, Slack, Notion

세 가지를 선택하는 기준

어떤 유형을 선택해야 하는지는 상황에 따라 다릅니다. 몇 가지 판단 기준을 알아두면 클라우드 관련 뉴스나 기업 사례를 이해하는 데 도움이 됩니다.

기술적 역량과 통제 필요성이 첫 번째 기준입니다. 서버 환경을 세밀하게 통제해야 하거나 특수한 설정이 필요한 경우라면 IaaS가 적합할 수 있습니다. 인프라 관리보다 개발에 집중하고 싶다면 PaaS가, 개발 없이 바로 업무에 활용하고 싶다면 SaaS가 적합합니다.

비용 구조도 고려해야 합니다. IaaS는 유연성이 높지만 관리 인력 비용이 추가로 발생할 수 있습니다. PaaS는 인프라 관리 비용을 줄일 수 있지만 플랫폼 종속성이 생길 수 있습니다. SaaS는 사용이 간편하지만 장기적으로는 구독료가 누적될 수 있습니다.

보안과 규정 준수 요구도 영향을 미칩니다. 금융, 의료, 공공 분야처럼 데이터 처리에 엄격한 규정이 적용되는 경우에는 데이터 위치와 접근 통제 수준을 직접 관리할 수 있는 IaaS나 프라이빗 클라우드 구성이 필요한 경우가 있습니다.

경계가 흐려지고 있는 현실

이론적으로는 세 가지 유형이 명확하게 구분되지만, 실제 시장에서는 경계가 점점 흐려지는 경향이 있습니다. 대형 클라우드 사업자들이 IaaS, PaaS, SaaS 성격의 서비스를 모두 제공하면서 하나의 플랫폼 안에서 다양한 유형을 혼합해서 사용하는 방식이 일반화되고 있습니다.

AWS 하나만 봐도 가상 서버(IaaS), 관리형 데이터베이스(PaaS 성격), 협업 도구(SaaS 성격)를 모두 제공합니다. 사용자가 필요에 따라 적절한 서비스를 골라 조합하는 방식입니다. 그래서 실무에서는 "우리는 IaaS를 쓴다"보다 "AWS에서 EC2, RDS, S3를 활용한다"는 식으로 구체적인 서비스 단위로 이야기하는 경우가 많습니다.

서버리스와 새로운 흐름

최근에는 기존 세 가지 유형을 넘어서는 새로운 클라우드 서비스 방식도 등장하고 있습니다. 서버리스(Serverless) 컴퓨팅이 대표적입니다. 서버를 아예 신경 쓰지 않고 코드만 작성해서 실행하는 방식으로, AWS Lambda, Google Cloud Functions 같은 서비스가 여기에 해당합니다. 서버리스에 대해서는 이후 편에서 더 자세히 다룰 예정입니다.

클라우드 서비스의 형태는 기술 발전과 함께 계속 진화하고 있습니다. 세 가지 유형의 구분을 이해하는 것은 이런 변화를 따라가는 데 필요한 기초 맥락을 제공한다는 점에서 의미가 있습니다.

정리하며

요약하자면 IaaS는 인프라만 제공해서 사용자가 대부분을 관리하는 방식이고, PaaS는 개발 환경까지 제공해서 코드에만 집중할 수 있게 하는 방식이며, SaaS는 완성된 소프트웨어를 바로 사용하는 방식입니다. 세 가지의 핵심 차이는 얼마나 많은 부분을 사업자가 관리하느냐에 있으며, 편의성이 높아질수록 통제권은 줄어드는 트레이드오프가 존재합니다.