Learning
토픽 4 / 107·클라우드 컴퓨팅 개요와 서비스 모델

PaaS (Platform as a Service)

PaaS (Platform as a Service)

애플리케이션 개발, 실행, 관리에 필요한 플랫폼(런타임, 미들웨어, 개발도구, 데이터베이스 등)을 서비스로 제공하는 클라우드 모델로, 개발자는 인프라 관리에서 벗어나 비즈니스 로직 개발에 집중할 수 있으나 벤더 종속 위험 존재

책임 분담: 사용자(애플리케이션/데이터), CSP(런타임/미들웨어/OS/가상화/인프라)

구성요소: 런타임 환경(Node.js/Python/Java/.NET), 미들웨어(웹서버/앱서버/메시지큐), 관리형 DB, 개발도구(CI/CD/모니터링/로깅), 확장 서비스(캐시/검색/이메일)

주요 서비스: AWS(Elastic Beanstalk, App Runner, Lambda), Azure(App Service, Container Apps, Functions), GCP(App Engine, Cloud Run, Cloud Functions), 기타(Heroku, Cloud Foundry, Render, Vercel)

유형: 앱 PaaS(Heroku), 통합 PaaS(MuleSoft), 데이터베이스 PaaS(RDS), API 관리 PaaS(Apigee), 로우코드/노코드(OutSystems)

특징: 인프라 관리 불필요, git push 배포, 자동 스케일링, 통합 모니터링/로깅

장점: 비즈니스 로직 집중, 빠른 배포, 내장 확장성, 통합 도구

단점: 벤더 종속, OS 레벨 제어 불가, 비용 예측 어려움, 콜드 스타트

12-Factor App: 코드베이스(Git), 의존성(package.json), 설정(환경변수), 백엔드 서비스(Add-on), 빌드/릴리즈/실행(자동화), 프로세스(Stateless)

비교: PaaS(앱 집중) vs IaaS(인프라 제어) vs SaaS(즉시 사용)

연관: IaaS, SaaS, FaaS, CaaS, 12-Factor App, 서버리스