클라우드의 개념
클라우드라는 개념은 크게
- 클라우드 서비스
- 클라우드 서비스를 구현하는 기술
로 나뉜다.
클라우드 서비스의 특징 및 종류에 대해 살펴보고, 클라우드 서비스가 어떻게 구현되는지 그 기술을 살펴보자.
1. 클라우드 컴퓨팅 서비스의 정의 및 특징
클라우드 컴퓨팅은 컴퓨팅 리소스를 인터넷을 통해 서비스로 사용할 수 있는 주문형 서비스이다.
클라우드 컴퓨팅을 도입할 시 발생할 수 있는 이점은 다음과 같다.
-
비용 절감 및 최적화
클라우드 컴퓨팅을 적용하게 되면 서비스 런칭을 위한 물리 서버를 마련할 필요가 없으므로 초기 비용이 적게 든다.
또한, 사용한 만큼만 비용을 지불하기에 가변 비용만 감당하면 되며, 이 이점은 작은 서비스를 운영할 시 더욱 극대화된다.
뿐만 아니라 물리 서버에서 필요한 서버 관리 비용이 클라우드 서비스를 이용할 시 CSP(Cloud Service Provider)에게 전가된다.
이처럼 절감한 비용은 CSC(Cloud Service Client)가 자사의 어플리케이션 및 고객에 집중할 수 있도록 투자하는 데 사용할 수 있다. 즉, 비용 최적화가 가능해진다. -
확장성 및 유연성
클라우드 컴퓨팅 사용 시 물리적 인프라에 투자하지 않고도 비즈니스 수요에 맞게 리소스와 스토리지를 빠르게 확장할 수 있다. -
짧은 TTM(Time to Market)
TTM이란 서비스가 기획, 개발하는 시점에서부터 시장에 내놓기까지 걸리는 시간을 의미한다. 클라우드 컴퓨팅을 사용할 경우 애플리케이션을 전 세계에 단 몇 초 만에 배포가 가능하다. 또한 CSP의 글로벌 인프라를 사용하기에 기존의 물리서버를 사용하는 것 보다 더 적은 시간이 들게 된다. 클라우드 컴퓨팅의 이런 특성은 빠른 변화와 혁신이 필요한 현대 IT 시장에 필수적인 요소이다.
2. 클라우드 서비스의 모델 구분
2.1. 배치에 따른 모델 구분
클라우드 서비스의 모델은 데이터와 모델이 어느 환경에 배포되느냐에 따라 Public Cloud, Private Cloud, Hybrid Cloud로 나뉜다.
2.1.2. Public Cloud
퍼블릭 클라우드란 클라우드 서비스가 공용 환경에서 실행되는 모델이다.
불특정 다수의 사람들(Multi-tenant)이 가상화된 컴퓨팅 자원(데이터, 모델 등)을 공유한다.
퍼블릭 클라우드를 사용할 경우 다음과 같은 이점이 있다.
-
비용 절감
물리 서버를 마련 할 필요가 없으므로 초기 비용이 들지 않는다. 또한, 사용한 서비스에 대해서만 비용을 지불하면 된다. -
사용자의 유지 관리 불필요
서비스 공급자(CSP)가 컴퓨팅 자원을 관리하므로 사용자는 이를 신경 쓸 필요가 없다. -
높은 안정성
클라우드 서비스 공급자는 전 세계에 대규모 데이터 센터를 운영한다.
뿐만 아니라 자동 장애 복구 시스템을 갖추고 있어 클라우드 서비스 사용자에게 안정적인 서비스를 제공할 수 있다. -
무제한에 가까운 확장성
클라우드 서비스 사용자는 원하는 만큼 리소스를 사용할 수 있다.(주문형 서비스)
이는 CSP의 거대한 데이터센터가 뒷받침 해 주기 때문이다.
2.1.2. Private Cloud
프라이빗 클라우드는 사용자의 전용 환경(기업이나 조직 내부)에서 운영되는 모델이다.
기본적으로 싱글 테넌트 환경으로 운영된다. 즉, 권한이 있는 특정 대상의 사람들(회사, 등)만 해당 클라우드 서비스에 접근할 수 있다.
프라이빗 클라우드의 특징은 아래와 같다.
-
유연성 향상
특정 비즈니스 요구 사항을 만족시키기 위해 클라우드 환경을 사용자 지정할 수 있다. -
보안 강화
다른 사용자와 리소스를 공유하지 않는다. 이를 통해 제한과 보안수준을 강화할 수 있다. -
높은 확장성
프라이빗 클라우드는 여전히 클라우드의 특징을 지닌다. 즉, 공용 클라우드의 확장성과 효율성을 제공한다.
2.1.3. Hybrid Cloud
하이브리드 클라우드는 프라이빗 클라우드(혹은 온프레미스 환경)와 퍼블릭 클라우드를 함께 사용하는 환경을 말한다.
하이브리드 클라우드는 아래와 같은 특징을 지닌다.
-
제어
기업이 프라이빗 클라우드를 직접 통제하므로 중요 데이터를 직접 유지·관리 할 수 있다. -
유연성
필요 시 퍼블릭 클라우드에서 추가 리소스를 활용할 수 있다. -
비용 효율성
퍼블릭 클라우드를 사용하므로 규모 조정이 가능하므로 필요한 컴퓨팅 기능에 대해서만 지불이 가능하다. -
용이성
워크로드를 점진적으로 마이그레이션 할 수 있으므로 부담없이 클라우드 전환이 가능하다.
2.2. 서비스에 따른 모델 구분
클라우드 제공자가 클라우드 서비스를 어느 범위까지 제공해 주느냐에 따라 모델이 정의된다.
아래 그림은 컴퓨팅 리소스 범위 중 사용자가 관리하는 범위와 CSP가 관리 해 주는 범위를 나타낸다.
2.2.1 IaaS
IaaS(Infrastructure as a Service)는 클라우드 서비스 제공자가 물리적인 리소스를 가상화 하여 하드웨어, 가상머신, 저장장치, 네트워크 등의 인프라스트럭쳐 자원을 유연하게 사용자에게 제공하는 서비스를 의미한다.
리소스를 가상화 하는 방법은 두 가지가 있다.
-
하이퍼바이저를 통한 가상화
하이퍼바이저란 프로세서, 메모리, 스토리지와 같은 컴퓨팅 리소스를 풀링하여 가상머신에 재할당하는 소프트웨어이다.
쉽게 말해, OS 전체를 가상화하여 나누는 것이다.각각의 가상서버는 서로 격리되어 있기 때문에 OS를 다르게 선택 할 수 있으며, 가상서버의 실행 및 실패 여부가 다른 가상서버 및 호스트OS 에 영향을 주지 않는다.
하지만 가상서버마다 OS가 필요하므로 하드웨어 리소스 소비량이 많고, 이로 인해 가상서버 부팅 시간이 걸린다는 단점이 있다. 위 문제를 해결하기 위해 컨테이너 기술이 등장하였다. -
컨테이너를 통한 가상화
컨테이너 : 어떤 환경에서나 실행하기 위해 필요한 모든 요소를 포함하는 경량 소프트웨어 패키지
하나의 호스트 OS 상에 여러 개의 컨테이너를 돌려 멀티 OS 환경을 구성할 수 있다.
컨테이너는 애플리케이션 구동에 필수적인 최소한의 실행환경만을 사용하므로 VM에 비해 가볍다는 장점이 있다.
2.2.2. PaaS
2.2.3. SaaS
클라우드 기반 배포하는 법
- 어플리케이션의 모든 부분을 클라우드에서 실행
- 기존 애플리케이션을 클라우드로 마이그레이션
- 기존 뿐 아니라 새로운 애플리케이션 설계 및 구축
참고
https://cloud.google.com/learn/advantages-of-cloud-computing?hl=ko
클라우드 컴퓨팅 서비스 기초 및 기술 교육자료(SH 보안감사)