glance/doc/source/contributor/architecture.rst
Doug Hellmann 1c7f556d4f rearrange existing documentation to follow the new layout standard
This change moves existing files, updates a few of the cross-references
and paths, and fixes some formatting. It is not meant to be the final
word on how the main page looks or how the other files are organized,
but it gets everything roughly into shape. If the glance team wants to
make changes, please do those as follow-up patches

This change depends on the spec and on a feature of pbr that allows us
to move where the auto-generated class reference documentation ends up
in the tree.

Depends-On: Ia750cb049c0f53a234ea70ce1f2bbbb7a2aa9454
Depends-On: I2bd5652bb59cbd9c939931ba2e7db1b37d2b30bb
Change-Id: I9dde267793a5913acb5b1ec028cfb66bc5189783
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-06-21 14:15:58 -04:00

3.7 KiB

Basic architecture

OpenStack Glance has a client-server architecture that provides a REST API to the user through which requests to the server can be performed.

A Glance Domain Controller manages the internal server operations that is divided into layers. Specific tasks are implemented by each layer.

All the file (Image data) operations are performed using glance_store library, which is responsible for interaction with external storage back ends and (or) local filesystem(s). The glance_store library provides a uniform interface to access the backend stores.

Glance uses a central database (Glance DB) that is shared amongst all the components in the system and is sql-based by default. Other types of database backends are somewhat supported and used by operators but are not extensively tested upstream.

Image 1. OpenStack Glance Architecture

Following components are present in the Glance architecture:

  • A client - any application that makes use of a Glance server.
  • REST API - Glance functionalities are exposed via REST.
  • Database Abstraction Layer (DAL) - an application programming interface

    (API) that unifies the communication between Glance and databases.

  • Glance Domain Controller - middleware that implements the main

    Glance functionalities such as authorization, notifications, policies, database connections.

  • Glance Store - used to organize interactions between Glance and various

    data stores.

  • Registry Layer - optional layer that is used to organise secure

    communication between the domain and the DAL by using a separate service.