Overview
오늘은 openstack 무엇인지에 대해 공부하고 개념에 대해 정리해보려고 한다.
OpenStack 이란?
OpenStack은 풀링된 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼입니다.
OpenStack 플랫폼을 포함하는 툴, 일명 "프로젝트"는 컴퓨팅, 네트워킹, 스토리지, Identity 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리합니다.
또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있습니다.
서비스형 IaaS를 쉽게 구축할 수 있는 플랫폼으로, 관리자는 데이터센터의 프로세싱, 스토리지, 네트워킹 자원들을 대시보드를 통해 제어할 수 있고, 사용자는 웹을 통해 필요한 기능을 사용할 수 있다.
OpenStack 구성요소
프로젝트 명 | 서비스 내용 | |
Nova | Compute Service 클라우드 IaaS (Infrastructure as a Service) 구축에 필요한 가상 컴퓨트 인스턴스들을 제어하고 관리하기 위한 서비스로, 오픈스택에서 가장 중요한 프로젝트. AWS의 EC2와 호환된 API를 제공합니다. |
|
Swift | Storage Service 블락 스토리지(Block Storage)가 아닌 오브젝트 스토리지(Object Storage) 환경을 구축하고 관리하기 위한 서비스로, 오픈스택과 별개로 독립적 구축이 가능함. AWS의 S3의 기능과 유사합니다. |
|
Glance | Imaging Service 가상 머신 이미지들을 저장/등록/관리/전달하기 위한 서비스로 Nova 와 스토리지 간 중계 역할을 담당. RAW, QCOW, VMDK, VHD, ISO, OVF, AMI/AKI 이미지를 지원합니다. |
|
Keystone | 인증(Identity) 서비스 통합 인증 시스템으로 오픈스택 서비스들을 위한 ID 제공. SQL, PAM, LDAP 등에 대한 backends를 제공합니다. |
|
Horizon | Administrative Web-Interface(UI) Service 오픈스택을 기반으로 구현된 서비스들을 관리자나 사용자가 제어하기 위한 웹 인터페이스 제공합니다. |
|
Cinder | Volume Service 오픈스택 인스턴스에서 Persistent Block 단위의 디바이스를 제공합니다. AWS의 EBS와 유사한 서비스 입니다. |
|
Heat | Orchestration 템플릿 형태의 클라우드 자동화를 위한 인터페이스를 제공 합니다. 아마존 AWS의 CloudFormation과 유사항 기능을 제공합니다. |
|
Ceilometer | Telemetry 하이퍼바이저 레벨의 SMS정보와 같은 인스턴스 사용율에 대한 정보를 수집 및 제공합니다. |
|
Neutron | Networking Software Defined Networking(SDN)의 프레임을 제공합니다. 오픈스택에서의 인스턴스 네트워킹을 위한 서비스 입니다. |
왜 오픈스택을 ‘클라우드 운영체제’ 라고 부르는 것일까요?
이를 좀 더 쉽게 이해하기 위해 오픈스택에서 가장 중요한 3가지 코어 프로젝트들인 Nova, Glance, Swift 서비스들을 다음과 같이 일반 서버 컴퓨터와 비교해 보았습니다.
오픈스택과 서버 컴퓨터 간 비교 분석
OS 구성 요소 | 담당 역할 | 오픈스택 서비스 | |
Scheduler | 서버의 자원 관리 | Nova | |
Server Virtualization | 서버의 가상 머신(VM) 관리 | Glance | |
File System | Object Filesystem으로 컨텐츠 저장 | Swift | |
User API | 사용자 어플리케이션 접근 관리 | Nova, Glance, Swift |
일반적으로 데이터센터 등에서 사용되는 서버를 활용하기 위해선 운영체제(OS)를 설치하여 사용하는데 그 운영체제(OS)에서 가장 중요한 부분이 바로 스케줄러와 사용자 API 라 할 수 있을 것 입니다. 운영체제는 기본적으로 해당 컴퓨터에서 실행되고 있는 모든 사용자 어플리케이션들이 자원 관리의 책임과 권한이 있는 스케줄러가 정의한 정책에 따라 공정하게 자원들을 접근할 수 있도록 관리하는 소프트웨어입니다.
클라우드 서비스를 구축하기 위한 실제 하드웨어 구성은 복잡하겠으나 클라우드 서비스를 사용하는 사용자(혹은 어플리케이션) 입장으로 보자면 하나의 커다란 서버 컴퓨터로 생각할 수 있고, 그러한 서버 컴퓨터를 동작시키기 위한 운영체제가 바로 오픈스택이라 보면 이해하는데 도움이 될 것 입니다.
먼저 운영체제(OS)의 가장 핵심인 스케줄러는 오픈스택에서 노바(Nova)가 담당하고 있습니다.
OpenStack 장단점
오픈스택의 장점
1. 오픈소스
라이선스 비용없이 무료로 사용이 가능한 오픈소스이다
2. 거대한 커뮤니티
많은 회사와 개발자들이 참여한 프로젝트로 지속적인 업데이트와 발전 가능성이 큰 프로젝트이다.
3. 다양한 하이퍼바이저 지원
ESXi, Hyper-V, KVM, Xen등 다양한 하이퍼바이저를 지원한다.
오픈스택의 단점
1. 시스템 구축의 어려움
오픈스택을 구축하기 위해서는 클라우드 관련 다양한 지식과 네트워크, 시스템 관련 많은 지식이 필요하다.
문제 발생 시 진단할 수 있는 API의 제공도 아직 부족하여 문제 해결의 어려움.
참고문헌
https://itguava.tistory.com/40?category=846530
'Openstack' 카테고리의 다른 글
Openstack Keystone이란? (identity) (0) | 2022.08.08 |
---|---|
Openstack Glance란? (image) (0) | 2022.08.08 |
Openstack 배치 서비스 Placement란? (0) | 2022.08.08 |
Openstack Neutron이란? (network) (0) | 2022.08.08 |
Openstack Nova란? (compute) (0) | 2022.07.29 |