클라우드 컴퓨팅 (Cloud Computing)
목차
클라우드 컴퓨팅이란
클라우드 컴퓨팅(Cloud Computing) 은 네트워크를 통해 서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어 같은 컴퓨팅 자원을 필요할 때 빠르게 할당하고 회수할 수 있도록 제공하는 방식입니다.1
전통적인 온프레미스 환경과 비교하면 차이는 분명합니다.
- 온프레미스: 장비를 직접 구매하고 설치하고 운영한다.
- 클라우드: 필요한 자원을 서비스 형태로 빌려 쓰고 사용량에 따라 비용을 낸다.
핵심은 단순히 “남의 서버를 쓴다”가 아닙니다.
자동화, 탄력적 확장, 셀프 서비스, 사용량 기반 과금까지 포함해야 클라우드다운 운영이 됩니다.
클라우드의 핵심 특징
NIST는 클라우드의 핵심 특성으로 온디맨드 셀프 서비스, 광범위한 네트워크 접근, 자원 풀링, 빠른 탄력성, 측정 가능한 서비스를 제시합니다.1
면접에서는 이를 실무 표현으로 바꿔 설명하면 더 자연스럽습니다.
- 필요할 때 바로 생성 가능: 인프라 발급 속도가 빠릅니다.
- 자동 확장 가능: 트래픽 변화에 맞춰 자원을 늘리거나 줄일 수 있습니다.
- 공유 인프라 기반: 대규모 자원 풀을 효율적으로 사용합니다.
- 사용량 기반 과금: 미사용 자원을 오래 유지하면 비용이 불필요하게 늘어납니다.
- API 중심 운영: 콘솔보다 IaC와 자동화가 중요해집니다.
서비스 모델
IaaS
IaaS(Infrastructure as a Service) 는 가상 서버, 스토리지, 네트워크 같은 인프라를 제공하는 모델입니다.
- 사용자 책임: 애플리케이션, 데이터, 런타임, 운영체제 일부 설정
- 장점: 유연성이 높고 제어 범위가 넓습니다.
- 단점: 운영 부담이 큽니다.
- 예시: Amazon EC2, Google Compute Engine, Azure Virtual Machines
PaaS
PaaS(Platform as a Service) 는 애플리케이션 실행 플랫폼을 제공하는 모델입니다.
- 사용자 책임: 애플리케이션 코드와 데이터
- 장점: 배포 속도가 빠르고 운영 부담이 줄어듭니다.
- 단점: 플랫폼 제약과 벤더 종속성이 생기기 쉽습니다.
- 예시: Google App Engine, Azure App Service, AWS Elastic Beanstalk
SaaS
SaaS(Software as a Service) 는 완성된 소프트웨어를 서비스로 이용하는 모델입니다.
- 사용자 책임: 설정과 데이터 활용
- 장점: 가장 빠르게 도입할 수 있습니다.
- 단점: 커스터마이징 범위가 제한됩니다.
- 예시: Google Workspace, Salesforce, Slack
| 항목 | IaaS | PaaS | SaaS |
|---|---|---|---|
| 제어 범위 | 가장 넓음 | 중간 | 가장 좁음 |
| 운영 부담 | 큼 | 중간 | 작음 |
| 도입 속도 | 상대적으로 느림 | 빠름 | 가장 빠름 |
| 대표 사용처 | 인프라 직접 운영 | 앱 배포 플랫폼 | 협업/업무 도구 |
배포 모델
클라우드는 보통 다음 배포 모델로 설명합니다.
- 퍼블릭 클라우드: AWS, GCP, Azure처럼 외부 사업자의 인프라를 공유해 사용
- 프라이빗 클라우드: 조직 내부 전용 클라우드 환경
- 하이브리드 클라우드: 온프레미스와 퍼블릭 클라우드를 함께 사용
- 멀티 클라우드: 둘 이상의 클라우드 사업자를 병행 사용
각 모델의 선택 기준은 보안, 규제, 기존 시스템 의존성, 비용, 조직 역량입니다.
클라우드를 사용하는 이유
- 빠른 실험과 배포: 인프라 준비 시간이 짧아 제품 출시 속도가 빨라집니다.
- 탄력적 확장: 이벤트성 트래픽이나 시즌성 트래픽에 대응하기 쉽습니다.
- 관리형 서비스 활용: 데이터베이스, 메시징, 모니터링 같은 공통 기능을 빠르게 도입할 수 있습니다.
- 글로벌 배포: 리전과 가용 영역을 활용해 여러 지역 사용자에게 서비스를 제공하기 쉽습니다.
- 운영 자동화: IaC, 오토스케일링, 관리형 보안 기능과 잘 맞습니다.
클라우드의 트레이드오프
클라우드는 편리하지만, “자동으로 더 싸고 더 안전하다”는 뜻은 아닙니다.
- 비용 예측 어려움: 사용량 기반 과금은 유연하지만, 방치된 리소스와 데이터 전송 비용이 누적되기 쉽습니다.
- 벤더 종속성: 관리형 서비스에 깊게 의존할수록 이전 비용이 커집니다.
- 운영 가시성 차이: 물리 장비를 직접 다루지 않기 때문에 내부 동작을 완전히 통제할 수는 없습니다.
- 보안 책임 분담: 클라우드 사업자가 모든 보안을 대신해주지 않습니다. 서비스 유형에 따라 사용자 책임이 남습니다.2
- 장애 범위: 리전, 가용 영역, 관리형 서비스 자체 장애를 고려한 설계가 필요합니다.
실무에서 자주 보는 운영 포인트
- 가용 영역 분산: 단일 AZ 의존을 줄여야 합니다.
- IaC 우선: 콘솔 수작업보다 Terraform, CloudFormation 같은 코드 기반 관리가 안전합니다.
- 비용 관측: 인프라 성능 지표만큼 비용 태깅, 예산 알림, 미사용 자원 정리가 중요합니다.
- 보안 기본값 점검: IAM 최소 권한, 네트워크 분리, 비밀 관리, 암호화, 감사 로그를 기본으로 봐야 합니다.
- 관리형 서비스의 한계 이해: RDS, Lambda, Kubernetes 관리형 서비스는 편하지만 제약도 함께 따라옵니다.
면접 포인트
- 클라우드는 단순한 호스팅이 아니라, 탄력성과 자동화를 포함한 운영 모델입니다.
- IaaS, PaaS, SaaS는 제어 범위와 운영 책임 차이로 설명해야 합니다.
- 클라우드의 장점은 속도와 확장성이지만, 비용 통제와 벤더 종속성은 별도 관리가 필요합니다.
- 보안은 shared responsibility model로 설명하는 것이 가장 안전합니다.
- 실무형 답변에서는 멀티 AZ, IaC, 비용 관리까지 같이 언급하는 편이 좋습니다.