What is OpenStack
OpenStack은 데이터 센터 전체에서 대규모 컴퓨팅, 스토리지, 네트워킹 리소스를 통합 관리하는 클라우드 운영 체제입니다. OpenStack은 공통 인증 메커니즘을 통해 API를 통해 관리 및 프로비저닝되며, 대시보드를 제공하여 관리자는 물론 사용자가 웹 인터페이스를 통해 리소스를 쉽게 프로비저닝할 수 있습니다. 기본 인프라 서비스 기능 외에도 오케스트레이션, 오류 관리, 서비스 관리 기능을 추가하여 애플리케이션의 고가용성을 보장합니다.
OpenStack은 현재 Adobe, China Mobile, Kakao, LINE, Walmart 등 다양한 기업에서 다양한 형태로 활용되고 있습니다.
OpenStack Components
OpenStack은 여러개의 독립적인 서비스로 구성됩니다. 각 서비스는 API를 제공하여 통합된 시스템을 구성하며, 이들 서비스는 독립적으로 설치하거나 통합된 형태로 설치할 수 있습니다.
주요 서비스는 다음과 같습니다:
- Nova: 컴퓨팅 자원 관리
- Neutron: 네트워크 서비스
- Cinder: Block 스토리지
- Swift: Object 스토리지
- Glance: 이미지 서비스
- Keystone: 인증 및 권한 관리
- Horizon: 웹 기반 대시보드
- Ceilometer: 모니터링 및 메트릭 수집
아래의 사진들은 중요 서비스들간의 관계를 표시한 다이어그램입니다.
아래의 사진에서 볼 수 있듯이 OpenStack은 OpenStack 서비스라는 이름의 여러 독립적인 부분으로 구성됩니다.
모든 서비스는 공통 Identity 서비스를 통해 인증하며, 권한이 필요한 경우를 제외하고 공개된 API를 통해 상호작용합니다. OpenStack의 서비스는 여러 프로세스로 구성되며, API 요청은 API 프로세스가 수신하고 처리하여 다른 프로세스로 전달합니다. 내부적으로는 AMQP 메시지 브로커를 사용해 프로세스 간 통신을 하고, 데이터는 데이터베이스에 저장됩니다.
사용자는 Horizon Dashboard, 명령줄 클라이언트, API 요청 도구(예: curl), 또는 SDK(예: Go, Python, Ruby)를 통해 OpenStack에 액세스하고 서비스의 REST API를 호출할 수 있습니다.
참고
https://docs.openstack.org/install-guide/
OpenStack Installation Guide — Installation Guide documentation
OpenStack Installation Guide
docs.openstack.org