본문 바로가기
개발공부/클라우드

Saas, Paas, Iaas 차이

by park_hama 2024. 10. 20.

간단하게 보면 그냥 계층적으로 얼마나 deep하게 컨트롤 할 수 있냐의 차이 같다.

1. SaaS (Software as a Service)

  • 정의: 소프트웨어를 인터넷을 통해 제공하는 서비스입니다. 사용자는 소프트웨어를 설치하거나 관리할 필요 없이 웹 브라우저를 통해 바로 사용할 수 있습니다. 애플리케이션의 백엔드 관리, 업데이트, 보안 등 모든 것이 서비스 제공 업체에 의해 관리됩니다.
  • 예시: Gmail, Google Drive, Microsoft 365, Dropbox, Salesforce 등
  • 사용자 역할: 소프트웨어를 단순히 사용합니다. 하드웨어나 소프트웨어 관리에 대한 걱정 없이 바로 애플리케이션에 접속하고 기능을 사용합니다.
  • 관리되는 부분: 모든 것(애플리케이션, 데이터, 런타임, 미들웨어, OS, 서버, 네트워크 등)을 서비스 제공업체가 관리합니다.

2. PaaS (Platform as a Service)

  • 정의: 개발자에게 애플리케이션을 개발하고 배포할 수 있는 플랫폼을 제공합니다. 운영체제(OS), 개발 프레임워크, 데이터베이스, 미들웨어 등을 제공하여, 개발자는 인프라에 대한 걱정 없이 애플리케이션 개발에만 집중할 수 있습니다.
  • 예시: Google App Engine, Heroku, Microsoft Azure App Services, AWS Elastic Beanstalk
  • 사용자 역할: 애플리케이션을 개발하고 배포하지만, 그 아래의 운영체제, 네트워크, 서버 하드웨어는 신경 쓸 필요가 없습니다. 인프라와 런타임 관리는 서비스 제공자가 맡습니다.
  • 관리되는 부분: 개발 환경과 런타임, 서버, 네트워크 등은 제공업체가 관리하고, 사용자는 애플리케이션과 데이터만 관리합니다.

3. IaaS (Infrastructure as a Service)

  • 정의: 서버, 스토리지, 네트워크 등 물리적 하드웨어 자원을 가상화된 형태로 제공하는 서비스입니다. 사용자는 가상 머신을 통해 인프라를 원격으로 관리하고 제어할 수 있으며, 이를 기반으로 소프트웨어를 설치하고 운영체제를 설정하는 등 시스템을 완전히 제어합니다.
  • 예시: Amazon Web Services (AWS EC2), Microsoft Azure, Google Cloud Platform, DigitalOcean
  • 사용자 역할: 서버나 네트워크와 같은 하드웨어 리소스를 구성하고 관리합니다. OS 설치, 애플리케이션 배포, 보안 설정 등 모든 것을 직접 관리해야 합니다.
  • 관리되는 부분: 물리적 서버, 네트워크, 스토리지 등 하드웨어 인프라는 제공 업체가 관리하고, 사용자는 가상 머신의 OS, 애플리케이션, 데이터 등을 관리합니다.

차이점 요약

구분SaaS (Software as a Service)PaaS (Platform as a Service)IaaS (Infrastructure as a Service)
사용자 최종 사용자, 일반 비즈니스 사용자 개발자 (애플리케이션 개발 및 배포 담당) 시스템 관리자, 개발자 (인프라 및 서버 관리 담당)
제공 서비스 완전한 소프트웨어 솔루션 애플리케이션을 개발, 배포할 수 있는 플랫폼 제공 가상화된 컴퓨팅 자원(서버, 스토리지, 네트워크 등)
사용 예시 Gmail, Dropbox, Slack, Google Docs Heroku, Google App Engine, AWS Elastic Beanstalk AWS EC2, Microsoft Azure, Google Cloud Compute Engine
관리 대상 애플리케이션만 사용, 인프라와 플랫폼 관리 불필요 애플리케이션만 관리, 인프라는 제공 업체가 관리 OS, 애플리케이션, 가상 머신 등을 사용자가 관리
제어 권한 애플리케이션 사용자 권한 애플리케이션 개발, 데이터 관리 권한 전체 인프라 관리(OS 설치, 네트워크 설정 등) 권한

비유를 통해 이해하기:

  • SaaS: 완전히 차려진 식당에서 음식을 먹는 것과 비슷합니다. 고객은 음식만 먹으면 되고, 요리, 서빙, 청소 등 모든 것은 식당에서 처리합니다.
  • PaaS: 식재료와 주방이 제공된 상태에서 요리만 직접 하는 상황입니다. 요리 도구와 주방 청소 등은 제공자가 담당하지만, 무엇을 만들지는 사용자가 결정합니다.
  • IaaS: 마치 집을 짓는 것과 같다고 할 수 있습니다. 모든 재료(벽돌, 시멘트 등)는 제공받지만, 집을 어떻게 설계하고 짓는지는 완전히 사용자의 책임입니다.

요약:

  • SaaS: 완전히 만들어진 소프트웨어를 사용하는 모델.
  • PaaS: 개발 플랫폼을 제공받아 애플리케이션을 개발하고 배포하는 모델.
  • IaaS: 가상 서버, 스토리지 등의 인프라를 제공받아 사용자가 직접 서버와 네트워크를 구성하는 모델.

이러한 세 가지 서비스 모델은 필요에 따라 선택할 수 있으며, 관리해야 할 범위가 줄어들수록 더 높은 수준의 서비스(SaaS)로 넘어가게 됩니다.

 

 

'개발공부 > 클라우드' 카테고리의 다른 글

도커란 무엇일까?- 도커 개념정리(Docker)  (1) 2024.10.23