주뇽's 저장소

[Cloud AWS] Iaas VS PaaS 본문

카테고리 없음

[Cloud AWS] Iaas VS PaaS

뎁쭌 2023. 12. 28. 16:34
728x90
반응형

IaaS(Infrastructure as a Service)

하드웨어, 네트워킹, 가상화(AWS의 경우 EC2)만 제공하고 나머지는 담당해야함

ex) 리눅스 인스턴스에 파이썬 앱을 배포한다고 가정

  • 리눅스 설치 -> 파이썬 설치 -> 애플리케이션 설치
  • OS 업데이트, 애플리케이션 런타임, 오토 스케일링, 로드밸런싱, 등등 직접 해야함

PaaS(Platform as a Service)

IaaS의 대안이 되며 클라우드가 제공하는 플랫폼을 사용

하드웨어, 네트워킹, 가상화(AWS의 경우 EC2), OS, Application Runtime을 제공하고 Application만 담당

  • 파이썬 코드와 원하는 파이썬 버전을 실행
  • OS, 파이썬 설치는 신경쓰지 않고 애플리에키션 코드만 담당
  • OS 업데이트, 애플리케이션 런타임, 오토 스케일링, 로드밸런싱, 등등 신경쓰지 않고 애플리케이션 코드만 제공
  • Compute
  • AWS : Elastic Beanstalk
  • Azure :  App Service
  • Google : App Engine
  • Database
  • AWS : RDS
  • Azure : Azure SQL
  • Google : Cloud SQL

그 이외에도 머신러닝등 다양한 PaaS가 존재한다.

 

AWS Elastic beanStalk

AWS에 웹을 배포하고 스케일링한는 가장 간단한 방법

  • Java, Node.js, PHP, Ruby, Python, Go , Docker등 다양한 앱 지원
  • 오토 로드 밸런싱
  • EC2 인스턴스가 여러 개 있는 경우 자동으로 로드 밸런서를 설정
  • 오토 스케일링
  • 부하에 따라 인스턴스의 수를 늘리거나 줄여 관리
  • OS나 런타임을 업데트하고 싶은 경우 애플리케이션 중단 없이 가능

오토 스케일링(오토 스케일링 그룹)  & 오토 로드 밸런싱(엘라스틱 로드 밸런싱)

오토 스케일링 그룹

수백만명이 사용하는 애플리케이션의 경우 EC2 인스턴스가 여러개 필요하고 여러 VM에 동일한 애플리케이션을 배포한다. 이 때 EC2 인스턴스(VM)을 쉽게 생성하고 관리할 수 있게 도우주는 게 오토 스케일링 그룹이다.

  • 원하는 크기를 지정해 오토 스케일링 그룹을 생성하고 최소 크기와 최대 크기를 지정
  • 부하에 따라 인스턴스의 개수를 자동으로 조절

엘라스틱 로드 밸런싱

인스턴스가 여러 개 있다면 트래픽을 분산해야 하며 이 때 엘라스틱 로드 밸런싱을 사용한다.