클라우드 컴퓨팅의 정의 by NIST(2011)
- 클라우드 컴퓨팅은 어디서나 동작하고 편리하며, 최소한의 관리 노력이나 서비스 제공자와의 상호작용을 통해 빠르게 제공하고 배포할 수 있는 구성 가능한 IT 리소스의 공유 풀에 주문형 네트워크로 접근 가능한 모델
- 이 클라우드 모델은 5가지 특성과 3가지 서비스 모델, 4가지 배포 모델로 구성됨
클라우드 컴퓨팅의 특성
1. 온디맨드 셀프서비스(On-demand self-service)
서버, 네트워크 장치, 저장장치 등의 IT 리소스를 사용자가 필요할 때 스스로 확보해 사용할 수 있음
- 기존 온프레미스 방식에서의 시스템 구축 절차
- 시스템 구축을 위한 예산 확보
- IT 리소스 구매 요청
- 사내 IT 운영자가 직접 배송 받은 리소스를 통해 시스템 구축
2. 광범위 네트워크 액세스(Broad network access)
다양한 네트워크를 통해 다양한 디바이스에서 접근 가능함
- 다양한 디바이스 지원: PC, 노트북, 스마트폰, 태블릿 등 다양한 디바이스에서 접근하고 사용할 수 있음
- 네트워크 접근성: 인터넷이 연결된 곳이라면 어디서든 접근할 수 있어 장소에 구애받지 않고 업무 수행이 가능함
- 표준화된 매커니즘: HTTP, HTTPS와 같은 표준화된 프로토콜과 API를 사용하여 네트워크를 통해 제공되기 때문에 사용자와 서비스 간의 상호작용이 용이하고 호환성이 높음
3. 리소스 폴링(Resource Pooling)
클라우트 컴퓨팅은 멀티테넌드(multi-tenant) 모델을 기반으로 하여 사용자의 요구에 따라 IT 리소스를 동적으로 할당함
- Tenant = 거주자, 멀티테넌트 <-> 각 사용자가 독립된 컴퓨팅 환경을 사용하는 싱글테넌트
- 공유 자원 모델: 리소스 폴링에서는 여러 사용자가 동일한 물리적 자원(서버, 스토리지, 네트워크 등)을 공유하며, 가상화 기술을 통해 각 사용자는 자신만의 전용 자원을 사용하는 것처럼 느낌
- 동적 자원 할당: 클라우드 제공자는 필요에 따라 자원을 동적으로 할당하거나 해제할 수 있음
- 위치 독립성: IT 리소스는 공유를 위한 저장소인 풀(Pool)에서 관리되기 때문에, 사용자는 실제 자원의 물리적 위치를 알 필요 없이 사용이 가능함
4. 신속한 탄력성(Rapid Elasticity)
사용자에게 협의된 IT 리소스를 기본적으로 제공하며 추가적인 사용량에 따라 리소스를 확장 또는 축소할 수 있는 자동화 기능을 제공함
- 기존 온프레미스에서는 리소스의 확장 또는 축소에 복잡한 과정이 요구됨
- 클라우드 서비스에서는 요구에 따라 거의 무제한에 가까운 확장이 가능하며, 즉시 축소가 가능함
- 사용한 리소스만큼의 비용만 부담하기 때문에 가용 리소스와 요금 측면에서 탄력성을 가짐
5. 서비스 사용량 측정(Measured Service)
클라우드 서비스 제공자가 자원의 사용량을 모니터링하고, 이를 기반으로 과금 및 리소스를 최적화함
- 자동화된 측정 시스템: 클라우드 서비스 제공자(CSP)는 사용자의 자원 사용량을 자동으로 모니터링하고 기록하는 시스템을 구축하고 CPU, 메모리 등 다양한 자원에 대한 데이터를 실시간으로 수집
- 사용량 기반 과금: 서비스 사용량 측정 기능을 통해 사용자에게 사용한 만큼만 과금하는 종량제(Pay-as-you-go) 모델을 제공함
- 투명화 및 가시성: 사용자는 자신의 자원 사용량에 대한 투명한 정보를 제공받고 이를 통해 자신의 자원 사용 패턴을 분석, 최적화가 가능함
- 자원 최적화: 클라우드 제공자는 서비스 사용량 측정을 통해 자원의 최적화를 도모할 수 있음
- 서비스 품질 관리: 자원 사용량을 실시간으로 모니터링함으로써 서비스 성능이 일정 수준 이하로 떨어질 때 신속한 대처가 가능함
클라우드 서비스 모델
클라우드 서비스 모델이란?
- 클랑드 컴퓨팅을 사용 시 사용자가 원하는 서비스에 따라 요구되는 IT 리소스의 조합이 달라짐
- 단순히 애플리케이션을 제공받고자 함 -> 물리적, 논리적 IT 리소스에는 관심x
- 직접 애플리케이션을 만들어 서비스를 제공하려 함 -> IT 리소스를 가진 플랫폼만 받길 원함
- 물리적 IT 리소스에 대한 접근까지 원함
- 사용자와 제공자 각각의 관리 영역 차이
- CSP는 사용자의 요구 수준에 맞춘 다양한 서비스 모델을 만들고 제공
1. SaaS(Software as a Service)
- 소프트웨어 영역까지 모두 CSP가 관리 및 제공하는 모델
- 제공받는 대부분의 서비스는 웹 브라우저를 통해 실행하며, 사용자 측에서 다운로드나 설치할 필요가 없음
- CSP가 데이터 센터, 네트워킹 방화벽, 보안부터 애플리케이션의 비즈니스 분석까지의 모두를 관리 및 제공함
- 운영 과정에서 기술적으로 발생하는 문제에 대한 책임이 CSP에게 있어 소프트웨어 사용에만 집중이 가능
- ex. Google Workspace, Notion, Saleforce 등

2. PaaS(Platform as a Service)
- 클라우드 사용자가 직접 소프트웨어를 개발하거나 서비스하기 위해 CSP로부터 기반환경(플랫폼)을제공받는 모델
- CSP는 데이터센터부터 개발도구, DBMS 까지만 제공하고, 사용자가 애플리케이션을 통해 데이터를 직접 관리 및 처리함
- AWS Elastic Beanstalk: Amazon Web Services(AWS)에서 제공하는 PaaS 서비스로, 개발자들이 웹 애플리케이션과 서비스를 AWS에서 쉽게 배포하고 관리할 수 있도록 지원함. 자동으로 필요한 인프라를 설정하고, 애플리케이션의 확장 및 관리를 도와줍니다. 다양한 언어와 프레임워크(Java, .NET, PHP, Python 등)를 지원

3. IaaS(Infrastructure as a Service)
- 사용자가 운영하고자 하는 서비스에 맞춰서 프로세서, 스토리지, 메모리 등의 하드웨어를 정확히 요청하고, CSP는 요청받은 리소스 자체를 제공해 주는 모델
- ex. AWS EC2, AWS S3

그 외 서비스 모델
4. FaaS(Function as a Service)
- 서버리스컴퓨팅의 다른 이름으로, 개별기능 또는 함수를 클라우드에 등록하고 연산에 처리되는 IT 리소스는 CSP에서 관리함
- 플랫폼을 대여하고 사용 기간만큼 과금되는 PaaS와 달리 함수가 호출된 횟수만큼 과금되는 구조
- AWS Lambda, Google Cloud Functions 등 서비스가 존재

5. CaaS(Containers as a Service)
- 사용자가 컨테이너 기반 애플리케이션을 구동하기 위한 IT리소스 및 기술을 제공하는 모델
- 컨테이너 오케스트레이션, 로깅, 모니터링 등의 기능을 제공하여 애플리케이션 라이프사이클을 단순화함
- PaaS와 매우 유사하나, 컨테이너 기술이 유행함에 따라 각광을 받음
- Amazon Elastic Kubernetes Service (EKS): AWS에서 제공하는 Kubernetes 기반 CaaS 서비스로, AWS 인프라에서 Kubernetes 클러스터를 쉽게 배포하고 관리할 수 있도록 지원

기업 별 클라우드 서비스 도입 사례
- Netflix: IaaS
- Airbnb, Lyft: IaaS, PaaS
- Volkswagen: (IaaS, SaaS) 멀티 클라우드
- Adobe: PaaS, SaaS
- Coca-Cola: (IaaS, PaaS) FaaS
- Snapchat: (IaaS) + MSP 서비스
클라우드 배포 모델
클라우드 컴퓨팅 서비스를 제공할 때, IT 리소스의 소유권, 규모, 접근 방법, 이용 범위 등에 따라 배포 모델을 구분함


1. 퍼블릭 클라우드(Pulic Cloud)
IT 리소스를 CSP가 소유하며, 네트워크를 통해 사용자가 이용할 수 있도록 운영하는 모델
- 서비스 제공자가 모든 리소스를 관리하고, 그 리소스를 다른 기업이나 일반 사용자에게 제공하며 주로 웹기반으로 부여된 계정을 통해 서비스를 이용
- 보안 강도에 따른 비용 절감과 가용성 향상을 중시할 경우에 적합
- ex. AWS, Microsoft Azure, Google Cloud Platform 등
2. 프라이빗 클라우드(Private Cloud)
하나의 기업이나 조직이 독립적으로 IT 리소스를 소유하는 형태의 배포 모델
- 조직이 보유한 데이터 센터 내의 리소스를 활용하여 독자적 클라우드를 구축 및 운영하거나, 클라우드 서비스 구축 업체로부터 제공받을 수 있음
- 엄격한 보안, 기업의 규정 준수 등이 필요한 경우에 적합
- ex. 정부기관, 금융기관 등에서 사용

3. 하이브리드 클라우드(Hybrid Cloud)
퍼블릭 클라우드와 프라이빗 클라우드를 결합한 배포 모델로, 데이터 및 애플리케이션을 목적에 따라 제공할 수 있는 모델
- 퍼블릭 클라우드의 서비스를 활용하면서 법적 이유로 따로 보관해야 하는 데이터가 있는 경우 해당 데이터만 프라이빗 클라우드에서 관리하는 형식
- 최근 효율적인 클라우드의 전환을 위해 하이브리드 클라우드와 멀티 클라우드의 도입 수요가 증가 중
- 멀티 클라우드: 여러 퍼블릭 클라우드를 병행하여 사용하는 모델
4. 커뮤니티 클라우드(Community Cloud)
정책 또는 내규에 따른 공통된 보안 요구사항이 있는 기업 및 조직 내 구성원들만 사용할 수 있도록 하는 형태의 모델
- '커뮤니티'를 구성하여 커뮤니티 내의 구성원만 사용가능한 프라이빗 클라우드를 사용할 수 있도록 하는 방식
- 번외) 뉴욕증권거래소의 경우 고객의 자산 및 거래내역 등은 자체 서버나 프라이빗 클라우드에 보관하였으나, 트랜젝션 속도 개선을 위해 증권 관련 금융 서비스 조직들과 커뮤니티 클라우드를 구성함
핵심)
- NIST가 정의한 클라우드 컴퓨팅 정의
- 클라우드 컴퓨팅의 특성 5가지
- 클라우드 서비스 모델 5가지
- 클라우드 서비스 모델 도입 사례
- CSP vs. MSP
- 클라우드 배포 모델
Reference
- AWS 교과서(길벗 출판사)
- 명지대학교 클라우드시스템(김주영) 자체 제작 슬라이드(강의자료)
'Security > Cloud' 카테고리의 다른 글
| [AWS] Amazon CloudFront로 CDN 구성 (1) | 2024.11.25 |
|---|---|
| [AWS] Amazon VPC로 퍼블릭/프라이빗 서브넷 구성하기 (1) | 2024.11.24 |
| [AWS] AWS EC2 인스턴스 배포 및 접근(for mac) (1) | 2024.11.23 |
| 로드밸런싱(Load Balancing) (1) | 2024.11.20 |
| [Cloud] 클라우드 컴퓨팅의 이해 (4) | 2024.09.17 |