ecf464cad7
"Basic architecture" section has non-ascii (utf-8) characters. Change-Id: Ib601b4b7232ec174227ebc801d3d663a5542f50e Closes-Bug: #1443464
59 lines
2.1 KiB
ReStructuredText
59 lines
2.1 KiB
ReStructuredText
..
|
|
Copyright 2015 OpenStack Foundation
|
|
All Rights Reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
not use this file except in compliance with the License. You may obtain
|
|
a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
License for the specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
==================
|
|
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.
|
|
|
|
.. figure:: /images/architecture.png
|
|
:figwidth: 100%
|
|
:align: center
|
|
:alt: OpenStack Glance Architecture
|
|
|
|
.. centered:: 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.
|