[CS / TOPCIT] 클라우드 컴퓨팅
클라우드 컴퓨팅
가상화와 분산처리 기술을 기반으로 인터넷을 통해서 IT 자원을 임대하고 사용한 만큼 요금을 지불하는 컴퓨팅 환경
클라우드 환경에서 사용자는 자원이 필요할 때 가상화된 형태로 인터넷을 통해 제공되는 컴퓨팅 자원을 사용함
클라우드 컴퓨팅의 유형
1. IaaS (Infastructure as a Service)
인터넷 네트워크를 경유하여 인프라 자원(서버, 스토리지, 네트워크)을 서비스로 제공하는 형태. 사용자는 운영체제 이상의 영역을 직접 관리해야함
2. PaaS (Plafrom as a Service)
개발 환경에 SaaS의 개념을 적용한 형태의 서비스 방식으로 개발 및 운영 환경을 구축할 필요 없이 필요한 개발 및 운영 환경을 서비스 형태로 사용하는 방식. 네트워크 인프라부터 애플리케이션 실행을 위한 런타임까지 제공, 사용자는 애플리케이션 런타임 위에 올라가는 애플리케이션과 데이터를 관리해야함
3. SaaS (Software as a Service)
소프트웨어를 제공하는 서비스, 중앙에서 서비스되는 소프트웨어를 웹 브라우저 등의 클라이언트를 통해서 사용자에게 전달하는 모델
- 웹브라우저로 접근
- 사용량 기반 비용
- 온디멘드
- IT 수요 최적화
서버 가상화 기술
가상화란 컴퓨터 자원을 추상화하는 방식으로 여러 대의 컴퓨터 자원을 하나의 서버처럼 보이게 하거나, 하나의 컴퓨터 자원을 복수의 컴퓨터 자원인 것처럼 보이게 하는 기술을 의미함. 서버 가상화 기술을 사용하면 1개의 컴퓨터에서 동시에 1개 이상의 운영체제를 가동 시키는 것이 가능하므로 컴퓨터 자원의 활용률과 관리 효율성을 극대화 할 수 있음
일반적으로 클라우드 서비스는 가상화 기술을 사용하여 추상화된 컴퓨터 자원을 사용자에게 제공
- 전가상화 : 하드웨어를 완전하게 가상화하는 방식
- 반가상화 : 하드웨어 에뮬레이션 없이 하이퍼바이저 API를 이용하는 방식
- OS레벨 가상화 : 하이퍼바이저를 사용하지 않고 OS에 포함된 가상화 기술 사용
하이퍼바이저
물리적인 서버를 가상화하는 기술. 가상 머신 모니터(Virtual Machine Monitor)라고도 하고 서버 가상화를 위한 논리적 플랫폼임
- Native 방식 : 물리적 하드웨어에 직접 설치하는 방식, 호스트 OS가 필요하지 않아 자원 절약됨
- Hosted 방식 : 기존의 운영체제 위에 설치되는 소프트웨어
스토리지와 네트워크 가상화 기술
- 스토리지 가상화 : Thin-Provisioning이라는 기술을 통해서 초기 필요한 최소 공간만을 가상으로 할당함
- 네트워크 가상화 : 스위치, 네트워크 방화벽, 보안 장비들을 가상머신으로 구현하고 네트워크 자원들이 하나의 공유된 물리적인 환경에서도 내부적으로 가상화를 통해 분리되어 조작하게 함
클라우드 플랫폼
서버, 스토리지, 네트워크, 가상화기술 등과 같은 리소스들을 모으고 이들을 제어하고 운영하기 위한 Cloud Operation System
- 오픈스택
- 클라우드 스택
- 쿠버네티스(Kubernetes)
- 메소스(Mesos)