클라우드 서비스 모델은 AZ-900 시험의 핵심 주제 중 하나입니다. IaaS, PaaS, SaaS — 이 세 가지 약어가 처음에는 비슷해 보일 수 있지만, 올바르게 구분하면 "이 시나리오에 어떤 모델이 적합한가?"라는 시험 문제를 쉽게 풀 수 있습니다. 주방 비유로 한 번에 이해해 봅시다.
주방 비유로 세 가지 모델 한눈에 이해하기
요리를 하고 싶은 상황을 상상해 보세요. 방법은 세 가지입니다.
첫 번째, 빈 주방 임대 (IaaS): 빈 주방을 빌렸습니다. 냄비, 칼, 가스레인지, 오븐이 갖춰져 있습니다. 하지만 식재료는 직접 마트에서 사야 하고, 레시피도 직접 개발해야 하고, 요리 후 설거지와 청소도 직접 해야 합니다. 자유롭게 어떤 요리든 만들 수 있지만, 그만큼 해야 할 일이 많습니다.
두 번째, 밀키트 서비스 (PaaS): 밀키트를 주문했습니다. 미리 손질된 재료와 단계별 레시피 카드가 함께 옵니다. 냄비 사용법은 알아야 하지만, 재료 쇼핑이나 레시피 개발은 필요 없습니다. 요리 자체에만 집중하면 됩니다.
세 번째, 레스토랑 방문 (SaaS): 레스토랑에 갔습니다. 메뉴판에서 원하는 것을 고르기만 하면 됩니다. 요리, 서빙, 설거지, 청소 모두 레스토랑이 처리합니다. 가장 편리하지만, 메뉴를 직접 바꾸거나 레시피를 수정하는 것은 불가능합니다.
이 비유를 Azure 서비스에 그대로 적용할 수 있습니다.
!IaaS, PaaS, SaaS 비교
IaaS — Infrastructure as a Service (서비스형 인프라)
IaaS는 클라우드 제공업체가 물리적인 하드웨어(서버, 네트워크, 스토리지)를 인터넷으로 제공하는 모델입니다. 고객은 이 인프라 위에 운영 체제(OS)를 직접 설치하고, 그 위에 필요한 소프트웨어를 구성합니다. 가장 높은 수준의 유연성과 제어권을 제공합니다.
IaaS에서 고객이 직접 관리하는 것
운영 체제 설치 및 패치 (Windows 업데이트, Linux 커널 업그레이드) 런타임 환경 (Java, Python, .NET 등) 미들웨어 및 애플리케이션 서버 (Apache, Nginx, IIS) 애플리케이션 코드 및 데이터 네트워크 방화벽 규칙 및 보안 그룹
대표 Azure IaaS 서비스
Azure Virtual Machines: 클라우드에서 Windows 또는 Linux 가상 서버를 직접 생성하고 운영. OS, 메모리, CPU, 디스크 크기를 자유롭게 선택. Azure Virtual Network (VNet): 가상 사설 네트워크를 구성. 서브넷 분리, IP 대역 설정, 라우팅 테이블 제어. Azure Disk Storage (Managed Disks): 가상 머신에 연결하는 블록 스토리지. SSD 또는 HDD 선택 가능. Azure Load Balancer: 여러 VM 사이에 트래픽을 분산.
IaaS가 최적인 시나리오
기존 온프레미스 서버를 클라우드로 그대로 이전할 때 (Lift and Shift 마이그레이션) 특정 OS 버전이나 커스텀 소프트웨어 구성이 필요할 때 게임 서버처럼 세밀한 성능 튜닝이 필요할 때 특정 소프트웨어 라이선스를 직접 관리해야 할 때
PaaS — Platform as a Service (서비스형 플랫폼)
PaaS는 개발자가 애플리케이션을 만들 수 있는 완성된 개발 환경(플랫폼)을 제공합니다. 운영 체제, 런타임, 미들웨어, 데이터베이스 엔진을 Azure가 모두 관리합니다. 개발자는 코드를 작성하고 배포하는 것에만 집중할 수 있습니다. 서버 패치나 OS 업그레이드는 신경 쓸 필요가 없습니다.
PaaS에서 고객이 직접 관리하는 것
애플리케이션 코드 애플리케이션 설정 (환경 변수, 연결 문자열) 데이터 (데이터베이스 내용, 파일) 접근 제어 (누가 앱에 접근할 수 있는지)
대표 Azure PaaS 서비스
Azure App Service: 웹 앱, REST API, 모바일 백엔드를 코드만 올리면 자동 배포. Node.js, Python, Java, .NET, PHP 지원. OS 패치, 로드 밸런싱, 자동 스케일링 모두 자동. Azure SQL Database: SQL Server 엔진 기반의 완전 관리형 관계형 데이터베이스. SQL Server를 직접 설치·운영·패치할 필요 없음. Azure Functions: 함수 단위로 코드를 실행하는 서버리스 컴퓨팅. 서버 프로비저닝 없이 이벤트 기반으로 코드 실행. Azure Kubernetes Service (AKS): 컨테이너를 대규모로 운영하는 오케스트레이션 플랫폼. 쿠버네티스 제어 플레인을 Azure가 관리. Azure Cosmos DB: 글로벌 분산 NoSQL 데이터베이스. 다중 리전 복제, 낮은 지연 시간 보장.
PaaS가 최적인 시나리오
빠른 애플리케이션 개발과 배포가 필요할 때 인프라 전문 인력 없이 개발 팀만으로 운영해야 할 때 트래픽 변동이 심해 자동 스케일링이 필요할 때 DevOps 파이프라인을 구축하고 CI/CD를 자동화할 때
SaaS — Software as a Service (서비스형 소프트웨어)
SaaS는 완전히 완성된 소프트웨어를 인터넷으로 제공하는 모델입니다. 설치, 패치, 업데이트, 백업, 유지보수 모두 공급자가 담당합니다. 사용자는 웹 브라우저나 앱으로 로그인하기만 하면 됩니다. IT 전문 지식이 전혀 없어도 사용 가능합니다.
SaaS에서 고객이 직접 관리하는 것
데이터 (문서, 파일, 기록) 사용자 계정 및 접근 권한 설정 소프트웨어 사용 방법 (설정과 커스터마이징 범위 내에서)
대표 Azure / Microsoft SaaS 서비스
Microsoft 365 (Word, Excel, PowerPoint, Outlook, OneNote): 설치 없이 웹 브라우저에서 문서 작업. 언제나 최신 버전 자동 유지. Microsoft Teams: 화상 회의, 채팅, 파일 공유, 협업 도구. 전 세계 어디서나 접속 가능. Dynamics 365: CRM(고객 관계 관리) 및 ERP(전사적 자원 관리) 기업 업무 솔루션. Microsoft Intune: 기기 관리 솔루션. 직원 스마트폰과 노트북을 원격 관리. Microsoft Power BI: 데이터 시각화 및 비즈니스 인텔리전스 플랫폼.
SaaS가 최적인 시나리오
이메일, 문서 작업 등 범용 업무 도구가 필요한 기업 IT 부서가 없는 소규모 스타트업 빠른 도입이 필요하고 소프트웨어 커스터마이징이 크게 필요 없을 때 원격 근무 환경에서 팀 협업 도구가 필요할 때
관리 책임 비교표 — 누가 무엇을 관리하는가
클라우드 공유 책임 모델에서 가장 중요한 개념입니다. 어떤 계층을 공급자가 관리하고, 어떤 계층을 고객이 관리하는지 정확히 이해해야 합니다.
| 책임 항목 | 온프레미스 | IaaS | PaaS | SaaS | |---------|----------|------|------|------| | 물리적 데이터센터 | 고객 | 공급자 | 공급자 | 공급자 | | 물리적 네트워크 장비 | 고객 | 공급자 | 공급자 | 공급자 | | 물리적 서버 하드웨어 | 고객 | 공급자 | 공급자 | 공급자 | | 가상화 레이어 | 고객 | 공급자 | 공급자 | 공급자 | | 운영 체제 (OS) | 고객 | 고객 | 공급자 | 공급자 | | 네트워크 설정/방화벽 | 고객 | 고객 | 공급자 | 공급자 | | 미들웨어/런타임 | 고객 | 고객 | 공급자 | 공급자 | | 애플리케이션 코드 | 고객 | 고객 | 고객 | 공급자 | | 데이터 | 고객 | 고객 | 고객 | 고객 | | 사용자 계정/접근 관리 | 고객 | 고객 | 고객 | 고객 |
핵심 규칙: IaaS → PaaS → SaaS 순서로 고객이 관리해야 할 항목이 점점 줄어듭니다. 단, 데이터와 사용자 계정 관리는 어떤 모델에서도 항상 고객의 책임입니다. 이 점을 반드시 기억하세요.
세 모델 빠른 비교
| 비교 항목 | IaaS | PaaS | SaaS | |---------|------|------|------| | 주방 비유 | 빈 주방 임대 | 밀키트 서비스 | 레스토랑 | | 제어 수준 | 가장 높음 | 중간 | 가장 낮음 | | 관리 부담 | 가장 많음 | 중간 | 가장 적음 | | 유연성 | 가장 높음 | 중간 | 가장 낮음 | | 도입 속도 | 느림 | 빠름 | 즉시 | | Azure 예시 | Virtual Machines | App Service, Azure SQL Database | Microsoft 365, Teams | | 사용 대상 | 인프라 엔지니어 | 개발자 | 일반 사용자 |
헷갈리기 쉬운 서비스 분류
시험에서 자주 혼동되는 서비스들을 정리합니다.
Azure Functions는 PaaS입니다. 서버리스라는 말 때문에 별도 카테고리라고 생각할 수 있지만, 서버리스도 PaaS의 한 종류입니다. 개발자가 코드만 작성하고 플랫폼이 실행 환경 전체를 관리하기 때문입니다.
Azure Kubernetes Service (AKS)는 PaaS입니다. 컨테이너 오케스트레이션 플랫폼이지만, Azure가 쿠버네티스 마스터 노드(제어 플레인)를 관리합니다. 사용자는 워커 노드와 앱 배포만 담당합니다.
Azure Virtual Machine Scale Sets는 IaaS입니다. 자동으로 VM 수를 조절하지만, 각 VM의 OS와 소프트웨어 관리는 여전히 고객 책임입니다.
시험 핵심 정리
"OS를 직접 설치하고, 패치하고, 런타임도 직접 구성한다" -- IaaS
"코드만 배포하면 되고, OS와 런타임은 Azure가 관리해준다" -- PaaS
"브라우저로 로그인해서 바로 사용, 설치나 업데이트 불필요" -- SaaS
"Azure Virtual Machines, Azure Virtual Network, Azure Disk Storage" -- IaaS 대표 서비스
"Azure App Service, Azure SQL Database, Azure Functions, AKS" -- PaaS 대표 서비스
"Microsoft 365, Microsoft Teams, Dynamics 365" -- SaaS 대표 서비스
"기존 온프레미스 앱을 클라우드로 그대로 이전 (Lift and Shift)" -- IaaS가 정답인 시나리오
"데이터와 사용자 계정 관리는 어떤 모델에서도 항상 고객 책임" -- 공유 책임 모델 핵심
"서버리스(Azure Functions)도 PaaS 범주에 속함" -- 자주 혼동되는 분류