노트

IaaS·PaaS·SaaS

Cloud Service Models (IaaS, PaaS, SaaS)

인프라#aws · 연결된 개념 4개

쉽게 말하면

IaaS·PaaS·SaaS는 저녁을 어디까지 남에게 맡기느냐의 차이예요. 주방만 빌려 요리는 다 직접 하면 IaaS, 손질된 재료와 조리 도구까지 받으면 PaaS, 완성된 음식을 배달받으면 SaaS예요.

비유가 깨지는 곳 실제로는 저녁 비유만큼 경계가 깔끔하지 않아서 서버리스 같은 중간 형태가 계속 생겨요. 맡길수록 운영 부담은 줄지만 비용과 종속성은 늘어요. 복잡성은 사라지지 않고 누가 떠안느냐만 바뀌죠.

클라우드 서비스를 "어디까지 빌려 쓰고 어디부터 내가 관리하나"로 나눈 구분이다. 아래로 갈수록 내가 관리할 것이 줄어든다.

모델빌리는 것내가 관리하는 것예
온프레미스(on-premises)없음하드웨어부터 앱까지 전부자체 서버실
IaaS(Infrastructure as a Service)서버·네트워크·스토리지OS, 미들웨어, DB 설치·튜닝, 앱EC2에 DB 직접 설치
PaaS(Platform as a Service)런타임·관리형 서비스까지앱과 데이터RDS, Elastic Beanstalk
SaaS(Software as a Service)완성된 소프트웨어설정과 사용Gmail, Slack

관리형 DB를 예로 들면

EC2에 PostgreSQL을 직접 설치하면 패치·백업·복제·모니터링을 모두 내가 한다. RDS 같은 관리형 서비스는 이 운영을 대신해 주고, 읽기 복제본 추가나 장애 조치(failover)도 설정 몇 개로 끝난다. 대신 비용이 더 들고 세부 튜닝 자유도가 줄어든다.

  • 관리 범위를 넘길수록 운영 부담은 줄고 비용·종속성은 늘어난다
  • 경계가 늘 깔끔하지는 않다. 컨테이너 플랫폼, 서버리스(FaaS, Function as a Service)처럼 중간 형태가 계속 생긴다

어떤 모델이든 복잡성 자체는 사라지지 않고 누가 떠안느냐만 바뀐다는 점에서 복잡성 보존의 법칙와 닮았다. 규모를 키우는 방법은 수직 확장과 수평 확장, 계정 자격 증명 관리는 AWS CLI 프로필을 본다.

출처: AWS 개요: Types of cloud computing

연결된 개념

이 노트를 가리키는 문서

뜻이 가까운 노트

  • 사용자 수에 따른 규모 확장

    사용자가 늘어날 때 서버 한 대짜리 시스템을 단계적으로 키워 가는 전형적인 경로. 처음부터 다 갖추는 게 아니라, 병목이 보일 때마다 한 단계씩 더한다(galls-law).

  • 저장소 역할 분담 (DB·캐시·큐·검색)

    서버 애플리케이션 옆에는 거의 늘 관계형 DB, 인메모리 캐시, 메시지 브로커(message broker), 검색 엔진이 붙는다. 하나로 다 하지 않는 이유는 데이터의 성격(영구성·속도·전달·검색)마다 잘하는 도구가 다르기 때문이다.

  • 로컬 퍼스트 아키텍처

    클라이언트 기기의 로컬 데이터를 진실의 원천(Source of Truth)으로 삼고, 서버는 동기화와 백업을 맡는 설계 방식. 전통적인 "서버가 원천, 클라이언트는 요청해서 그린다" 구조를 뒤집어 로컬 DB → UI 렌더링 → 백그라운드 동기화 순서로 흐른다.

  • 구성요소 줄이기

    셀 수 있는 모든 구성요소(파일, 폴더 깊이, 클래스, 함수, 분기, 변수, 테이블, 필드, 테스트 케이스…)는 비용이라는 관점. 심플 디자인의 네 번째 규칙을 실무 기준으로 풀어낸 것이다.

  • 최종 일관성

    최종 일관성(eventual consistency)은 "지금 당장은 저장소마다 값이 다를 수 있지만, 새 변경이 멈추면 결국 같아진다"는 보장이다. 원본 DB와 검색 색인·캐시·다른 서비스처럼 물리적으로 분리된 저장소를 한 트랜잭션으로 묶을 수 없을 때 받아들이는 일관성 모델(consistency model)이다.

보기 옵션