졸업을 하기전에 목표로 결심하게 된 것이 있다.
웹 서비스를 하나 만들어서 배포하고 싶다.
서버를 사야 하나? 어디에 띄우지? 트래픽이 몰리면?
학생 신분에 수백만 원짜리 서버를 살 수는 없다.
여기서 등장하는 게 클라우드다.
"내 서비스를 클라우드에 올리려면 무엇을 알아야 하는가" — 이 질문에서 시작한다.
1-1. 클라우드 서비스의 소개
클라우드 컴퓨팅이란?
한마디로 말하면 인터넷을 통해 컴퓨팅 서비스를 제공하는 것이다.
여기서 말하는 컴퓨팅 서비스에는 가상 머신, 스토리지, 데이터베이스, 네트워킹 같은 일반적인 IT 인프라가 포함된다. 거기에 더해 IoT(사물 인터넷), ML(기계 학습), AI(인공 지능) 같은 최신 기술 영역까지 확장된다.
핵심은 물리적 인프라에 제한되지 않는다는 것이다. 기존에는 IT 인프라를 늘리려면 새 데이터 센터를 직접 빌드해야 했다. 서버 주문하고, 랙 설치하고, 네트워크 깔고... 몇 주에서 몇 달이 걸리는 작업이었다. 클라우드를 사용하면 이걸 몇 분 만에 해결할 수 있다.
공동 책임 모델
클라우드를 쓴다고 모든 책임이 클라우드 공급자에게 넘어가는 건 아니다.
공동 책임 모델(Shared Responsibility Model)이라는 개념이 있다.
크게 세 가지 영역으로 나뉘는데,
항상 고객이 책임져야 하는 것:
- 정보 및 데이터
- 디바이스(모바일 및 PC)
- 계정 및 ID
유형에 따라 책임이 다른 것:
- ID 및 디렉터리 인프라
- 애플리케이션
- 네트워크 제어
- 운영 체제
항상 클라우드 공급자가 책임지는 것:
- 물리적 호스트
- 물리적 네트워크
- 물리적 데이터 센터
SaaS로 갈수록 공급자의 책임이 커지고, IaaS로 갈수록 고객의 책임이 커진다. 온-프레미스는 전부 고객 책임이다.
클라우드 배포 모델
클라우드 환경은 배포 방식에 따라 크게 세 가지로 나뉜다.
프라이빗 클라우드
- 조직이 자체 데이터 센터에 클라우드 환경을 구축
- 운영 책임은 전적으로 조직에게 있음
- 외부 사용자는 접근 불가
보안이나 규제 요구사항이 엄격한 금융, 의료 분야에서 많이 쓴다. 대신 초기 비용이 크고 유지보수 부담이 있다.
퍼블릭 클라우드
- 클라우드 서비스 또는 호스팅 공급자가 소유
- 여러 조직과 사용자에게 리소스와 서비스를 제공
- 인터넷을 통해 보안 네트워크 연결로 접근
AWS, Azure, GCP 같은 대형 클라우드 공급자가 대표적이다. 확장 시 자본 지출이 없고, 사용한 만큼만 비용을 낸다.
하이브리드 클라우드
- 퍼블릭과 프라이빗 클라우드를 결합
- 애플리케이션이 가장 적절한 위치에서 실행되도록 함
예를 들어 민감한 고객 데이터는 프라이빗 클라우드에 두고, 웹 프론트엔드는 퍼블릭 클라우드에 배포하는 식이다. 보안, 규정 준수, 법적 요구사항을 유연하게 제어할 수 있어서 실무에서 가장 많이 채택하는 모델이기도 하다.
CapEx vs OpEx
클라우드를 이해할 때 빠질 수 없는 개념이 CapEx(자본 지출)와 OpEx(운영 비용)의 차이다.
CapEx(Capital Expenditure)는 물리적 인프라에 대한 선불 지출이다. 서버를 사고, 데이터 센터를 짓는 비용이 여기에 해당한다. 시간이 지나면서 감가상각이 적용된다.
OpEx(Operational Expenditure)는 필요에 따라 종량제로 지불하는 비용이다. 쓴 만큼 바로 청구된다.
퍼블릭 클라우드의 가장 큰 장점 중 하나가 바로 이 CapEx에서 OpEx로의 비용 전환이다. 수억 원짜리 서버를 미리 구매할 필요 없이, 매달 사용한 만큼만 지불하면 된다.
1-2. 클라우드 인프라의 이해
사용량 기반 모델
클라우드 서비스 공급자는 사용량 기반 모델(Pay-as-you-go)로 운영된다. 사용한 리소스에 대해서만 비용을 지불한다.
이 모델의 장점은:
- 더 정확한 비용 예측이 가능하다
- 개별 리소스와 서비스별로 가격이 투명하게 제공된다
- 실제 사용량을 기준으로 청구된다
온프레미스 환경에서 "혹시 모르니까" 여유있게 잡아두던 리소스 낭비가 사라지는 것이다.
클라우드의 장점
클라우드가 제공하는 주요 이점들을 정리하면:
- 고가용성 - 서비스 중단을 최소화하는 인프라
- 확장성 - 수요에 따라 리소스를 유연하게 증감
- 탄력성 - 갑작스러운 트래픽 증가에도 자동으로 대응
- 안정성 - 분산된 인프라로 장애 복구 능력 확보
- 예측 가능성 - 비용과 성능 모두 예측 가능
- 보안 - 클라우드 공급자의 전문적인 보안 체계 활용
- 거버넌스 - 정책 기반의 리소스 관리
- 관리 효율 - 자동화된 인프라 운영
클라우드 서비스 유형
클라우드 서비스는 제공 범위에 따라 세 가지로 나뉜다.
IaaS (Infrastructure as a Service)
가장 유연한 클라우드 서비스다. 클라우드 공급자로부터 서버, 가상 머신, 스토리지, 네트워크, 운영 체제를 대여하여 종량제 IT 인프라를 구축한다.
쉽게 말해 "빈 서버를 빌려서 내가 알아서 다 구성한다"는 것이다. 자유도가 가장 높지만 그만큼 관리할 것도 많다.
제공 범위: 서버 및 스토리지, 네트워킹 방화벽/보안, 데이터 센터 물리적 공장/건물
PaaS (Platform as a Service)
기본 인프라 관리에 신경 쓰지 않으면서 소프트웨어 애플리케이션을 빌드, 테스트, 배포할 수 있는 환경을 제공한다.
IaaS가 제공하는 것에 더해 운영 체제, 개발 도구, 데이터베이스 관리, 비즈니스 분석 도구까지 포함된다. 개발자는 애플리케이션 코드에만 집중하면 된다.
SaaS (Software as a Service)
사용자는 인터넷을 통해 완성된 애플리케이션을 바로 사용한다. Microsoft Office 365, Gmail, Slack 같은 서비스가 대표적이다.
사용자는 구독 모델로 비용을 지불하고, 인프라나 플랫폼에 대해 전혀 신경 쓸 필요가 없다.
세 가지를 비교하면:
| 구분 | IaaS | PaaS | SaaS |
|---|---|---|---|
| 사용자 관리 | HW 구성 및 관리 | 앱 개발에만 집중 | 구독 후 바로 사용 |
| 유연성 | 가장 높음 | 중간 | 가장 낮음 |
| 관리 부담 | 가장 큼 | 중간 | 가장 적음 |
| 비용 모델 | 종량제 | 종량제 | 구독제 |
| 예시 | Azure VM, AWS EC2 | Azure App Service, Heroku | Office 365, Google Workspace |
Azure Compute Service
Azure Compute는 디스크, 프로세서, 메모리, 네트워킹 및 운영 체제 같은 컴퓨팅 리소스를 제공하는 주문형 컴퓨팅 서비스다.
주요 서비스:
- 가상 머신(VM) - 가장 기본적인 IaaS 컴퓨팅 리소스
- App Services - 웹 앱 호스팅을 위한 PaaS
- Container Instances - 서버리스 컨테이너 실행
- AKS(Azure Kubernetes Services) - 컨테이너 오케스트레이션
- Azure Virtual Desktop - 클라우드 기반 가상 데스크톱
1-3. 클라우드 플랫폼 기반의 서비스
Azure 리소스
Azure 리소스란 클라우드 솔루션을 빌드하는 데 사용하는 구성 요소다. Virtual Machines, 스토리지 계정, 가상 네트워크, App Services, SQL Database, Functions 등이 모두 리소스에 해당한다.
리소스 그룹
리소스 그룹은 리소스를 관리하고 집계하는 데 사용되는 논리적 컨테이너다.
리소스 그룹의 핵심 특징:
- 하나의 리소스는 리소스 그룹 하나에만 존재할 수 있다
- 리소스 하나가 여러 지역(Region)에 걸쳐 있을 수는 있다
- 리소스를 다른 리소스 그룹으로 이동할 수 있다
- 하나의 애플리케이션이 여러 리소스 그룹을 사용할 수 있다
리소스 그룹을 어떻게 구성하느냐는 프로젝트 성격에 따라 다르다. 모든 리소스를 하나의 그룹에 넣을 수도 있고, 웹/DB, VM, 스토리지별로 분리할 수도 있다. 실무에서는 환경(dev/staging/prod)별 또는 서비스별로 나누는 경우가 많다.
실습 진행
Azure 계정은 이미 생성했다고 생각하고(학생용 계정),
리소스 그룹 만들기부터 시작해보자.












이건 이제 안 쓸 예정이므로, 다시 홈으로 돌아와서 VM을 삭제해보자


정리
- 클라우드는 컴퓨팅 자원을 집중 설치하고 효율적으로 공유하는 방식이다
- 공동 책임 모델에 따라 공급자와 사용자가 책임을 나눈다
- 서비스 유형은 IaaS, PaaS, SaaS로 나뉘고, 각각 자유도와 관리 부담이 다르다
- 배포 모델은 퍼블릭, 프라이빗, 하이브리드가 있다
- 퍼블릭 클라우드는 CapEx → OpEx로의 비용 전환을 가능하게 한다
- Azure의 리소스와 리소스 그룹을 통해 클라우드 자원을 체계적으로 관리한다
다음 시간에는 리눅스 기반 웹 서버 구축으로 이어진다.
'개인공부' 카테고리의 다른 글
| [클라우드응용SW개발] 3. 클라우드 데이터 플랫폼(1) (0) | 2026.03.24 |
|---|---|
| [클라우드응용SW개발] 2. 리눅스 기반 웹 서버 구축하기 (0) | 2026.03.24 |
| [MQTT / Python / IoT] AoI를 고려한 큐 버퍼 관리 알고리즘 개발 (0) | 2026.01.21 |
| [Linux / SSH / IoT] Ansible을 활용한 환경 구성 자동화 (0) | 2026.01.05 |
| [MQTT / C++ / Python / IoT] Khadas VIM4 환경 온습도 센서 연결 (0) | 2025.12.31 |