IaaS, PaaS, SaaS 란? 개념 정리



image

1. IaaS(Infrastructure as a Service)란?

  • 서비스 제공자가 컴퓨팅 리소스를 네트워크를 통해 서비스로 제공하는 모델입니다.
  • IaaS의 대표적인 서비스에 스토리지, 호스팅, 컴퓨팅, 네트워킹 등이 포함됩니다.
  • 자신이 직접 서버 컴퓨터를 구매해서 네트워크 설정을 하고 보안 설정을 하는 등의 복잡한 과정이 필요없습니다. 필요할 때, 필요한 만큼의 자원만 빌려서 사용할 수 있습니다.
  • 직접 서버 컴퓨터를 구매할 필요는 없지만, 다양한 서비스 구축에 대한 지식이 필요합니다. 예를 들어, 서버 인스턴스를 만들어서 트래픽 관리를 하지 않으면 서버가 터질 수 있는 것입니다.
  • 아마존의 aws와 같은 서비스가 대표적인 예시입니다. EC2, S3와 같은 서비스로 사용자는 서버 자원이나 파일 저장소를 빌려서 사용할 수 있습니다.

2. SaaS(Software as a Service)란?

  • 서비스 제공자가 사용자에게 소프트웨어(어플리케이션) 서비스를 제공하는 모델입니다.
  • 하드웨어와 OS, 미들웨어, 애플리케이션까지 구축되어 있는 소프트웨어를 서비스로 이용하는 것입니다. 사용자는 서비스를 사용하기만 하면 됩니다.
  • 서비스 제공자가 모든 SW를 만들어서 다양한 플랫폼에 제공하는 경우가 많습니다. 모바일, 데스크톱 환경에 관련없이 모두 접근할 수 있는 경우가 많습니다.
  • 대표적으로 Microsoft Onenote, Google Drive 와 같이 완성된 형태의 SW가 있습니다. 사용자들은 비용만 내고 소프트웨어(어플리케이션) 서비스를 사용하면 됩니다.

3. PaaS(Platform as a Service)란?

  • 기업의 애플리케이션 실행 환경 및 애플리케이션 개발 환경을 서비스로 제공하는 모델입니다.
  • IaaS가 각각의 서비스를 구매해서 서비스를 구축해야되는 것과 달리, 하드웨어와 OS, 미들웨어(ex. 데이터베이스)까지 구축되어 있는 서비스입니다. IaaS와 달리 사용자가 인프라 관리에 힘을 쓰지 않아도 됩니다.
  • Java, PHP, Javascript 등의 프로그래밍 언어를 사용하여 사용자가 개발한 애플리케이션을 운영할 수 있습니다.
  • 위의 프로그래밍 언어를 지원하는 애플리케이션 실행 환경이나 데이터베이스 등이 미리 마련되어 있어 단기간에 응용 프로그램을 개발하여 서비스를 제공할 수 있습니다.
  • 대표적인 서비스로 구글 App Engine이 있습니다. App Engine을 구글은 아래와 같이 설명을 하고 있습니다.

완전 관리형 플랫폼에서 애플리케이션을 빌드하고 배포하세요. 기본 인프라 관리를 걱정할 필요 없이 규모에 구애받지 않고 애플리케이션을 원활하게 확장할 수 있습니다. 배포를 구성하거나 서버를 관리할 필요가 없어 개발자는 관리 오버헤드에 시달리지 않고 우수한 애플리케이션을 빌드하는 데 집중할 수 있습니다. App Engine은 일반적인 개발 언어 및 다양한 개발자 도구를 지원하기 때문에 개발자들은 높은 생산성과 민첩성을 유지할 수 있습니다.

기본 인프라 관리를 걱정할 필요 없이 코드 작성에만 집중할 수 있습니다. 소규모든 대규모든 애플리케이션을 자동 확장/축소하는 기능이나 서버에 대한 완전 관리형 패치 및 관리와 같은 기능이 있기 때문에 인프라 걱정은 Google에 전담시킬 수 있습니다.


출처

  • https://gracefullight.dev/2018/09/04/IaaS-PaaS-and-SaaS/
  • http://www.itworld.co.kr/news/80349?page=0,0
  • https://velog.io/@jyebe/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%BB%B4%ED%93%A8%ED%8C%85-%EA%B0%9C%EB%85%90-%EB%B0%8F-SaaS-PaaS-IaaS-%EB%B9%84%EA%B5%90