클라우드 서비스를 "어디까지 빌려 쓰고 어디부터 내가 관리하나"로 나눈 구분이다. 아래로 갈수록 내가 관리할 것이 줄어든다.
| 모델 | 빌리는 것 | 내가 관리하는 것 | 예 |
|---|---|---|---|
| 온프레미스(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 프로필을 본다.