glance/doc/source/architecture.rst
Olena Logvinova 1eb3f584dc Glance basic architecture section
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>
2015-03-11 19:46:14 +02:00

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.