STUDY

[클라우드] IaaS, PaaS, SaaS 쉽게 정리하기

sed 2026. 5. 29. 12:18
SMALL

클라우드

클라우드는 인터넷을 통해 컴퓨팅 자원을 빌려 쓰는 방식이다.

 

예전에는 서비스를 운영하려면 직접 서버를 사고, 서버실을 만들고, 네트워크를 연결하고, 운영체제를 설치하고, 필요한 프로그램을 직접 관리해야 했다.

 

하지만 클라우드를 사용하면 이런 자원을 직접 소유하지 않고 필요한 만큼 빌려 사용할 수 있다.

 

예를 들어 서버, 저장 공간, 데이터베이스, 개발 환경, 소프트웨어 등을 인터넷을 통해 사용할 수 있다.

직접 구축
서버 구매
서버실 관리
운영체제 설치
프로그램 설치
장애 대응

클라우드 사용
필요한 자원을 인터넷으로 빌려 사용
사용한 만큼 비용 지불

 

클라우드의 핵심은 “직접 소유하지 않고 빌려 쓴다”는 점이다.

클라우드를 사용하는 이유

클라우드를 사용하면 서버나 인프라를 직접 구축하는 부담을 줄일 수 있다.

 

필요할 때 빠르게 서버를 만들 수 있고, 사용량이 늘어나면 자원을 확장할 수 있다. 반대로 사용량이 줄어들면 자원을 줄여 비용을 아낄 수도 있다.

필요한 만큼 사용
빠른 서버 생성
유연한 확장
초기 비용 절감
관리 부담 감소

 

예를 들어 쇼핑몰 서비스를 운영한다고 하자.

 

평소에는 접속자가 많지 않지만, 할인 이벤트가 열리면 접속자가 갑자기 늘어날 수 있다. 직접 서버를 운영한다면 최대 접속자 수를 예상해 미리 많은 서버를 준비해야 한다.

 

클라우드를 사용하면 이벤트 기간에만 서버 자원을 늘리고, 이벤트가 끝난 뒤 다시 줄일 수 있다.

클라우드 서비스 모델

클라우드는 제공 범위에 따라 크게 세 가지로 나눌 수 있다.

IaaS
PaaS
SaaS

 

이 세 가지는 “어디까지 클라우드 제공자가 관리해주고, 어디부터 사용자가 관리해야 하는가”에 따라 구분된다.

IaaS: 인프라를 빌려 쓴다.
PaaS: 개발·실행 환경을 빌려 쓴다.
SaaS: 완성된 소프트웨어를 사용한다.

 

IaaS

IaaS(Infrastructure as a Service)는 인프라를 서비스로 제공하는 방식이다.

여기서 인프라는 서버, 저장 공간, 네트워크 같은 기본 컴퓨팅 자원을 말한다.

 

IaaS를 사용하면 사용자는 물리 서버를 직접 구매하지 않고, 클라우드에서 가상 서버를 빌려 사용할 수 있다.

 

대표적인 예로 AWS EC2, Google Compute Engine, Microsoft Azure Virtual Machines 같은 서비스가 있다.

 

IaaS에서 사용자가 관리하는 것

IaaS에서는 클라우드 제공자가 물리적인 서버, 저장 장치, 네트워크 장비 등을 관리한다.

 

하지만 운영체제부터는 사용자가 직접 관리해야 한다.

 

예를 들어 가상 서버를 하나 빌렸다고 하자.

 

사용자는 그 서버에 운영체제를 설치하거나 선택하고, 필요한 패키지를 설치하고, 웹 서버나 데이터베이스를 설정하고, 보안 업데이트도 관리해야 한다.

클라우드 제공자 관리
물리 서버
스토리지
네트워크
가상화 환경

사용자 관리
운영체제
런타임
미들웨어
데이터베이스
애플리케이션
데이터

 

IaaS는 자유도가 높다.

 

원하는 운영체제를 선택하고, 원하는 방식으로 서버를 구성할 수 있다.

 

하지만 그만큼 관리해야 할 것도 많다.

IaaS 예시

웹 서비스를 직접 운영한다고 하자.

IaaS를 사용하면 클라우드에서 가상 서버를 만든 뒤, 그 서버에 직접 필요한 것들을 설치한다.

가상 서버 생성
Ubuntu 설치
Nginx 설치
Python 설치
데이터베이스 설치
웹 애플리케이션 배포
보안 설정

 

서버를 마음대로 설정할 수 있다는 장점이 있다.

반면 서버 관리, 보안 패치, 장애 대응까지 사용자가 신경 써야 한다.

PaaS

PaaS(Platform as a Service)는 플랫폼을 서비스로 제공하는 방식이다.

 

여기서 플랫폼은 애플리케이션을 개발하고 실행하기 위한 환경을 말한다.

PaaS에서는 서버, 운영체제, 런타임, 미들웨어 같은 기반 환경을 클라우드 제공자가 관리한다.

 

사용자는 애플리케이션 코드에 더 집중할 수 있다.

 

대표적인 예로 Heroku, Google App Engine, AWS Elastic Beanstalk, Vercel, Netlify 같은 서비스가 있다.

 

PaaS에서 사용자가 관리하는 것

PaaS에서는 인프라와 운영체제, 실행 환경을 대부분 제공자가 관리한다.

사용자는 주로 애플리케이션 코드와 데이터를 관리한다.

클라우드 제공자 관리
물리 서버
스토리지
네트워크
가상화 환경
운영체제
런타임
미들웨어

사용자 관리
애플리케이션
데이터

 

예를 들어 Python 웹 애플리케이션을 PaaS에 배포한다고 하자.

 

사용자는 코드를 올리고, 필요한 환경 설정을 지정한다.
서버 생성, 운영체제 설치, 웹 서버 설정 같은 작업은 직접 하지 않아도 되는 경우가 많다.

PaaS 예시

PaaS를 사용하면 개발자는 다음과 같은 흐름으로 서비스를 배포할 수 있다.

코드 작성
GitHub에 업로드
PaaS에 연결
배포 버튼 클릭
서비스 실행

 

서버 자체를 세밀하게 관리하기보다, 코드가 잘 실행되도록 플랫폼에 맡기는 방식이다.

PaaS는 개발 속도가 빠르고 관리 부담이 적다.

하지만 IaaS보다 자유도는 낮을 수 있다.
플랫폼이 지원하는 언어, 런타임, 배포 방식 안에서 사용해야 하기 때문이다.

SaaS

SaaS(Software as a Service)는 소프트웨어를 서비스로 제공하는 방식이다.

사용자는 소프트웨어를 직접 설치하거나 관리하지 않고, 인터넷을 통해 바로 사용한다.

대표적인 예로 Gmail, Google Docs, Notion, Slack, Dropbox, Microsoft 365 같은 서비스가 있다.

 

SaaS에서 사용자가 관리하는 것

SaaS에서는 대부분의 것을 서비스 제공자가 관리한다.

서버, 운영체제, 데이터베이스, 애플리케이션 업데이트, 보안 패치 등을 사용자가 직접 관리하지 않는다.

사용자는 계정을 만들고 서비스를 이용하면 된다.

서비스 제공자 관리
인프라
운영체제
런타임
미들웨어
애플리케이션
업데이트
보안 패치

사용자 관리
계정
사용자 데이터
설정

 

예를 들어 Gmail을 사용한다고 하자.

사용자는 메일 서버를 직접 구축하지 않는다.
운영체제를 설치하거나 메일 프로그램을 서버에 배포하지도 않는다.

그냥 브라우저나 앱에서 로그인해 메일을 사용한다.

이것이 SaaS이다.

IaaS, PaaS, SaaS를 식당으로 비유하면

세 가지를 가장 쉽게 이해하는 방법은 식당 비유이다.

직접 요리를 한다고 생각해보자.

IaaS는 주방 공간과 도구를 빌리는 것에 가깝다.

냄비, 가스레인지, 조리 공간은 제공되지만, 재료 준비와 요리는 내가 직접 해야 한다.

 

PaaS는 밀키트를 받는 것과 비슷하다.

 

기본 재료와 조리 환경은 준비되어 있고, 나는 정해진 방식에 따라 요리를 완성하면 된다.

 

SaaS는 완성된 음식을 주문하는 것과 같다.

 

요리를 직접 하지 않는다.
완성된 음식을 받아서 먹으면 된다.

 

비유를 클라우드에 맞추면 다음과 같다.

IaaS
서버를 빌리고 직접 세팅한다.

PaaS
코드만 올리면 실행 환경은 플랫폼이 처리한다.

SaaS
완성된 서비스를 바로 사용한다.

 

IaaS, PaaS, SaaS 비교

세 가지를 표로 정리하면 다음과 같다.

구분 제공받는 것 사용자가 주로 관리하는 것 자유도 관리부담 예시
IaaS 서버, 스토리지, 네트워크 운영체제, 런타임, 애플리케이션, 데이터 높음 AWS EC2, Azure VM
PaaS 애플리케이션 실행 플랫폼 코드, 애플리케이션, 데이터 중간 중간 Heroku, Google App Engine, Vercel
SaaS 완성된 소프트웨어 계정, 설정, 데이터 사용 낮음 작음 Gmail, Notion, Slack

 

직접 관리 많이 함 ←——————————————→ 직접 관리 적게 함

IaaS              PaaS              SaaS
서버 직접 운영     코드 중심 배포       서비스 바로 사용

 

 

관리 범위로 이해하기

클라우드 모델을 구분할 때 가장 중요한 기준은 관리 범위이다.

전통적인 직접 구축 방식에서는 거의 모든 것을 사용자가 관리한다.

 

IaaS에서는 물리 인프라와 가상화 환경은 클라우드 제공자가 관리한다.
사용자는 운영체제부터 위쪽을 관리한다.

IaaS가 적합한 경우
서버 설정을 직접 제어해야 할 때
기존 서버 환경을 클라우드로 옮길 때
특정 운영체제나 네트워크 구성이 필요할 때

 

PaaS에서는 운영체제와 런타임까지 제공자가 관리한다.
사용자는 코드와 데이터에 집중한다.

PaaS가 적합한 경우
빠르게 애플리케이션을 배포하고 싶을 때
서버 관리 부담을 줄이고 싶을 때
개발에 집중하고 싶을 때

 

SaaS에서는 애플리케이션까지 제공자가 관리한다.
사용자는 완성된 서비스를 이용한다.

SaaS가 적합한 경우
완성된 서비스를 바로 사용하고 싶을 때
설치와 유지보수 부담을 줄이고 싶을 때
비즈니스 기능을 빠르게 도입하고 싶을 때
LIST