알아보자 Openstack

오픈스택이 뭘까? 인프라를 처음 하거나 안해본 사람들은 처음 들어본 경우가 있지만 오픈 스택은 우리 개발자들이 모르는 사이에서 많이 쓰고있는 것이다.

클라우드 구축 플랫폼

OpenStack이란? OpenStack은 클라우드 운영체제입니다. 데이터 센터의 컴퓨팅 자원, 스토리지 자원, 네트워크 자원의 대규모 풀을 제어합니다. 이런 것들은 모두 웹 인터페이스로 관리됩니다. 관리자는 자원을 제어하며, 이용자에게 리소스를 제공할 수 있습니다.

- Openstack 공식-

이렇게 말하면 살짝 어려울거 같으니 내가 다르게 한번 설명을 해보겟다. 우리가 외부에서 서버를 빌려서 쓸려고 하면 클라우드 업체에 가서 가상서버를 할당해서 사용을 하는데 여기서 우리는 딸깍으로 서버가 할당이 되지만 이 뒤에 벌어지는 수 많은 과정 (서버 자원 분리, 스토리지 블록 관리 등.. ) 이런걸을 처음 부터 할 필요없이 이미 사람들이 개발해서 쉽게 쓸수 있도록 한 플랫폼이다 라고 생각 하면 편할 것이다.

이런걸 누가 만들었을까?

OpenStack의 시작을 이해하려면 2010년으로 돌아가서 알아봐야 한다.
이 시기, NASA는 내부적으로 사용할 클라우드 인프라 플랫폼을 개발하고 있었고, 이 프로젝트의 이름은 Nebula 라고 지칭을 했다.
Nebula는 NASA의 데이터센터를 클라우드처럼 운영하기 위한 플랫폼으로, 오픈소스 정신을 기반으로 만들어졌습니다.

한편, Rackspace는 자사의 오브젝트 스토리지 서비스인 Cloud Files를 오픈소스화할 계획을 세우고 있었습니다. Rackspace와 NASA는 서로의 기술과 철학이 일치 한다는걸 알았고 이 두 프로젝트는 하나로 통합을 해서 개발하게 되었습니다.

그렇게 해서 2010년 7월, NASA와 Rackspace는 공동으로 OpenStack 프로젝트를 공식적으로 발표를 하게 되었다. 이 프로젝트는 컴퓨트 자원을 관리하는 Nova와 오브젝트 스토리지 기능을 제공하는 Swift라는 두 가지 핵심 컴포넌트로 출발점을 찍게 되었고

이후 IBM, HP, Red Hat, Intel, Canonical 등 수많은 글로벌 IT 기업들이 참여하며, OpenStack은 빠르게 성장하게 됩니다.

더 많은 기업을 보고 싶으면 https://openinfra.org/members/ 여기를 들어가세요!

그리고 현재는 OpenInfra Foundation(이전 명칭: OpenStack Foundation)이 프로젝트를 주도적으로 관리하고 있습니다.

어떤 서비스가 있을까?

오픈스택에는 클라우드 서비스에 필요한 서비스가 모여 있고 각 서비스는 다른 역할 을 하고 있습니다. 여기는 오픈스택에서 핵심으로 필요한 부분을 설명을 해보겟습니다.

  1. Nova (Compute): OpenStack의 컴퓨팅 엔진으로, 가상 머신(VM)의 생명 주기 관리를 담당합니다. 사용자가 클라우드 내에서 VM을 생성, 스케줄링, 삭제하는 기능을 제공합니다.
  2. Neutron (Networking): 클라우드 내 네트워킹 기능을 관리하는 컴포넌트로, 가상 네트워크, 서브넷, 라우터 등을 설정하고 관리할 수 있습니다.
  3. Cinder (Block Storage): 블록 스토리지 서비스를 제공하여 VM에 영구적인 스토리지를 붙일 수 있게 합니다. 데이터베이스, 파일 시스템 등을 위한 스토리지 볼륨을 관리합니다.
  4. Swift (Object Storage): 객체 스토리지 서비스로, 대규모의 비정형 데이터를 저장할 수 있습니다. 정적 파일, 미디어 파일 등을 저장하고, HTTP로 접근할 수 있게 해줍니다.
  5. Glance (Image Service): 가상 머신 이미지를 관리하는 서비스로, VM 이미지의 등록, 저장, 검색 및 검색 기능을 제공합니다.
  6. Keystone (Identity Service): OpenStack 내의 모든 인증 및 권한 부여 작업을 담당하는 서비스로, 사용자와 서비스 간의 인증을 관리합니다.
  7. Horizon: OpenStack의 대시보드로, 웹 기반의 사용자 인터페이스를 제공하여 OpenStack 서비스를 관리할 수 있게 해줍니다.

이렇게 여러 서비스들이 서도 다른 기능을 하면서 각 서비스마다 연동과 통신을 하고 클라우드 시스템이 잘 돌아가게 됨니다.

글쓴이 말

저도 지금 학과에서 기존에 Proxmox에서 Openstack으로 바꿔서 클라우드를 다시 운영을 해볼려고 합니다. 저도 아직 오픈스택은 처음이라 이러저리 해본면서 연습을 해보고 있지만 제가 기본적으로 테스트 용에서 구축이 다되면 본 서버에서 구축 할때 설명서를 한번 적어보겟습니다.

그리고 한국에서도 오픈스택을 쓰는 사람들이 커뮤니티를 만들어서 운영하는 곳이 있습니다. 한번 방문을 해서 여러분들도 오픈스택을 하데 모르는것이 있으면 물어보는게 좋을거 같습니다!

Openinfra Korea user group
Openinfra Korea user group