glance/doc/source/architecture.rst

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 separate service.