본문 바로가기

note

IaaS, PaaS, SaaS

IaaS, Paas, SaaS 란?


간단히 설명하면 클라우드 서비스 컴퓨팅의 종류를 말합니다.








IaaS (Infrastructure as a Service)



  • 서버를 운영하기 위해서는 서버 자원, IP, Network, Storage, 전력 등등 인프라를 구축하기 위해 여러가지가 필요합니다Iaas 이러한 것들을 가상의 환경에서 쉽고 편하게 이용할 있게 서비스 형태로 제공합니다.
  • 컴퓨터로 비유하자면 하드웨어만 제공해주는 서비스.
  • 운영체제부터 상위의 모든 플랫폼이나 어플리케이션을 사용자가 직접 올릴 수 있습니다.

  • 고객은 여전히 직접 OS와 어플리케이션을 직접 관리해야 합니다.

  • 앱을 개발하여 제공하기에 앞서 먼저 인프라를 설정할 필요가 없으므로 IaaS를 사용할 경우 사용자에게 앱을 더 빠르게 제공할 수 있습니다.

  • IaaS를 사용하면 소프트웨어와 하드웨어를 유지 관리하고 업그레이드하거나 장비 문제를 해결할 필요가 없습니다.

ex) AWS, ASURE, UCloud




PaaS(Platform as a Service)


  • 컴퓨터, 운영체제, 플랫폼까지 제공합니다. 
  • 서버, 저장소, 네트워킹 등의 인프라뿐만 아니라 미들웨어, 개발 도구, BI(비즈니스 인텔리전스) 서비스, 데이터베이스 관리 시스템 등도 포함되어 있습니다. PaaS는 빌드, 테스트, 배포, 관리, 업데이트의 완전한 웹 응용 프로그램 수명 주기를 지원하도록 디자인되었습니다.
  • 네트워크 연결 인프라부터 어플리케이션 실행을 위한 런타임까지 제공되며, 사용자는 어플리케이션과 데이터만 관리합니다.
  • 개발자와 개발사에게 인프라나  OS, 플랫폼관리에 대한 부담을 거의 대부분 경감시킵니다.
  • 사용자는 필요한 플랫폼을 제공하고 어플리케이션을 제작하면 됩니다. 서비스를 개발할 수 있는 안정적인 환경과 필요한  API를 제공해 주기 때문에 사용자가 신경써야 하는 부분이 많이 줄어듭니다. 가장 이상적인 서비스라고 합니다.
  • 실제 google app engine을 사용한 있는 Khan Academy 벤 카멘스, 리드 개발자는 서버셋업, 라우터설정 등에 시간을 쏟지 않고 실 서비스에 집중 할 수 있다는 장점을 들었다고 합니다.
  • 그렇지만 IaaS를 사용하는 것보다는 비용이 더 든다고 합니다.
  • 인터넷을 통해 개발 환경에 액세스하므로 개발 팀은 팀 멤버가 원격 위치에 있는 경우에도 프로젝트에 대해 함께 작업할 수 있습니다.
  • PaaS는 같은 통합 환경 내에서 빌드, 테스트, 배포, 관리, 업데이트의 완전한 웹 응용 프로그램 수명 주기를 지원하는 데 필요한 모든 기능을 제공합니다.
ex) google app engine





SaaS(Software as a Service)



  • Cloud환경에서 동작하는 응용프로그램을 서비스 형태로 제공하는 것을 Saas라고 합니다. 온라인에 거의 모든 서비스들이 해당됩니다.
  • 노트북, PC, 스마트폰 등에 응용 소프트웨어가 설치되어 있지 않아도 인터넷을 통해 접속하여 응용소프트웨어를 사용할 수 있는 환경입니다.
  • 사용자는 이 시스템이 무엇으로 이루어져 있고 어떻게 동작 하고 있는지 알 필요가 없습니다. 
  • 서비스 제공의 관점에서 볼때 철저한 소비를 목적으로 합니다.
  • 서비스 사용자에게 추가적인 개발이나 데이터에 대한 추가적인 부담을 씌우지 않습니다.
  • 각 고객 사이트가 아닌 중앙의 위치에서 활동을 관리하고, 고객이 웹을 통해 애플리케이션에 접근하도록 하는 특징이 있습니다.
  • 사용자에게 SaaS 앱을 제공하기 위해 하드웨어, 미들웨어 또는 소프트웨어를 구매, 설치, 업데이트 또는 유지 관리할 필요가 없습니다. SaaS를 사용할 경우 필요한 인프라 및 소프트웨어를 구입, 배포 및 관리하는 리소스가 부족한 조직에서도 경제적 부담 없이 정교한 엔터프라이즈 응용 프로그램(예: ERP 및 CRM)을 사용할 수 있습니다.


ex) gmail, naver mail, google drive, dropbox