1eb3f584dc
Adds a basic architecture description section to the Glance Developer guide. Change-Id: I782490bb8757cd67d83057176f8e3eeffa007b84 Co-Authored-By: Mike Fedosin <mfedosin@mirantis.com> Co-Authored-By: Olena Logvinova <ologvinova@mirantis.com> Co-Authored-By: Alexander Adamov <aadamov@mirantis.com>
2.1 KiB
2.1 KiB
Basic architecture
OpenStack Glance has a client-server architecture and provides a user REST API through which requests to the server are performed.
Internal server operations are managed by a Glance Domain Controller divided into layers. Each layer implements its own task.
All the files operations are performed using glance_store library which is responsible for interaction with external storage back ends or local filesystem, and provides a uniform interface to access.
Glance uses an sql-based central database (Glance DB) that is shared with all the components in the system.
Image 1. OpenStack Glance Architecture
The Glance architecture consists of several components:
- A client — any application that uses Glance server.
- REST API — exposes Glance functionality via REST.
- Database Abstraction Layer (DAL) — an application programming interface which unifies the communication between Glance and databases.
- Glance Domain Controller — middleware that implements the main Glance functionalities: authorization, notifications, policies, database connections.
- Glance Store — organizes interactions between Glance and various data stores.
- Registry Layer — optional layer organizing secure communication between the domain and the DAL by using a seperate service.