본문 바로가기
CS 지식/네트워크

[네트워크] 클라우드 서비스 (IaaS, PaaS, SaaS)

by ghan2 2024. 6. 13.

클라우드 컴퓨팅은 인터넷으로 가상화된 IT리소스를 서비스로 제공하는 것을 의미한다. 2010년대부터 본격적으로 많은 IT회사들 사이에서 클라우드 컴퓨팅이 퍼져 나가기 시작했다. 클라우드 컴퓨팅의 도입으로 더 큰 서비스를, 더 적은 인력과 자원을 들여 운영할 수 있게 되었고 나아가 기업이 아닌 개인도 역시 인터넷만 있다면 자유롭게 클라우드 컴퓨팅 서비스를 이용할 수 있게 되었다. 

 

특히 기업의 경우 클라우드 사용 전 리소스 사용률 15%를 클라우드 도입 이후 70%의 사용률로 올렸다. 처음에는 가상머신인 Hypervisor를 이용했지만 이는 여러 OS를 구동할수록 힘이 떨어졌고, 결국 성능과 속도에 브레이크가 걸리게 되었다. 

 

그래서 등장한 것이 바로 "컨테이너" 가상화 기술! 화물들을 적은 비용으로 옮기기 위해 개발된 컨테이너 처럼 컴퓨팅 환경을 모듈화하여 격리하는 것이다. 다시 말해 하이퍼바이저 없이 각각의 앱이 패키징되어 어디에서나 코드를 실행할 수 있도록 하는 실행 가능한 소프트웨어 단위를 말한다. 

 

대표적인 클라우드 서비스

이제 이것을 본격적인 서비스의 형태로 만들어 배치한 것이 클라우드 서비스이고, 이 단계에서 어떤 요소들이 제공되는지에 따라 클라우드 서비스의 방식이 달라진다. 서비스 방식은 크게 총 3가지로 구분되는데 AWS처럼 인프라를 제공받으면 IaaS(Infrastructure as a Service), 플랫폼이면 PaaS(Platform as a Service), 소프트웨어면 Saas(Software as a Service)라고 부르고 있다. 

Cloud service models

IaaS(Infrastructure as a Service) : 모든 재료를 직접 준비해서 요리하는 것

Infrastructure레벨을 제공하는 서비스를 의미한다. 사용자는 OS를 직접 올리고 그 상위 계층만 구성하면 되는 모델이다. 즉, 기업에 서 준비 해놓은 환경에 우리가 선택하여 구성할 수 있다. 

 

특징) 

- 우리가 자주 사용하는 VM과 비슷하나 가상 호스팅은 직접 장비를 사서 그 장비의 한에서 자원을 할당하고 구성해야 하지만, IaaS는 기업이 준비해놓은 환경에서 선택할 수 있다는 차이가 있다. 

일반적으로 적은 OS가 지원된다. 

관리 측면에서 개발자와 인프라 관리자의 역할을 분담시킬 수 있다.

 

예시) AWS의 EC2

- 물리적인 서버와 Network, Storage등등을 직접 구매하거나 준비하지 않아도 원하는 OS를 깔아 서버로 이용할 수 있다. 

- AWS의 EC2는 사용자가 원하는 OS를 고르고 그에 해당하는 스펙을 선택하기만 하면, 모든 관리를 아마존에서 해주는 것이다. 

PaaS(Platform as a Service) : 만들어진 음식을 구매해서 기본 세팅만 하는 것

개발자가 응용 프로그램을 작성할 수 있도록 플랫폼 및 환경을 제공하는 모델이다. 

 

특징) 

- 운영 팀이 인프라를 모니터할 필요가 없다. 

- 사용자는 어플리케이션 자체에만 집중할 수 있다. OS, Server하드웨어, Network 등을 고려할 필요가 없다. 

- IaaS와 헷갈릴 수 있지만 아마존과 같은 서비스가 VM을 제공하는 IaaS라면, PaaS는 node.js, Java와 같은 런타임을 미리 깔아놓고, 거기에 소스코드를 넣어서 돌리는 구조를 말한다. 다시 말해, 우리는 소스코드만 적어서 빌드 하는 것이고, 컴파일은 클라우드에서 하여 결과만 가져오는 것이다. 

- 관리가 매우 편리하다.

 

예시)

- Heroku

- Google App Engine

- IBM Bluemix etc..

 

SaaS(Software as a Service) : 식당에 몸만 가서 서비스를 이용하는 것

설치할 필요도 없이 클라우드를 통해 제공되는 SW이다. 

 

특징)

- 모든 것을 기업(클라우드)에서 제공함으로 사용자는 별도의 설치나 부담이 필요 없이 SW를 사용할 수 있다. 

- SaaS는 소비 관점에서 제공되는 IT방식의 서비스로 정리할 수 있다. 구독의 방식으로 돈을 벌거나 트래픽 기반으로 돈을 벌 수 있다. 

 

예시) 

- 웹 메일

- 구글 클라우드

- 네이버 클라우드

- MS 오피스 365 etc..

 

다음과 같은 그림으로 정리할 수 있다. 

💡On-Premises란?
자체적으로 데이터 센터를 운영 및 관리하는 것을 말한다. 직접 인프라와 플랫폼, 어플리케이션까지 모두 구성하여 관리하는 모델이다. 
- 물리적인 장치, 하드웨어(CPU, RAM, Storage, Network device 등)을 모두 직접 구매해야 한다. 
- 직접 OS를 설치해야 한다. 
- 네트워크 환경을 직접 구성해야 한다. 
- 서버 관리를 직접 해야 한다. 
- 매우 큰 시간과 돈을 소비하게 된다. 

 


참고

https://www.youtube.com/watch?v=exewHoMNjsQ

https://www.whatap.io/bbs/board.php?bo_table=blog&wr_id=226&page=3#

https://wnsgml972.github.io/network/2018/08/14/network_cloud-computing/

https://velog.io/@moonblue/IaaS-PaaS-SaaS