논리적 아키텍처

OpenStack 디자인, 배포, 구성에 대한 관리자들이 이해 할 수 있는 논리적인 아키텍처입니다.

개념의 아키텍처 에서 보여지는 바와 같이, OpenStack은 여러 독립적인 부분인 OpenStack 서비스들로 이루어집니다. 모든 서비스는 공통된 Identity 서비스를 통해 인증을 수행합니다. 개별 서비스들은 각각 다른 공용 API와 상호 작용을 하는데, 이 때 권한이 있는 관리자 명령어를 필요로 합니다.

내부적으로, OpenStack 서비스들은 여러 프로세스들로 구성되어 있습니다. 모든 서비스들은 적어도 하나의 API 프로세스를 가지며, API 요청에 대해 listen 작업을 수행하고, 전처리를 하여 결과를 다른 서비스 부분에 전달합니다. Identity 서비스를 제외하고, 실제 작업은 구별되는 프로세스들에 의해 이루어집니다.

특정 서비스 내 프로세스 간 통신에 있어서는, AQMP 메시지 브로커가 사용됩니다. 서비스에 대한 상태는 데이터베이스에 저장됩니다. OpenStack 클라우드를 배포 및 구성시에, RabbitMQ, MySQL, MariaDB, 그리고 SQLite와 같은 여러 메시지 브로커 및 데이터베이스 솔루션 중 선택할 수 있습니다.

사용자는 Horizon 대시보드에 의해 구현된 웹 기반 사용자 인터페이스를 통해, command-line clients 를 통해, 그리고 API 요청을 브라우저 플러그인 또는 curl 와 같은 도구를 통해 발행함으로써 OpenStack에 액세스할 수 있습니다. 응용 프로그램에 대해서는 several SDKs 를 사용할 수 있습니다. 결론적으로, 모든 해당 액세스 방식은 REST API 요청을 다양한 OpenStack 서비스에 발행합니다.

다음 다이어그램은 OpenStack 클라우드를 위한 가장 일반적인 아키텍처를 보여줍니다.

Logical architecture