OpenStack은 기업과 기관이 자체 인프라 위에 Infrastructure as a Service, 즉 IaaS 형태의 클라우드 환경을 구축하고 운영할 수 있게 해주는 오픈소스 클라우드 컴퓨팅 플랫폼이다. 쉽게 말하면 단일 서버가 아니라 수많은 서버, 스토리지, 네트워크 장비를 하나의 클라우드처럼 관리하는 데이터센터용 운영체제에 가깝다.
OpenStack은 2010년 Rackspace Technology와 NASA가 시작한 프로젝트에서 출발했으며, 현재는 OpenInfra Foundation이 관리하는 대표적인 오픈소스 클라우드 프로젝트로 발전했다. 퍼블릭 클라우드가 보편화된 지금도, 보안·규제·데이터 주권·벤더 독립성이 중요한 조직에서는 OpenStack이 여전히 강력한 선택지다.
OpenStack은 왜 만들어졌나
클라우드 컴퓨팅이 일반화되기 전에는 서버를 준비하고, 네트워크를 연결하고, 스토리지를 할당하는 일이 대부분 수작업이었다. 이 방식은 느리고 비용이 많이 들며, 확장하기 어렵고, 운영자의 숙련도에 크게 의존했다.
OpenStack은 이러한 문제를 해결하기 위해 셀프서비스 인프라 프로비저닝, 자동화된 리소스 관리, 멀티테넌트 클라우드 환경, API 기반 인프라 운영, 벤더 독립적인 클라우드 아키텍처를 제공하도록 설계됐다.
OpenStack 아키텍처 한눈에 보기
OpenStack은 하나의 거대한 단일 제품이 아니라, 여러 서비스가 역할을 나눠 동작하는 모듈형 아키텍처를 따른다. 각 서비스는 컴퓨트, 네트워크, 스토리지, 이미지, 인증, 대시보드처럼 특정 클라우드 기능을 담당한다.
Compute
Network
Block Storage
Image
Object Storage
Dashboard
핵심 OpenStack 구성요소
| 서비스 | 역할 | 주요 기능 |
|---|---|---|
| Nova | 컴퓨트 서비스 | 가상 머신 생성, 컴퓨트 리소스 관리, 워크로드 스케줄링, 하이퍼바이저 제어 |
| Neutron | 네트워킹 서비스 | 가상 네트워크, 라우터, Floating IP, 로드밸런서, 보안 그룹 제공 |
| Cinder | 블록 스토리지 | VM용 영구 볼륨, 스냅샷, 백업, 동적 볼륨 확장 |
| Swift | 오브젝트 스토리지 | 백업, 이미지, 영상, 로그, 정적 웹 콘텐츠 저장 |
| Glance | 이미지 서비스 | Ubuntu, CentOS, Windows Server 같은 VM 이미지 저장·배포·버전 관리 |
| Keystone | 인증과 권한 | 사용자, 프로젝트, 역할 기반 접근 제어, 토큰 발급 |
| Horizon | 웹 대시보드 | VM, 네트워크, 스토리지, 클라우드 리소스 GUI 관리 |
Nova: 가상 머신을 만드는 컴퓨트 서비스
Nova는 OpenStack에서 가상 머신 인스턴스를 만들고 관리하는 핵심 서비스다. 사용자가 VM 생성을 요청하면 Nova는 스케줄러를 통해 적절한 컴퓨트 노드를 선택하고, KVM, VMware ESXi, Hyper-V, Xen 같은 하이퍼바이저와 연동해 인스턴스를 배포한다.
예를 들어 사용자가 VM 생성을 요청하면 Nova가 요청을 받고, 스케줄러가 호스트를 선택한 뒤, 하이퍼바이저가 자동으로 VM을 생성한다.
Neutron: 소프트웨어 정의 네트워크
Neutron은 OpenStack의 네트워크 기능을 담당한다. 가상 네트워크, 라우터, Floating IP, 로드밸런서, 보안 그룹을 제공하며, 멀티테넌트 환경에서 네트워크 격리와 유연한 클라우드 네트워킹을 가능하게 한다.
Cinder와 Swift: 두 가지 스토리지 모델
Cinder는 VM에 연결되는 영구 블록 스토리지를 제공한다. 데이터베이스 볼륨, 애플리케이션 저장공간, 고성능 워크로드에 적합하다. Swift는 S3와 유사한 오브젝트 스토리지로, 백업·이미지·영상·로그·정적 웹 호스팅에 적합하다.
Glance, Keystone, Horizon의 역할
Glance는 VM 이미지 저장소 역할을 한다. QCOW2, RAW, VMDK, VHD 같은 이미지 형식을 관리하며, VM 템플릿을 저장하고 배포한다. Keystone은 OpenStack 서비스 간 인증과 권한 부여의 중심이다. Keystone 없이는 각 서비스가 안전하게 통신하기 어렵다. Horizon은 웹 기반 관리 콘솔로, 기본적인 클라우드 운영을 CLI 없이 처리할 수 있게 해준다.
추가 OpenStack 서비스
서비스목적 HeatInfrastructure as Code 방식의 리소스 오케스트레이션 MagnumKubernetes 클러스터 관리 Octavia로드밸런서 서비스 Barbican비밀값과 키 관리 DesignateDNS 관리 Ironic베어메탈 서버 프로비저닝 Ceilometer모니터링과 텔레메트리
OpenStack은 어떻게 동작할까
사용자가 Ubuntu VM, 4 vCPU, 8GB RAM, 100GB 디스크를 요청한다고 가정해보자. 먼저 Keystone이 사용자를 인증한다. 그 다음 Nova가 요청을 받고, Glance에서 VM 이미지를 확인하며, Neutron에서 네트워크를 연결하고, Cinder에서 필요한 블록 스토리지를 준비한다. 마지막으로 하이퍼바이저가 VM을 생성하고 사용자는 접속 정보를 받는다.
이 과정은 수작업으로는 몇 시간 이상 걸릴 수 있지만, OpenStack에서는 API와 자동화를 통해 몇 초 또는 몇 분 단위로 완료될 수 있다.
OpenStack vs VMware
| 항목 | OpenStack | VMware |
|---|---|---|
| 라이선스 | 오픈소스 | 상용 소프트웨어 |
| 비용 | 핵심 플랫폼 라이선스 비용이 낮음 | 라이선스와 지원 비용이 높을 수 있음 |
| 벤더 종속성 | 낮음 | 제품 구성에 따라 종속 가능 |
| 커스터마이징 | 매우 높음 | 상대적으로 제한적 |
| 커뮤니티 | 강한 오픈소스 생태계 | 상용 벤더 중심 |
| 엔터프라이즈 지원 | 전문 업체를 통한 지원 가능 | 벤더 지원 가능 |
OpenStack의 장점
- 비용 효율성: 핵심 플랫폼에 대한 라이선스 비용이 없기 때문에 대규모 인프라에서 비용 절감 효과가 크다.
- 벤더 독립성: 서버, 스토리지, 네트워크 장비를 특정 벤더에 묶이지 않고 선택할 수 있다.
- 확장성: OpenStack은 소규모 클러스터부터 수천 대 노드 규모까지 확장할 수 있으며, 통신사와 대기업 환경에서도 널리 쓰인다.
- 오픈 생태계 통합: Kubernetes, Docker, Ceph, Terraform, Ansible 같은 오픈 생태계와 잘 통합된다.
OpenStack의 과제
OpenStack은 강력하지만 단순한 플랫폼은 아니다. 초기 배포가 복잡하고 Linux, 네트워킹, 가상화, 스토리지 시스템에 대한 이해가 필요하다. 또한 안정적인 운영을 위해 전담 클라우드 운영팀이 필요할 수 있으며, 대규모 버전 업그레이드는 충분한 계획과 테스트가 필요하다.
장점설명 비용 효율성핵심 플랫폼 라이선스 비용 없이 프라이빗 클라우드 구축 가능 벤더 독립성서버, 스토리지, 네트워크 벤더를 자유롭게 선택 가능 확장성소규모 환경부터 수천 노드 규모까지 확장 가능 오픈 생태계Kubernetes, Ceph, Terraform, Ansible 등과 통합 용이
과제설명 배포 복잡성초기 설치와 구성에 전문 지식이 필요 운영 역량전담 클라우드 운영팀과 표준화된 운영 절차 필요 업그레이드 난이도주요 버전 업그레이드는 사전 검증과 단계적 계획 필요
대표 활용 사례
OpenStack의 가장 대표적인 활용 사례는 프라이빗 클라우드다. 조직은 데이터, 보안, 컴플라이언스를 직접 통제하면서 클라우드 방식의 인프라를 운영할 수 있다. 정부와 국방 분야에서는 폐쇄망, 보안 네트워크, 기밀 시스템에 적합하다. 통신사는 NFV와 5G 코어 인프라를 지원하기 위해 OpenStack을 활용해왔다. 엔터프라이즈 데이터센터에서는 기존 가상화 환경을 클라우드 네이티브 인프라로 전환하는 데 사용할 수 있다.
OpenStack과 Kubernetes
최근에는 OpenStack과 Kubernetes를 함께 사용하는 흐름도 강하다. OpenStack은 가상 머신, 스토리지, 네트워크, 인프라 제어를 제공하고, Kubernetes는 컨테이너 오케스트레이션, 애플리케이션 배포, 오토스케일링을 담당한다. 둘을 결합하면 VM 기반 워크로드와 컨테이너 기반 워크로드를 함께 수용하는 현대적인 클라우드 플랫폼을 만들 수 있다.
OpenStack 제공 영역Kubernetes 제공 영역 가상 머신과 베어메탈 인프라컨테이너 오케스트레이션 블록·오브젝트 스토리지애플리케이션 배포와 롤링 업데이트 가상 네트워크와 보안 그룹서비스 디스커버리와 오토스케일링 멀티테넌트 IaaS 기반클라우드 네이티브 앱 운영
2026년에도 OpenStack은 유효한가
그렇다. 퍼블릭 클라우드 사업자가 많은 시장을 장악하고 있지만, OpenStack은 프라이빗 클라우드, 정부 프로젝트, 국방 시스템, 통신 인프라, 대기업 데이터센터, 폐쇄망 환경에서 여전히 중요한 역할을 한다. 인프라, 보안, 규제 준수, 데이터 위치를 직접 통제해야 하는 조직에는 OpenStack이 전략적인 클라우드 플랫폼이 될 수 있다.
결론
OpenStack은 성숙하고 강력한 오픈소스 클라우드 플랫폼이다. 표준 하드웨어와 오픈 기술을 기반으로 확장 가능하고 유연하며 벤더 독립적인 프라이빗 클라우드 환경을 구축할 수 있게 해준다. 조직이 인프라에 대한 완전한 통제권을 유지하면서도 클라우드 방식의 자동화와 셀프서비스를 도입하고 싶다면 OpenStack은 여전히 검토할 가치가 충분하다.
핵심 요약
OpenStack은 오픈소스 IaaS 클라우드 플랫폼이다. 컴퓨트, 스토리지, 네트워크, 인증, 이미지, 대시보드 서비스를 통합 관리한다. 핵심 서비스는 Nova, Neutron, Cinder, Swift, Glance, Keystone, Horizon이다. 프라이빗 클라우드, 정부, 국방, 통신, 엔터프라이즈 데이터센터에 적합하다. Kubernetes, Ceph, Terraform, Ansible 같은 클라우드 네이티브 기술과 함께 쓰기 좋다.
