Iaas, Paas, Sass - Cloud Service

CGH96·2023년 7월 3일

# 서버를 운영 방식

서버 컴퓨터를 운영하는 방식은 크게 두가지로 나뉜다.

  • On-Premise
  • Cloud Computing

# on-premise

On-Premise는 기존의 전통적인 서버 운영방식으로, 서버를 직접 설치하고 세팅하는 방식이다. 서버 구매 비용도 비쌀 뿐더러 우리같은 웹 개발자들은 소프트웨어를 주로 다루는 사람들이고, 하드웨어와는 거리가 멀다...회사 입장에서도 유지 보수하기 위한 비용도 만만치 않을 것이다.

# Cloud Computing

이에 대한 대책으로 나온 서비스가 Cloud Computing이다. Cloud Computing은 물리적인 서버를 직접 관리할 필요 없이 클라우드 서비스 프로바이더(ex. AWS)에게 원하는 서버의 사양을 원하는 시간만큼 대여해서 사용 할 수 있다.

클라우드 서비스 회사들은 안정적인 서비스를 제공하기 위해 전세계에 서버 인프라를 구축해두고 개인이나 기업에게 서비스를 제공한다.

# Cloud Computing 서비스의 구분

클라우드 컴퓨팅은 제공하는 서비스의 Level에 따라서 3개로 나뉜다.

  • Iaas (Infrastructure as a Service)
  • Paas (Platform as a Service)
  • Saas (Software as a Service)

1. Iaas

Iaas는 클라우드 컴퓨팅의 가장 기본 형태로, 인프라 구축을 위해 필요한 서버를 대여해준다. 그리고 사용자는 이 대여받은 서비스의 리소스에 접근해서 서비스를 구성하고 관리할 수 있다. AWS의 EC2가 대표적이다. 위 이미지에서 확인할 수 있듯이, OS설치 부터 로드밸런싱 등등 다양한 것들을 사용자가 세팅해야 한다.

2. Paas

Paas는 소프트웨어를 개발하고 운영하기 위한 구성요소를 플랫폼화해서 간단하게 서버를 사용할 수 있도록 해주는 서비스다. 쉽게 말해서 배포 환경은 다 구축되어 있고 개발자는 그 위에 자신이 제작한 웹사이트만 올리면 된다. Iaas보다는 손쉽게 사용할 수 있지만, Low-level의 경우 플랫폼을 제공한 서비스에 종속되어 있어서 사용자의 권한이 제한적인 것이 단점이다. Heroku, Github Pages가 대표적이다.

# Serverless

최근에는 Paas와 비슷하면서도 다른 Serverless가 대세인 것 같다. Serverless는 실제로 서버가 없는 것이 아니라, 개발자가 서버를 신경쓰지 않고(마치 서버가 없는 것처럼) 서비스를 개발하는 것에만 집중 할 수 있게 해준다는 의미에 가깝다. Serverless는 매우 간편하면서도 확장성 또한 우수하다.

을 컴퓨팅 성능에 비유했을 때, Paas정수기와 물병 배달 서비스를 이용하는 것이고, Serverless수도꼭지에 물을 받는 것에 비유되기도 한다. Serverless는 그만큼 개발자가 사용하기 간편하면서도 확장성 또한 보장된다고 할 수 있다. Serverless의 대표적인 서비스는 AWS Amplify가 있다.

3. Saas

Saas는 클라우드 서비스에 고객이 사용할 수 있는 소프트웨어가 제공되는 형태이다. 개발업계를 제외하고 본다면 가장 많이 사용하는 서비스가 아닐까 싶다. 대표적인 서비스들도 정말 친숙하다.
iCloud, Netflix, Xbox Game Pass, Slack

# 요약

좀더 짧게 요약 해보자.

  • Iaas는 개발자가 서비스 배포를 Low Level(OS설치)부터 관여한다.
  • Paas는 버튼 몇 개만 누르면 배포할 수 있다.
    (배포 환경에 프로그램만 얹는 느낌?)
  • Saas는 완전한 하나의 서비스를 클라우드를 통해 고객들에게 제공한다.

0개의 댓글