클라우드 컴퓨팅
클라우드 컴퓨팅(cloud computing)은 서버, 저장 장치, 컴퓨터 네트워크, 플랫폼과 응용 프로그램 같은 컴퓨팅 자원을 네트워크를 통해 필요에 따라 이용하고 관리하는 서비스 모델이다. 이용자는 물리 장비를 직접 구매해 설치하지 않고도 제공자가 운영하는 자원 풀에서 필요한 용량을...
| 영문명 | Cloud computing |
|---|---|
| 분류 | 분산 시스템 · 컴퓨터 네트워크 · IT 인프라 |
| 기본 개념 | 네트워크를 통해 컴퓨팅 자원을 주문형으로 제공 |
| 주요 서비스 모델 | IaaS · PaaS · SaaS |
| 배포 모델 | 공용 클라우드 · 사설 클라우드 · 하이브리드 클라우드 |
| 핵심 자원 | 컴퓨트 · 저장소 · 네트워크 · 관리 서비스 |
| 구현 기술 | 가상화 · 컨테이너 · 분산 시스템 |
| 자원 관리 | 오케스트레이션 · 자동 확장 · 사용량 계량 |
| 네트워크 기술 | DNS · 로드 밸런싱 · 가상 네트워크 |
| 주요 특성 | 탄력성 · 셀프서비스 · 자원 풀링 · 광범위한 네트워크 접근 |
| 운영 과제 | 관측성 · 비용 관리 · 데이터 위치 · 장애 복구 |
| 보안 | 책임 공유 · 인증·인가 · 암호학 |
| 관련 분야 | DevOps · 데이터베이스 · 사이버 보안 |
| 표준 자료 | NIST SP 800-145 |
클라우드 컴퓨팅(cloud computing)은 서버, 저장 장치, 컴퓨터 네트워크, 플랫폼과 응용 프로그램 같은 컴퓨팅 자원을 네트워크를 통해 필요에 따라 이용하고 관리하는 서비스 모델이다. 이용자는 물리 장비를 직접 구매해 설치하지 않고도 제공자가 운영하는 자원 풀에서 필요한 용량을 할당받을 수 있다. 다만 단순한 원격 호스팅 서비스와 클라우드 컴퓨팅은 동일하지 않으며, NIST는 주문형 셀프서비스, 광범위한 네트워크 접근, 자원 풀링, 빠른 탄력성과 사용량 계량을 대표적인 특징으로 제시한다.[1]
클라우드 컴퓨팅의 기술적 기원은 메인프레임의 시분할 서비스와 원격 호스팅, 가상화 및 분산 시스템에 있다. 2000년대에는 인터넷을 통해 컴퓨팅 용량을 프로그래밍 방식으로 확보하고 작업량에 따라 자원을 늘리거나 줄이는 상용 서비스가 확산되었다. 이후 가상 머신과 블록 저장소뿐 아니라 관리형 데이터베이스, 컨테이너, 서버리스 함수와 대규모 데이터 처리 서비스가 발전하면서 클라우드는 단순한 서버 임대보다 넓은 플랫폼이 되었다.
서비스 모델은 제공자가 어디까지 관리하고 이용자가 무엇을 직접 운영하는지에 따라 나뉜다. IaaS는 가상 서버·스토리지와 가상 네트워크 같은 기반 자원을, PaaS는 응용 프로그램을 실행하기 위한 플랫폼과 관리 서비스를, SaaS는 완성된 소프트웨어를 네트워크로 제공한다. 이러한 구분은 엄격하게 고정된 경계가 아니라 실제 서비스 구성에 따라 겹칠 수 있다. 배포 관점에서는 여러 고객이 공유하는 공용 클라우드, 특정 조직을 위한 사설 클라우드, 두 환경을 연계한 하이브리드 클라우드 등을 구분한다.
클라우드의 내부 구현은 데이터센터에 설치된 수많은 물리 서버와 네트워크 장치를 관리 계층으로 묶는다. 하이퍼바이저는 가상 머신에 하드웨어 자원을 나누어 할당하고 컨테이너 기술은 운영체제 커널을 공유하면서 애플리케이션의 실행 환경을 분리한다. Kubernetes와 같은 오케스트레이션 시스템은 배포, 상태 검사와 확장을 자동화하며 소프트웨어 정의 네트워크(SDN)는 가상 네트워크와 보안 정책을 관리한다. 사용자는 관리 API나 콘솔을 통해 자원의 생성과 변경을 요청할 수 있다.
클라우드 서비스의 장점은 수요에 따라 자원을 조정하고 여러 지역에 분산 배치하며 초기 인프라 구축 부담을 줄일 수 있다는 점이다. 그러나 모든 워크로드에 비용 절감이 보장되는 것은 아니고, 전송 비용과 장기 저장 비용, 서비스 종속성, 데이터 보호 규정 및 장애 시 복구 전략을 고려해야 한다. 가용성 영역과 지역은 독립된 장애 조건을 다룰 수 있도록 설계될 수 있지만, 실제 시스템이 자동으로 무중단 서비스를 제공하는 것은 아니다.
클라우드 환경의 보안은 공급자와 이용자 사이의 책임 분담을 필요로 한다. 공급자는 물리 시설과 일부 인프라를 관리하지만 계정 권한, 응용 프로그램의 취약점과 데이터 처리 정책은 서비스 모델에 따라 이용자의 책임이 될 수 있다. DevOps와 인프라 코드(IaC), 모니터링 및 사이버 보안 기술을 활용하면 자원 구성을 재현하고 배포·장애 대응을 자동화할 수 있다. 클라우드 컴퓨팅은 웹 서비스, 인공지능, 데이터 분석, 게임 서버와 기업 정보 시스템의 주요 실행 기반이다.