개발지식/기타

IaaS, PasS, SaaS 개념 및 정리 (클라우드 서비스, 클라우드 컴퓨팅)

피노키오이 2021. 7. 27. 11:40
반응형

개요

 

클라우드 컴퓨팅은 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것을 의미합니다.그리고 클라우드 컴퓨팅에서 가상화하여 서비스로 제공하는 대상은 서버, 플랫폼, 소프트웨어입니다.

최근 코로나 시대를 맞아 빠르게 IT산업이 발전해 나가고 있다고 생각합니다.

AWS, AZure가 대중화 되기 시작하면서 클라우드 인프라스터럭처의 가상화 개념으로만 이해하기도 하지만 클라우드는 인프라스트럭처 뿐만이 아니라 플랫폼과 소프트까지 포함하는 온라인의 모든 영역을 다루는 광범위한 개념입니다. 

그렇기 때문에 클라우드는 분야별 특성별로 나누어서 이해하는 것이 좋습니다.

이때 3가지로 나눌 수 있습니다.

1. IaaS

2. PaaS

3. SaaS

정보처리기사를 공부하면서 IaaS, PaaS, SaaS 에 대해서 배운적이 있지만...

실제로 어떻게 사용되는지는 잘 이해하지 못 하였었습니다.

 

그래서 이번 기회에 다시한번 정리를 해보면서 개념을 숙지할려고 합니다.

 


종류

 

 


1. IaaS

 

서비스로서의 인프라스트럭처(Infrastructure as a Service, IaaS)는 서버, 스토리지, 네트워크를 필요에 따라 인프라 자원을 사용할 수 있게 클라우드 서비스를 제공하는 형태입니다.

즉 간략하게 IaaS는 컴퓨터만 할당 받는다고 이해하면 됩니다.

개발자가 웹개발은 진행하여 만든 소스를 배포하고 싶다면

  • OS : 리눅스(Centos, Ubuntu), 윈도우(7, 10) 선택
  • Web Server : 톰캣, 웹로직, etc 선택
  • DB : mysql, mssql, maria, mongo 선택

이렇게 버전과 원하는것 을 선택하여 개발환경을 꾸릴 수 있습니다.

선택권이 모두 개발자에게 넘어간 것이며, 컴퓨터 환경만 빌려서 사용하는 것 입니다.

 

대표적인 서비스로는

  • AWS EC2
  • Google Cloud Platform
  • Azure Virtual Machines
  • Naver Cloud Platform

이 있습니다. 

위 서비스들은 개발자가 웹서비스를 개발하기 위해서 필요한 OS, Web Server, DB 등등 모든걸 직접 선택해서 개발을 진행 해야합니다.

 


2. PaaS

 

서비스로서의 플랫폼 (Platform as a Service, PaaS) 은 클라우드 플랫폼 서비스는 주로 애플리케이션에 사용되는 동안 특정 소프트웨어에 클라우드 구성 요소를 제공합니다.

PaaS는 개발자가 맞춤형 애플리케이션을 개발하고 구축 할 수있는 프래임워크를 제공합니다.

즉 PaaS는 플랫폼서비스로

개발자는 IaaS에서 했던 복잡한 설치 및 환경설정을 하지 않아도 됩니다.

PaaS에서 정해준 OS, 버전, 어플리케이션 등이 있으므로 개발자는 완성된 소스를 올리기만 하면 됩니다.

개발자가 선택할 수 있는 선택권이 줄어들었지만, 그만큼 플랫폼에게 권한을 위임함으로써 복잡한 서버, 환경구성에 신경 쓰지 않아도 됩니다. 

이렇게 편리하다고 할 수 있는 기능을 제공하기 때문에 당연히 IaaS보다 PaaS가 비용면에서 비쌉니다.

 

대표적인 서비스로는

  • AWS Elastic Beanstalk
  • Window Azure
  • Heroku

등이 있습니다.

실제로 위의 서비스를 이용하여 배포를 하면 소스만 올리면 바로 동작하는 것을 확인 할 수 있습니다.

 


3. SaaS

 

서비스로서의 소프트웨어 (Software as a Service, SaaS)는 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하는 형태의 소프트웨어 전달 모델입니다.

주문형 소프트웨어(on-demand software, 온디맨드 소프트웨어)라고도 합니다.

 

대표적인 서비스로는

  • Google Apps
  • Google Mail
  • Youtube
  • Blog

등이 있습니다.


 

반응형