SaaS, PaaS, IaaS 알아보기

SaaS, PaaS, IaaS 알아보기

2018, Jul 21    

오늘을 클라우드 서비스의 종류의 대해서 알아보겠습니다.

불과 4 ~ 5 년전까지만 하더라도 클라우드 서비스가 점차 알려지기 시작한 터라 개발자들에게도 익숙한 걔념은 아니었습니다. 하지만 요즘은 개발자들 뿐만 아니라 일반인들 에게 있어서도 너무나 익숙한 걔념이 되었습니다.

최근 개발현장에서는 직접 서버를 구축하거나 하는 현장들은 점점 사라지는 추세입니다. 실제 물리적인 환경구축 비용의 절감뿐만 아니라 몇번의 클릭만으로 개발환경과 운용환경이 구축되는 세상이니 인건비나 사용의 편의성도 말할 것도 없겠지요.

오늘은 널리 알려져 있는 3가지 클라우드 서비스의 걔념인 SaaS, PaaS, IaaS 를 서로 비교해 보겠습니다.


클라우드 서비스란

SaaS, PaaS, IaaS 는 모두 클라우드 서비스 입니다. 클라우드 서비스란 내 컴퓨터를 이용하는 것이 아닌 인터넷 접속을 통해 외부에서 제공하는 서비스를 이용하는 것을 뜻합니다.


SaaS 란?

SaaSSoftware As A Service 의 약자입니다. 말 그대로 소프트 웨어 프로그램이라는 뜻 입니다. 클라우드 서비스에 대해서 잘 모르는 일반인들도 이미 생활속에서 밀접하게 접해있습니다. 지메일이나 구글 캘린더, 드롭박스, 마이크로 소프트에 오피스365 등등 인터넷을 이용해 내 컴퓨터에 설치하지 않고 사용하는 모든 프로그램들이 SaaS에 분류 됩니다.


PaaS 란?

SaaS → PaaS → IaaS 순으로 서비스를 이용하는 이용자의 자유도가 점차 높아지게 됩니다. SaaS 가 단순히 이미 만들어진 소프트웨어 서비스를 이용하는 것이라면, PaaSPlatform As a Service 의 약자로 말그래도 소프트웨어를 제작하는 환경을 제공하는 서비스입니다. 소프트웨어를 제작하는 환경을 제공하는 서비스이기 때문에 주 이용자들은 당연히 개발자들이겠지요.

주요 서비스들로는 Windows Azure나 IBM cloud service, Google Cloud Service, AWS Elastic Beanstalk 등이 있습니다.

PaaS를 제공하는 서비스들은 각각의 개발언어에 맞는 미들웨어 환경과 서비스 구축과 배포를 매우 간단하게 끝낼 수 있는 서비스를 제공하여 개발자가 더 개발자체에 집중할 수 있는 환경을 제공합니다. 저도 1년째 회사에서 IBM Cloud 를 이용하여 개발하고 있습니다만 이전에 직접 개발환경을 구축하던것에 비하면 정말 편해졌습니다.
하지만 나름에 단점도 있는데요. 서비스에서 제공하는 개발언어, OS, 특정 미들웨어 이외에는 사용이 불가능 하다는 점이 있습니다. 배포시에도 용량제한이 있거나 하는 경우도 있기 때문에 서비스가 제공하는 환경이외의 것이 필요하게 되었을 때에는 매우 곤란한 경우에 처할 수 있다는 단점이 있습니다.


IaaS 란?

앞서 말씀드린 것 처럼 IaaS 는 더욱 이용자의 자유도가 올라갑니다. IaaSInfrastructure As a Service 의 약자로 역시 말 그대로 서버의 기반시설들을 제공합니다. 단순하게 이야기하면 인터넷으로 접속할 수 있는 컴퓨터 자체라고 할 수 있겠네요. 하지만 단순하게 외부컴퓨터에 접속하는 것과는 다릅니다. 나름의 서비스로서 서버환경구축과 스토리지관리, 적절한 네트워킹 환경 등을 제공합니다. 때문에 역시 직접 환경을 구축하는 것 보다는 쉽고, 비용이 절감된다고 할 수 있겠네요. OS나 미들웨어 등은 원하는 대로 설치할 수 있기 때문에 PaaS 보다는 자유도가 훨씬 올라가게 됩니다. 주요이용자는 서버관리자나 시스템 관리자가 되겠네요.

앞서 말씀드린 내용들과 아래의 표를 비교해서 보신다면 더 이해가 쉬을 거라 생각됩니다.

Alt text 이미지 출처 : http://www.bmc.com/blogs/saas-vs-paas-vs-iaas-whats-the-difference-and-how-to-choose/

alt text