☁️ 클라우드

PaaS

Platform as a Service

플랫폼 서비스. 앱 개발 환경 제공. Heroku, Vercel.

📖 상세 설명

PaaS(Platform as a Service)는 애플리케이션 개발, 실행, 관리에 필요한 플랫폼과 환경을 클라우드로 제공하는 서비스입니다. 개발자는 인프라(서버, OS, 네트워크) 관리 없이 코드 작성에만 집중할 수 있습니다. "git push"만으로 배포가 완료되는 것이 PaaS의 핵심 가치입니다.

PaaS는 IaaS(Infrastructure as a Service)와 SaaS(Software as a Service) 사이에 위치합니다. IaaS는 VM을 직접 관리해야 하고, SaaS는 완성된 소프트웨어를 사용만 합니다. PaaS는 그 중간에서 런타임, 미들웨어, 데이터베이스 등을 관리형으로 제공합니다.

대표적인 PaaS로는 Heroku(최초의 대중적 PaaS), Vercel(Next.js 특화), Netlify(정적 사이트), Railway, Render, Google App Engine, AWS Elastic Beanstalk 등이 있습니다. 각 플랫폼은 특정 프레임워크나 언어에 최적화되어 있습니다.

PaaS의 장점은 빠른 개발 속도, 자동 스케일링, 운영 부담 감소입니다. 단점으로는 Vendor Lock-in, 세밀한 인프라 제어 어려움, 대규모 트래픽에서 높은 비용이 있습니다. 스타트업 초기나 MVP 개발에 적합하며, 성장 후 IaaS나 Kubernetes로 마이그레이션하는 경우가 많습니다.

💻 코드 예제

# Heroku CLI로 앱 배포

# Heroku CLI 설치 및 로그인
brew install heroku/brew/heroku
heroku login

# 새 앱 생성
heroku create my-app-name

# Git으로 배포
git push heroku main

# 환경 변수 설정
heroku config:set DATABASE_URL=postgres://...
heroku config:set NODE_ENV=production

# 스케일링 (Dyno 수 조정)
heroku ps:scale web=2

# 로그 확인
heroku logs --tail

# Add-on 설치 (PostgreSQL)
heroku addons:create heroku-postgresql:essential-0

# 원클릭 롤백
heroku releases
heroku rollback v10

# Procfile (프로세스 정의)
# web: npm start
# worker: npm run worker
# release: npm run migrate

🗣️ 실무에서 이렇게 말하세요

💬 기술 스택 선정에서
"MVP는 Railway나 Render로 빠르게 배포하고, 트래픽이 늘면 그때 Kubernetes로 마이그레이션하면 됩니다. 초기에 인프라 구축하느라 개발 속도 늦추는 것보다 제품 검증이 먼저예요."
💬 면접에서
"IaaS, PaaS, SaaS의 차이를 피자에 비유하면요. IaaS는 재료를 사서 직접 굽는 것, PaaS는 반죽이 준비된 상태에서 토핑만 올리는 것, SaaS는 완성된 피자를 배달받는 것입니다. 개발자의 제어 범위와 편의성이 다릅니다."
💬 비용 논의에서
"Heroku의 dyno 비용이 월 $25인데, 같은 스펙의 EC2는 월 $8 정도예요. 하지만 CI/CD 구축, 모니터링, 로그 관리 시간을 생각하면 소규모 팀에서는 PaaS가 더 경제적입니다. 개발자 시간당 비용이 서버비보다 비싸니까요."

⚠️ 흔한 실수 & 주의사항

Vendor Lock-in 무시

특정 PaaS에만 있는 기능(Heroku Addons, Vercel Edge Config 등)에 깊게 의존하면 마이그레이션이 어려워집니다. 가능하면 표준 기술(PostgreSQL, Redis, S3 호환)을 사용하고, 플랫폼 종속 코드는 추상화하세요.

Cold Start 문제 간과

대부분의 PaaS는 무료 티어에서 일정 시간 요청이 없으면 슬립 모드로 전환합니다. 첫 요청 시 30초까지 걸릴 수 있어 UX가 나빠집니다. 프로덕션에서는 유료 플랜을 사용하거나 Health Check로 깨워두세요.

올바른 선택 기준

프레임워크에 따라 최적의 PaaS가 다릅니다. Next.js는 Vercel, Rails는 Render, Django는 Railway가 잘 맞습니다. 무료 티어로 시작해서 성능과 DX(개발자 경험)를 직접 비교해보세요.

🔗 관련 용어

📚 더 배우기