정보공간_1

[4기 강북 김민호] Cloud Computing 환경 구성하기 (1) 본문

IT 놀이터/Elite Member Tech & Talk

[4기 강북 김민호] Cloud Computing 환경 구성하기 (1)

알 수 없는 사용자 2013. 11. 19. 21:02

안녕하세요. 강북멤버십 20-2기 김민호입니다.

저는 총 5회 동안 Cloud Computing Infra를 구성하는 방법에 관해 소개시켜드리고자 합니다. 

첫 포스팅에서는 Cloud Infra를 구성하기 전에 간략히 Cloud Computing의 개요를 설명드리고, Cloud Infra를 구성하기 위한 Open Source Solution인 OpenStack에 과한 소개를 하도록 하겠습니다.

클라우드 컴퓨팅이란 IT 자원을 네트워크를 통해 언제, 어디서든 사용할 수 있는 컴퓨팅 방식을 이야기합니다. 클라우드 컴퓨팅은 서비스 형태와 서비스 대상에 따라 분류를 할 수 있습니다. 먼저 서비스 형태에 따라 분류를 하면 다음과 같습니다.

- IaaS(Infrastructure as a Service) : 서버, 스토리지, 데이터베이스 등과 같은 시스템이나 서비스를 구축하는데 필요한 IT 자원을 서비스 형태로 제공는 방식입니다. 이와 같은 서비스 방식은 각 자원에 대해 사용한 만큼 비용을 지불을 합니다. 이와 같은 서비스는 우리가 잘 알고 있는 Amazon의 EC2, S3 등이 있으며, 국내에서는 KT의 uCloudBiz, SKT의 TCloudBiz 등이 대표적인 예입니다. 

- PaaS(Platform as a Service) : 어플리케이션이나 서비스가 실행되는 실행 환경을 제공하는 클라우드 서비스입니다. 이와 같은 서비스를 하는 대표적인 예로는 구글의 앱 엔진(App Engine) 등 입니다.

- SaaS(Software as a Service) : 소프트웨어 어플리케이션을 제공하는 클라우드 서비스로 메일, CRM, 워드 등과 같은 어플리케이션을 사용자가 직접 구축하거나 설치하지 않고 사용을 할 수 있습니다. 대표적인 예로는 Salesforce의 CRM 서비스가 이에 해당되며, 이와 같은 서비스들이 계속 증가하고 있습니다.

다음으로 서비스 대상에 따른 분류를 보면 다음과 같습니다.

- Public Cloud : 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스입니다. 일반적으로 클라우드에서 제공하는 서비스를 사용량에 따라서 비용을 지불하게 됩니다.

- Private Cloud : 특정 기업이나 특정 사용자만을 대상으로 하는 클라우드 서비스 입니다. 컴퓨팅 자원과 클라우드 내에 저장되는 데이터가 기업 내부에 저장되는 것이 Public Cloud와의 큰 차이점이라고 할 수 있습니다.

- Hybrid Cloud : Public Cloud와 Private Cloud를 병행해가며 사용하는 방식으로 Private Cloud 서비스 중 일부분을 Public Cloud와 연동하여 사용하는 방식입니다.

이렇게 Cloud Computing에 대해 간략히 알아보았습니다.

이제부터는 Cloud Computing Infra를 구성하기 위한 Solution인 OpenStack에 관해 간단히 알아보도록 하겠습니다.

OpenStack은 Public과 Private Cloud를 구축하기 위한 오픈 소스 소프트웨어입니다. OpenStack은 서버, 스토리지 네트워크와 같은 자원을 가상화 기술을 통해 제어하고 운영하기 위한 Cloud Operating System이라 할 수 있겠습니다.

OpenStack의 간략한 구조를 보면 다음 그림과 같습니다.


출처 : www.openstack.org

위의 그림에서 처럼 Compute, Networking, Storage의 가상화를 통해 Dashboard를 이용하여 사용자들이 IT 자원을 관리할 수 있도록 해주고 있습니다. OpenStack은 Cloud Infra를 지원하기 위해서 각 특성에 맞춰진 여러 개의 Core Project들의 집합이라할 수 있습니다. OpenStack의 Core Project들을 보면 다음과 같습니다.


  • Nova(Compute) : 대규모의 가상 컴퓨트 인스턴스들을 자동적으로 제어
  • Keystone(Identity) : OpenStack 서비스들을 위한 통합 인증 시스템
  • Cinder(Block Storage) : 가상 머신의 볼륨 서비스를 제공
  • Glance(Image) : 가상 디스크 이미지들을 저장, 등록, 관리, 전달하는 역할
  • Neutron(Network) : Infrastructure를 위한 네트워크와 관련된 모든 것을 관리
  • Swift(Object Storage) : 대규모의 신뢰성있는 클라우드 오브젝트 스토리지 서비스 제공
  • Horizon(Dashboard) : 관리자나 사용자가 OpenStack으로 구현된 서비스들을 접속하여 사용가능하게 하는 Self-service Portal

지금까지 Cloud Computing의 개요와 OpenStack에 관해 알아보았습니다.
다음 포스팅에서는 OpenStack을 사용하여 직접 Cloud Computing을 구성하는 방법에 관하여 다룰 예정입니다.