☁️ 클라우드

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(개발자 경험)를 직접 비교해보세요.

🔗 관련 용어

📚 더 배우기