IaaS, PaaS and SaaS
IaaS (Infrastructure as a Service)
클라우드에서 가상서버, 네트워크, 스토리지를 빌려 쓰는 서비스
IaaS는 물리적인 IT 인프라(서버, 네트워크, 스토리지)를 직접 구축하지 않고, 필요할 때마다 클라우드에서 가상화된 자원을 사용할 수 있도록 제공하는 서비스
가상 서버(VM), 네트워크, 저장소를 필요할 때 즉시 생성 가능
사용한 만큼 비용 지불 (Pay-as-you-go)
직접 OS를 설치하고 관리해야 함 (높은 자유도)
개발자가 직접 네트워크 설정, 보안, 스토리지 확장 등을 조정 가능
ex)
AWS: EC2, S3, VPC
Google Cloud: Compute Engine, Cloud Storage
Microsoft Azure: Virtual Machines, Blob Storage
사용 사례
웹사이트 또는 애플리케이션 서버 호스팅
백엔드 데이터베이스 서버 운영
기업 내부 IT 인프라를 클라우드로 이전 (온프레미스 → 클라우드)
예시: 스타트업이 빠르게 웹 서비스를 출시하기 위해 AWS EC2에서 서버를 생성하고, S3를 사용하여 데이터를 저장하는 경우.
PaaS (Platform as a Service)
"개발 플랫폼을 제공하여, 개발자는 코드만 작성하면 되는 서비스"
PaaS는 개발자가 직접 서버나 네트워크를 관리할 필요 없이, 애플리케이션을 개발하고 배포할 수 있는 플랫폼을 제공하는 서비스입니다.
특징
서버 관리 필요 없음 (개발에 집중 가능)
OS, 런타임, 미들웨어 등을 클라우드가 자동 관리
개발, 테스트, 배포를 쉽게 할 수 있는 환경 제공
특정 프로그래밍 언어 또는 프레임워크 지원
ex)
Google Cloud App Engine
AWS Elastic Beanstalk
Microsoft Azure App Services
Heroku
ex)
빠르게 웹 애플리케이션을 개발하고 배포해야 할 때
DevOps 환경에서 CI/CD(지속적 통합/배포) 설정
개발자가 서버 운영 대신 애플리케이션 개발에 집중하고 싶을 때
예시: 한 스타트업이 Google App Engine을 사용하여 웹 애플리케이션을 배포하면, 서버 설정 없이 코드만 업로드하면 서비스가 실행됨.
SaaS (Software as a Service)
"설치 없이 웹에서 바로 사용하는 소프트웨어 서비스"
SaaS는 사용자가 직접 소프트웨어를 설치할 필요 없이, 웹에서 접속하여 사용할 수 있는 클라우드 기반 서비스입니다.
특징
웹 브라우저에서 바로 사용 가능 (설치 불필요)
자동 업데이트 및 유지보수 (관리 부담 없음)
구독형 요금제 (월간/연간 사용료)
다중 사용자 지원 (팀 협업 도구 등에 최적화)
ex)
Google Workspace (Gmail, Google Drive, Google Docs)
Microsoft 365 (Outlook, Word, Excel, Teams)
Dropbox, Slack, Zoom, Salesforce, Notion
개인이나 기업이 문서 작성, 이메일, 협업 도구 사용
고객 관리(CRM) 또는 프로젝트 관리 도구 사용
온라인 강의 플랫폼 또는 스트리밍 서비스
예시: 회사에서 직원들이 Google Docs(구글 문서)를 사용하면, 문서를 클라우드에서 바로 열고 편집할 수 있음. 소프트웨어 설치 필요 없음.
어떤 것을 선택해야 할까?
IaaS: 클라우드에서 직접 서버를 설정하고 관리하고 싶다면
PaaS: 개발만 하고, 서버 관리 부담을 줄이고 싶다면
SaaS: 설치 없이 바로 사용하고 싶다면
기업 IT 인프라 이전 → IaaS
빠른 앱 개발 및 배포 → PaaS
웹 기반 협업 도구 사용 → SaaS
+ FaaS
FaaS (Function as a Service)
"서버 없이 함수(Function) 단위로 코드를 실행하는 클라우드 서비스"
FaaS(Function as a Service)는 서버를 직접 관리하지 않고, 특정 이벤트가 발생할 때 함수(코드)를 실행하는 클라우드 서비스
개발자는 서버 운영 부담 없이, 비즈니스 로직에만 집중할 수 있는 서버리스(Serverless) 컴퓨팅 모델
FaaS의 핵심 개념
서버를 직접 구축하거나 관리할 필요 없음
코드(함수)만 작성하고 클라우드에 배포
이벤트가 발생할 때만 실행 → 비용 절감
사용한 만큼만 비용 지불 (초 단위 과금)
자동 스케일링 지원
ex)
AWS Lambda
FaaS 서비스
이벤트 기반으로 실행 (예: S3 파일 업로드, API Gateway 요청)
다양한 프로그래밍 언어 지원 (Python, Node.js, Go, Java 등)
Google Cloud Functions
GCP의 FaaS 서비스
Firebase, Cloud Pub/Sub, Cloud Storage 등과 연동 가능
HTTP 트리거, Pub/Sub 메시지 트리거 지원
Azure Functions
Microsoft Azure의 FaaS 서비스
C#, Python, JavaScript, PowerShell 등 다양한 언어 지원
HTTP 요청, Timer, Service Bus 등 다양한 트리거 제공