IaaS·PaaS·SaaS의 차이: 제공 범위·사용자가 관리하는 것·자유도·운영 부담 비교

IaaS·PaaS·SaaS는 클라우드 서비스를 사업자가 어디까지 제공하느냐로 나눈 이름입니다. IaaS(Infrastructure as a Service)는 가상 머신·스토리지·네트워크 등의 기반을 제공하고, 그 위의 OS부터는 사용자가 관리합니다. PaaS(Platform as a Service)는 OS와 미들웨어, 언어 실행 환경까지 사업자가 제공하고, 사용자는 자신의 애플리케이션과 데이터를 준비합니다. SaaS(Software as a Service)는 애플리케이션 자체를 제공하며, 사용자는 웹 브라우저 등에서 쓰기만 합니다. IaaS에서 SaaS로 갈수록 운영 부담은 줄지만, 사용자가 자유롭게 고를 수 있는 범위도 좁아집니다.

비교 항목IaaSPaaSSaaS
사업자가 제공하는 것가상 머신, 스토리지, 네트워크 등의 기반(그 아래의 건물, 물리 장비, 가상화 기반 포함)IaaS의 범위에 더해 OS, 미들웨어, 언어 실행 환경 등애플리케이션까지 전부
사용자가 관리하는 것OS, 미들웨어, 애플리케이션, 데이터. OS 업데이트와 보안 패치도 사용자가 한다직접 만든 애플리케이션과 데이터, 그 설정데이터, 사용자 계정과 권한, 애플리케이션 설정
사용자의 자유도높다. OS와 소프트웨어를 자유롭게 골라 설치할 수 있다중간. 사업자가 지원하는 언어와 실행 환경의 범위에서 만든다낮다. 제공되는 기능과 설정의 범위에서 쓴다
운영 부담크다. OS 업데이트, 모니터링, 백업, 대수 조정 등을 사용자가 설계하고 수행한다작다. 실행 환경의 유지 보수와 대수 증감은 사업자가 맡는 경우가 많다가장 작다. 소프트웨어 업데이트와 장애 대응은 사업자가 한다
주요 사용자인프라 담당자, 자사 서버를 클라우드로 옮기는 조직애플리케이션 개발자애플리케이션을 쓰는 업무 담당자와 일반 사용자
요금 방식의 예가상 머신의 대수와 가동 시간, 스토리지 용량, 데이터 전송량 등에 따른 종량 과금이 많다실행 횟수나 시간, 사용한 자원의 양에 따른 과금이 많다사용자 수에 따른 월간 또는 연간 계약이 많다
공동 책임 모델에서의 분담물리 설비와 가상화 기반까지가 사업자, 게스트 OS부터 위가 사용자OS와 실행 환경까지가 사업자, 애플리케이션과 데이터가 사용자애플리케이션까지가 사업자. 데이터, 계정, 접근 권한 설정은 사용자에게 남는다
대표적인 예가상 머신(가상 서버)을 빌려주는 서비스, 블록 스토리지, 가상 네트워크애플리케이션 실행 환경을 제공하는 서비스, 관리형 데이터베이스 서비스웹 메일, 온라인 문서 작성과 스프레드시트, 그룹웨어, 고객 관리(CRM)

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

IaaS
OS와 미들웨어를 직접 고르고 싶을 때, 사내 서버에서 돌던 시스템을 거의 그대로 클라우드로 옮기고 싶을 때, 특수한 구성의 소프트웨어를 실행하고 싶을 때 적합합니다. 그 대신 OS 업데이트와 보안 설정도 직접 해야 합니다.
PaaS
인프라 관리를 사업자에게 맡기고 애플리케이션 개발에 집중하고 싶을 때 적합합니다. 사업자가 지원하는 언어와 실행 환경의 범위에서 만들어야 합니다.
SaaS
메일, 문서 작성, 고객 관리 같은 일반적인 업무를 소프트웨어를 만들지 않고 바로 쓰고 싶을 때 적합합니다. 쓸 수 있는 기능은 제공되는 범위로 한정됩니다.

자주 묻는 질문

서버리스(FaaS)는 IaaS·PaaS·SaaS 중 어디에 해당하나요?

함수 코드만 준비하고 실행 환경 준비와 대수 증감은 사업자에게 맡기므로, 일반적으로 PaaS에 가까운 형태로 취급됩니다. 컨테이너 실행 기반을 제공하는 서비스를 CaaS(Container as a Service)라고 부르며 IaaS와 PaaS 사이에 두기도 합니다. 이런 세부 분류는 사업자나 문헌에 따라 다릅니다.

SaaS라면 보안은 모두 사업자의 책임인가요?

아닙니다. 공동 책임 모델에서는 SaaS에서도 애플리케이션까지는 사업자가 맡지만, 저장하는 데이터, 사용자 계정과 비밀번호, 다중 인증 설정, 파일을 공유하는 범위 등은 사용자의 책임으로 남습니다. 설정을 잘못해 파일을 누구나 볼 수 있게 만드는 사고는 사용자 쪽의 문제입니다.

IaaS·PaaS·SaaS의 정의는 어디에서 정해졌나요?

자주 인용되는 것은 미국 NIST(국립표준기술연구소)가 2011년에 공개한 클라우드 컴퓨팅의 정의(SP 800-145)입니다. 여기서 클라우드의 서비스 모델로 SaaS·PaaS·IaaS의 3가지가 정해져 있습니다.

온프레미스와 IaaS는 어떻게 다른가요?

온프레미스는 자사에서 장비를 구입해 자사 설비에 두고, 건물과 전원부터 위를 모두 직접 관리하는 형태입니다. IaaS에서는 건물, 물리 장비, 가상화 기반의 관리를 사업자에게 맡기고, 필요할 때 필요한 만큼만 빌릴 수 있습니다. 그 대신 쓴 만큼의 요금이 계속 들고, 사업자의 장애에 영향을 받습니다.

이해도 확인

클라우드 서비스 중 사업자가 가상 머신·스토리지·네트워크 등의 기반을 제공하고, OS나 미들웨어, 애플리케이션은 이용자가 도입하여 관리하는 것은?

  1. ASaaS
  2. BIaaS
  3. CPaaS
정답과 해설 보기

정답: B. IaaS

클라우드 서비스는 사업자가 제공하는 범위에 따라 분류됩니다. IaaS(Infrastructure as a Service)는 가상 머신·스토리지·네트워크 등의 기반을 제공하며, 그 위의 OS나 애플리케이션은 이용자가 관리합니다. PaaS(Platform as a Service)는 OS나 미들웨어 등의 실행 환경까지를, SaaS(Software as a Service)는 애플리케이션까지를 사업자가 제공하며, 이용자는 그만큼 관리의 수고가 줄어듭니다.

클라우드 서비스의 IaaS에서 일반적으로 이용자가 직접 관리하는 것은?

  1. A데이터 센터 건물과 전원·공조 설비
  2. B서버나 스토리지 등의 물리적인 기기와 가상화 기반
  3. C가상 머신 위에서 동작하는 OS, 미들웨어, 애플리케이션
정답과 해설 보기

정답: C. 가상 머신 위에서 동작하는 OS, 미들웨어, 애플리케이션

IaaS(Infrastructure as a Service)에서는 사업자가 건물과 설비, 물리적인 기기, 가상화 기반을 관리하고, 이용자는 가상 머신 위의 OS부터 위쪽을 직접 관리합니다. PaaS에서는 OS나 미들웨어까지를 사업자가 관리하고 이용자는 애플리케이션과 데이터를, SaaS에서는 애플리케이션까지를 사업자가 관리하고 이용자는 데이터나 이용 설정을 관리합니다. 이처럼 서비스 형태에 따라 사업자와 이용자가 책임을 나누어 맡는 범위가 달라집니다.

클라우드의 관리형 데이터베이스 서비스(사업자가 데이터베이스 소프트웨어를 운용하는 서비스)를 사용한다. 공동 책임 모델의 관점에서 일반적으로 이용자의 책임으로 남는 것은?

  1. A데이터베이스를 실행하는 서버의 OS와 데이터베이스 소프트웨어에 보안 패치를 적용하는 것
  2. B데이터 센터 건물이나 서버 등의 물리적인 기기를 고장이나 침입으로부터 지키는 것
  3. C데이터베이스 이용자의 계정과 권한, 접속을 허용하는 네트워크의 범위, 저장하는 데이터를 관리하는 것
정답과 해설 보기

정답: C. 데이터베이스 이용자의 계정과 권한, 접속을 허용하는 네트워크의 범위, 저장하는 데이터를 관리하는 것

공동 책임 모델에서는 클라우드 사업자와 이용자가 보안과 운용의 책임을 나누어 맡으며, 그 경계는 서비스 형태에 따라 달라집니다. 관리형 데이터베이스 서비스에서는 물리적인 설비에 더해 OS와 데이터베이스 소프트웨어의 업데이트도 사업자가 담당합니다. 한편 누구에게 어떤 데이터에 대한 접근을 허용할지, 어느 네트워크에서의 접속을 허용할지, 어떤 데이터를 저장할지는 어느 형태에서든 이용자의 책임으로 남습니다. 설정을 잘못하여 데이터베이스를 인터넷에 공개해 버리는 사고는 이용자 쪽의 문제입니다.

  1. 서버리스 함수(FaaS)에서, 한동안 호출되지 않았던 함수의 첫 호출만 응답이 수백 밀리초에서 수 초 늦어지는 경우가 있다. 이 현상의 설명으로 올바른 것은?
  2. 클라우드 스토리지를 ① 가상 머신에 디스크로 연결하여 파일 시스템을 만들고 데이터베이스의 데이터 파일을 둔다, ② 여러 서버에서 동시에 마운트하여 공유 디렉터리로 사용한다, ③ HTTP의 API로 키(이름)를 지정하여 대량의 이미지를 읽고 쓰며, 용량을 미리 정하지 않고 늘린다는 세 가지 용도로 사용한다. ①~③에 적합한 스토리지 종류의 조합으로 적절한 것은?
  3. 1시간당 40엔(가상의 단가)으로, 사용한 시간만큼만 요금이 드는 가상 머신을 사용한다. 평상시에는 2대를 1개월(30일) 동안 계속 가동하고, 평일 20일은 매일 6시간만 부하에 맞추어 4대를 추가한다. 1개월의 요금으로 올바른 것은?

클라우드와 컨테이너의 기초 문제 풀기

주요 용어 설명

공동 책임 모델(Shared Responsibility Model)
클라우드를 사용할 때 보안과 운용의 책임을 클라우드 사업자와 이용자가 나누어 맡는다는 사고방식. 데이터 센터 건물이나 물리적인 기기는 사업자가, 저장하는 데이터, 계정과 접근 권한의 설정, 네트워크로부터의 접속 허용 등은 이용자가 책임을 진다. 그 사이의 범위는 IaaS, PaaS, SaaS, 관리형 서비스 등 서비스 형태에 따라 달라진다. 설정 오류로 인한 정보 유출의 상당수는 이용자 쪽 책임 범위에서 일어나고 있다.
서버리스(Serverless)
서버의 준비나 대수 관리, OS 업데이트 등을 이용자가 의식하지 않고 클라우드 사업자에게 맡겨 애플리케이션을 실행하는 형태. 대표는 FaaS(Function as a Service)로, 요청이나 이벤트가 왔을 때만 함수가 실행되며, 실행 횟수나 시간과 메모리의 양에 따라 요금이 든다. 부하에 따른 증감은 자동으로 이루어지며, 사용하지 않을 때는 비용이 거의 들지 않는다. 한편 한동안 사용되지 않은 뒤의 첫 호출이 늦어지는 콜드 스타트나 실행 시간의 상한 등의 제약이 있다.
하이퍼바이저(Hypervisor)
한 대의 컴퓨터 위에서 여러 가상 머신을 동작시키기 위한 소프트웨어. 각 가상 머신의 OS에 CPU, 메모리, 장치를 나누어 주고 서로 격리한다. 가상 머신 모니터라고도 한다.
오토 스케일링(Autoscaling)
부하 지표(CPU 사용률, 요청 수, 대기열 길이 등)에 따라 서버나 컨테이너의 대수를 자동으로 늘리고 줄이는 구조. 대수를 늘리는 것을 스케일 아웃, 줄이는 것을 스케일 인이라고 부른다. Kubernetes의 HorizontalPodAutoscaler는 필요한 수를 ⌈현재 수 × 현재 값 ÷ 목표 값⌉으로 구한다. 새 대수가 동작하기 시작할 때까지는 시간이 걸리므로, 급격한 부하 증가에는 여유를 둔 목표값으로 대비하고, 대수가 지나치게 자주 바뀌지 않도록 줄이기 전에 상황을 지켜보는 시간을 두는 경우가 많다.
오브젝트 스토리지(Object Storage)
데이터를 키(이름)와 메타데이터가 붙은 오브젝트로 저장하고, HTTP의 API로 통째로 읽고 쓰는 스토리지. 용량을 미리 정하지 않고 거의 무제한으로 늘릴 수 있으며, 데이터는 일반적으로 여러 장치나 장소에 복제되어 높은 내구성을 가진다. 이미지나 동영상, 백업, 로그, 정적 웹사이트의 파일 저장에 적합하다. 파일 시스템처럼 일부만 수정하는 사용 방식이나 데이터베이스의 데이터 파일을 두는 용도에는 적합하지 않으며, 그런 용도에는 가상 디스크를 제공하는 블록 스토리지나 공유 파일 시스템을 제공하는 파일 스토리지를 사용한다.
SLA(서비스 수준 협약)
IT 서비스의 제공자와 이용자 사이에서 가동률, 응답 시간, 장애에서 복구할 때까지의 시간, 문의 접수 시간 등 품질 수준과 그 측정 방법, 지키지 못한 경우의 처리를 정한 합의(Service Level Agreement).

관련 비교