주뇽's 저장소
[Cloud AWS] Iaas VS PaaS 본문
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)을 쉽게 생성하고 관리할 수 있게 도우주는 게 오토 스케일링 그룹이다.
- 원하는 크기를 지정해 오토 스케일링 그룹을 생성하고 최소 크기와 최대 크기를 지정
- 부하에 따라 인스턴스의 개수를 자동으로 조절
엘라스틱 로드 밸런싱
인스턴스가 여러 개 있다면 트래픽을 분산해야 하며 이 때 엘라스틱 로드 밸런싱을 사용한다.