본문 바로가기
Study

[OpenStack] OpenStack이란?

by wwns 2024. 9. 11.
반응형

오픈스택은 어디서 들어본적은 있지만 클라우드와 관련된 오픈소스정도로만 알고 있었다.

 

이번에 CloudClub에서 OpenStack 기초다지기 스터디를 시작하면서 꾸준히 공부해보고자 한다.


Openstack이란?

OpenStack이란 풀링된 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼

OpenStack은 일관된 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API) 세트를 사용해 해당 가상 리소스를 분리된 풀로 1단계 더 추상화하며, 이를 기반으로 하는 표준 클라우드 컴퓨팅툴에서 관리자와 사용자가 직접 상호작용
[출처] RHEL 사이트

Red Hat에서 OpenStack을 가상 리소스를 사용하여 Private, Public Cloud 구축 관리할 수 있는 플랫폼

가상화된 리소스를 Pool로 한 단계 더 추상화하여 관리자가 사용자에게 인터페이스 형태로 상호작용하는 플랫폼으로 소개하고 있다.

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed and provisioned through APIs with common authentication mechanisms.
[출처] Openstack

오픈스택 공식문서에선 API로 프로비저닝 되며 데이터 센터 전체 소스 풀을 컨트롤하는 cloud operating system이다 라고 설명한다.

 

=> 

그렇다면, 인프라 자원을 클라우드 형태로 관리하면서 사용자에게 떼어다가 주는 플랫폼이라고 이해되는데, VMware의 솔루션 vSphere랑은 다른걸까?

OpenStack 이라는것은 ESXi하고는 전혀 다른 개념이고 더 포괄적인 Management 프로그램입니다.

OpenStack이라는것으로 여러가지의 Hypervisor들 또는 VM 그리고 컴퓨터들을 총괄하여 Cloud서비스를 End User들에게 제공해주는거에요...

ESXi는 하이퍼바이져들중 하나인거고요...

vmware에서 제공하는 OpenStack과 비슷한 제품으로는 vCloud Automation Center 또는 vCloud Director 라는 것이 있다고 합니다...

하나는 오픈소스고 하나는 아니다가 전혀 아닙니다...
[출처] 오픈스택과 ESXi 차이점이 무엇인가요? (오픈소스라는거 말고...)

 

기존가격의 최대 5배 가격이오르는 VMware 의 대체체로
오픈소스 무료플랫폼 OpenStack을 이용하는것에대해서 의견을 나눠봅시다.
오픈스택은 오픈소스 온프레미스 클라우드 플랫폼입니다.
1.VMware와의 OpenStack경쟁력 차이
2.VMware의 장점/단점
3.OpenStack 장점/단점
4.VMwarae 대개체로 OpenStack을 고려했을때의 비용절감 기대효과 및 내부인력 리소스 투입비용 계산
5.결론


1번중 VMware는 파트너나 벤더로부터 기술지원을 받을수있다.(경쟁력)
OpenStack은 기술들을 자체 커스터마이징하여 프라이빗 클라우드 서비스를 만들수있다.(경쟁력)
2번Vmware의 장점/단점 : 장점 : 기술지원 받을수있다. 거의 가상화 솔루션의 표준이며, 관리자가 편리하다.
/ 단점 : (매우?)비싸다
3번 OpenStack의 장점/단점 : 장점 : 오픈소스가 무료다. / 대신 구축과 관리 운영을 위한 인력을 뽑아야한다.(이쪽에 돈이들어감.)
단점 : 개발자도 필요하고 서버운용자도 필요하다 기술지원을 따로받을수없고,커뮤니티등을 이용하여 Search후 기술을 익히고 적용시켜야한다.
4번 : VMware로 온프레미스프라이빗클라우드를 돌리게되면 이제 천문학적인? 금액이 나올수도있을거라 예상된다.
(기존의 5배 인상률)
5번. 결론, 제가 관리자라면 OpenStack쪽에 인력을 써서 온프레미스 프라이빗을 만들것같습니다.
VMware는 벤더종속적이고 언제 또 가격통수 맞을지모르는일이기에..
저는 둘다 할줄알기에.. 오픈스택쓸거같네요.
[출처] Openstack Korea Group

 

예상했던것과 같이 현재 회사에서 VMware 벤더사 솔루션 vSphere, vCenter, NSX, ...를 통해 SDDC를 구축하여 사용하고 있는데 오픈스택에 대해 알아보다보니 비슷한 느낌을 받았고, 직접 프라이빗 클라우드를 구축, 운영하는 회사로 가게된다면 오픈스택을 활용하여 클라우드를 프로비저닝, 관리할 것으로 예상된다.

-> 전반적인 오픈스택의 구조, 실제 사용 사례는 SUSC 대학생 개발 커뮤니티에서 진행한 오픈스택으로 공부하는 클라우드 인프라 서비스의 구조 강의 영상 발표에서 NHN에 계신 조성수님의 강의가 도움이 되었습니다.

 

솔루션을 뜯어볼 순 없으니 앞으로 오픈스택을 잘 뜯어보면서 공부하고 VMware 솔루션의 기능과 비교하면서 알아보면 이해가 좀 더 잘 될 것 같다.

 


Openstack Landscape

오픈스택의 구성요소들 중 코어 컴포넌트들을 공식문서를 통해 읽다가 와닿는느낌이 없어 유튜브 영상으로 먼저 소개 영상들을 찾아보았다. 꽤 여러 영상들을 들어갔다 나갔다 했지만 가장 쉽고 누구나 이해할 수 있게 설명해주신분들의 영상들을 가져왔다.

 

https://www.youtube.com/watch?v=lOmN8akWnUs&t=899s

해당 영상은 레드햇에서 진행한 오픈스택 스터디 강의 영상을 Openstack Korea Group 유튜브 채널에 올려주셨는데 11분50초까지 오픈스택이 뭔지 Landscape를 보며 설명해주셨고 정말 쉽게 이해하기에 좋았던 것 같습니다.

 

해당 영상에 이어서 Openstack Korea Group의 3기 대표이신 최영락님의 오픈스택 소개 강의 영상을 보았는데 조금 신기했던 구성요소들의 네이밍, 릴리즈 버전 네이밍의 역사부터 오픈스택 코어 구성요소 설명까지 재미있게 보았습니다.

 

https://www.youtube.com/watch?v=1KdS_hJcKA0 자료

 

영상을 본 후 다시 공식문서의 LandScape와 Docs를 조금 보면서 (맨 윗 부분만..) 구성 요소를 이해해보았다.

https://www.openstack.org/software/
https://docs.openstack.org/nova/

 

NOVA

  • Nova는 OpenStack의 컴퓨트 서비스로, 가상 서버와 물리 서버의 프로비저닝을 담당한다
  • 가상 머신 생성, 베어메탈 서버 관리(Ironic을 통해 프로비저닝)의 역할
  • 리눅스 서버 위에서 데몬형태로 실행됨. -> API 요청이 들어오면 스케쥴을 수행

 

 

NEUTRON

  • 네트워크 연결을 서비스로 제공하는 역할 -> 마찬가지로 API 형태로 동작
  • Neutron은 인터페이스 장치(가상 네트워크 인터페이스 카드, vNIC) 간의 네트워크 연결을 관리, 다른 컴포넌트(노바 등)와 연동하여 동작

CINDER

  • Cinder는 블록 스토리지로, 가상 머신, 베어메탈 호스트, 컨테이너 등 다양한 리소스에 대해 저장 볼륨을 제공하는 역할
  • Component based architecture: 컴포넌트 베이스 아키텍쳐로 빠르게 볼륨을 추가 제거가 가능
  • Highly available: 대용량에도 유연한 고가용성
  • Fault-Tolerant: 프로세스마다 격리되어 실행되기 때문에 실패가 전파되지 않는형태
  • Recoverable: 장애에 대한 디버깅이 용이한 설계
  • Open Standards

SWIFT

  • Cinder와 다른 Object Storage로 블록 단위가 아닌 비정형 데이터나 정적 파일 미디어 파일 저장에 용이

GLANCE

  • 가상 머신(VM) 이미지를 등록, 검색 및 검색하는 기능을 제공
  • RESTful API를 통해 VM 이미지의 메타데이터를 쿼리하고 실제 이미지를 검색

 

KEYSTONE

  • API 클라이언트가 OpenStack 서비스에 접근할 때 사용자 인증을 담당
  • 다중 테넌트 환경에서 각 테넌트(또는 사용자 그룹)와 그 사용자에게 적절한 권한을 부여하여 여러 사용자가 리소스를 독립적으로 관리할 수 있음

References

 

SUSC 대학생 개발 커뮤니티에서 진행한 오픈스택으로 공부하는 클라우드 인프라 서비스의 구조 강의 영상

https://www.youtube.com/watch?v=R6nzSH8SEYY

 

Openstack 공식문서

https://www.openstack.org/software/

 

Open Source Cloud Computing Platform Software - OpenStack

OpenStack is a an open source cloud operating system managing compute, storage, and networking resources throughout a datacenter using APIs

www.openstack.org

https://docs.openstack.org/

 

OpenStack Docs: 2024.1

 

docs.openstack.org

 

반응형