본문 바로가기
CS 이론/🛰️ Networking

클라우드가 뭘까? IaaS, PaaS, SaaS 이건 또 뭘까?

by 개발자 진개미 2022. 10. 28.
반응형

아마존, 마이크로소프트, 구글까지.

미국의 빅테크 기업들이 클라우드 사업에 집중하고 있습니다.

클라우드가 뭐고, 뭐가 그렇게 좋길래 그럴까요?

이 외계어 같은 IaaS, PaaS, SaaS는 뭘까요?


클라우드(Cloud)가 뭔지 간단히

서버라는 말은 우리 일상생활 속에서도 많이 사용됩니다. 근데 서버가 정확히 뭘까요?

서버는 역할의 개념입니다. 서버는 우리가 쓰는 컴퓨터, 스마트폰과 크게 다르지 않습니다.

하지만 서버는 서빙(제공하는) 역할을 하는 컴퓨터를 말합니다.

 

우리가 웹 사이트에 접속하면 서버한테 웹 사이트 내용을 달라고 요구합니다.

문제는, 매우 많은 사람이 동시에 서버에 요청을 한다는 겁니다.

그래서 서버는 우리가 아는 컴퓨터보다 크고, 많고, 빠릅니다.

당연히 이런 서버를 관리하는건 돈도 많이 들고 힘듭니다.

 

 

클라우드는 이런 서버를 직접 만들거나 관리하지 않고, 구름 저편에 있는 것 처럼 쓰게 해 주는 기술입니다. 버튼 클릭 하나면 서버를 사용할 수 있게 해 줍니다.


클라우드가 왜 중요한걸까?

클라우드가 중요한 이유는 한 마디로 서버를 직접 관리하는건 너무 힘들기 때문입니다.

 

대기업이라면 서버실을 건설하고, 관리하는 인원을 채용하고, 오류가 나면 대응하고, 만일의 사태를 위해 백업을 하고, 보안 관리도 가능합니다. 하지만, 스타트업이나 대기업이라도 운영 노하우가 부족하면 관리 자체가 힘들 수 있습니다.

 

여기에 추가로 클라우드를 사용하면 서버를 늘리고 줄이기가 매우 쉬워집니다. 각종 휴일이나 주말에만 서버 접속량이 늘어나서 그 때만 서버를 늘리고 싶어도 온프리미스(직접 서버를 구축하는 것)로 하면 서버를 늘린다는 건 새로운 장비를 주문하고, 그 장비를 세팅하고, 우리 제품을 설치하고, 심지어 네트워크망 공사를 해야할 수도 있습니다.

 

하지만, 클라우드에서는 버튼 클릭 하나, 심지어는 자동으로 서버를 늘리고 줄일 수 있습니다.


클라우드 업체가 제공하는 서비스의 분류 : IaaS, PaaS, SaaS

IaaS, PaaS, SaaS 이건 클라우드 업체가 제공하는 서비스를 간단하게 분류한 겁니다.

 

먼저 간단요약!

분류 제공하는 것 예시
IaaS (Infrastructure as a Service) 서버용 컴퓨터 AWS EC2 등
PaaS (Platform as a Service) 서버용 컴퓨터 + OS, DB AWS Lambda 등
SaaS (Software as a Service) 서버용 컴퓨터 + OS, DB + Application  Mail(Gmail, Hotmail 등), Google Docs, Notion, Apple iCloud 등

 

IaaS (Insfrastructure as a service)

클라우드는 컴퓨터를 제공하는거라고 했습니다. IaaS는 정말 말 그대로 정직하게 컴퓨터만 제공합니다.

Instrastructure = 기반시설 이라는 뜻인데, IaaS는 모든 서버의 기반시설이라 할 수 있는 하드웨어 그 자체만 서비스로(as a service) 제공하는거라고 할 수 있습니다.

 

모든 클라우드 업체는 IaaS를 가지고 있습니다. 아마존의 AWS의 EC2가 대표적인 IaaS입니다,

 

IaaS만 해도, 직접 서버용 컴퓨터를 사서 구성하는 것 보다는 나아졌습니다.

하지만, 사람들은 점점 편리한 것을 찾기 시작했습니다. 

 

PaaS (Platform as a Service)

서버에는 기본적으로 필요한게 있습니다.

일단 모든 컴퓨터는 당연히 Windows, Mac OS, Linux 같은 운영체제(OS)가 필요합니다.

또, 대부분의 서버는 데이터베이스(DB)가 필요합니다.

이런 서버 애플리케이션을 작동시키기 위해 필요한 환경(Platform)을 서비스로(as a Service) 제공해 주는게 바로 PaaS입니다.

 

SaaS (Software as a Service)

SaaS는 사실 완전히 새로운 개념은 아닙니다.

소프트웨어를 서비스로 제공한다 = 앱(어플리케이션, 응용 프로그램, 뭐라고 부르든)을 클라우드로 제공한다입니다.

우리가 흔히 쓰는 Mail로 사실 SaaS라고 할 수 있습니다.

 

이런 일반 고객들이 이용하는 SaaS외에도 개발자들이 이용하는 SaaS도 많습니다.

서버 애플리케이션을 개발하다 보면, 공통으로 개발해야 하는 기능이 꽤 있습니다. 로그인이나 회원가입 같은 기능부터, 결제도 많은 사이트가 제공하는 기능인데, 이 기능을 굳이 각자 개발할 필요는 없기 때문에 이런 기능을 SaaS로 제공하기도 합니다.

 

 

출저 : https://www.redhat.com/en/topics/cloud-computing/iaas-vs-paas-vs-saas


추가 : BaaS, FaaS, SECaaS, DaaS... 늘어만 가는 외계어들

IaaS, PaaS, SaaS에 비해서는 많이 쓰이진 않지만 BaaS, FaaS, SECaaS, DaaS 등도 있습니다. 

 

하지만 IaaS, PaaS, SaaS를 이해했다면 이걸 이해하는건 어렵지 않습니다. 약자만 보면 됩니다.

 

   
BaaS (Backend as a Service) Backend를 서비스로 제공하는겁니다. 서버 애플리케이션 자체를 서비스로 제공한다고 생각하시면 됩니다.
FaaS (Function as a Service) 개발할때 자주 쓰는 함수를 서비스로 제공합니다. 파일 업로드 같은 함수를 생각하시면 됩니다.
SECaaS (Security as a Service) 보안 관련 기능을 서비스로 제공하는 겁니다.
DaaS (Desktop as a Service) 데스크톱, 즉 우리가 일반적으로 쓰는 컴퓨터를 서비스로 제공하는겁니다.

반응형