IaaS, PaaS, SaaS

기술노트

☁️ IaaS, PaaS, SaaS

IaaS, PaaS, SaaS는 클라우드 컴퓨팅의 대표적인 세 가지 서비스 모델입니다. 각 모델은 클라우드 제공업체(CSP)가 관리하는 영역과 사용자가 직접 관리해야 하는 영역의 범위에 따라 구분됩니다. 사용자는 자신의 필요에 맞는 서비스 모델을 선택하여 사용할 수 있습니다.


🏗️ IaaS (Infrastructure as a Service)

서비스형 인프라라고 불리며, 클라우드를 통해 IT 인프라(서버, 스토리지, 네트워크)를 빌려 쓰는 모델입니다. 사용자는 OS부터 애플리케이션까지 모든 소프트웨어를 직접 설치하고 관리해야 합니다.

  • 비유 : 땅(인프라)만 빌려서, 내가 직접 집(OS, 앱)을 짓는 것.
  • 장점 : 인프라를 직접 제어할 수 있어 유연성과 자유도가 가장 높습니다.
  • 단점 : OS, 미들웨어 등 관리해야 할 부분이 많습니다.
  • 대표 서비스 : Amazon Web Services (AWS) EC2, Google Compute Engine (GCE)

🛠️ PaaS (Platform as a Service)

서비스형 플랫폼이라고 불리며, 인프라뿐만 아니라 애플리케이션 개발에 필요한 플랫폼(OS, 미들웨어, 런타임)까지 제공하는 모델입니다. 개발자는 오직 자신의 애플리케이션 코드에만 집중하면 됩니다.

  • 비유 : 집에 가구(플랫폼)까지 모두 갖춰져 있어, 나는 옷(코드)만 가지고 들어가면 되는 것.
  • 장점 : 개발 생산성이 매우 높습니다. 인프라 관리에 신경 쓸 필요가 없습니다.
  • 단점 : 제공되는 플랫폼에 종속적이므로, 언어나 프레임워크 선택에 제약이 있을 수 있습니다.
  • 대표 서비스 : Heroku, Google App Engine, AWS Elastic Beanstalk

🛋️ SaaS (Software as a Service)

서비스형 소프트웨어라고 불리며, 클라우드를 통해 이미 완성된 소프트웨어를 구독 형태로 이용하는 모델입니다. 사용자는 설치나 관리 없이 즉시 소프트웨어를 사용할 수 있습니다.

  • 비유 : 완성된 호텔(소프트웨어)에 잠시 머무는 것.
  • 장점 : 사용자는 아무것도 관리할 필요 없이 즉시 서비스를 이용할 수 있습니다.
  • 단점 : 제공되는 기능 외에 커스터마이징이 거의 불가능합니다.
  • 대표 서비스 : Google Workspace, Microsoft 365, Slack, Notion

💡 개발자 핵심 Point

  • 내가 관리해야 하는 범위가 IaaS > PaaS > SaaS 순으로 줄어듭니다.
  • 내가 가진 자유도와 유연성도 IaaS > PaaS > SaaS 순으로 줄어듭니다.
  • 개발자는 주로 IaaS나 PaaS 환경 위에서 자신의 서비스를 개발하고 배포하게 됩니다.