77Architecture
88============
99
10- Deis consists of 8 modules that combine to create a distributed PaaS.
11- Each Deis module is deployed as one or more ` Docker `_ containers .
10+ Deis consists of 9 modules that combine to create a distributed PaaS.
11+ Each Deis module is deployed as a :ref: ` Container ` .
1212
1313.. _controller :
1414
1515Controller
1616----------
17- The controller module is the "brains" of the Deis platform, in charge of:
1817
19- * Processing client API calls
20- * Managing nodes that host containers and provide services
21- * Managing containers that perform work
22- * Managing proxies that route traffic to containers
23- * Managing users, providers, flavors, keys and other base configuration
24-
25- The controller module includes:
26-
27- * `Django `_ for processing API calls
28- * `Celery `_ for managing task queues
18+ See :ref: `Controller `.
2919
3020.. _database :
3121
3222Database
3323--------
24+
3425The database module uses `PostgreSQL `_ to store durable platform state.
3526
27+ .. _discovery :
28+
29+ Discovery
30+ ---------
31+
32+ The discovery module uses `etcd `_ for shared configuration and service discovery across
33+ the cluster.
34+
3635.. _cache :
3736
3837Cache
3938-----
39+
4040The cache module uses `Redis `_ to:
4141
42- * Store work queue data for Celery
43- * Cache sessions and synchronize locks for Django
42+ * Store work queue data for ` Celery `_
43+ * Cache sessions and synchronize locks for ` Django `_
4444 * Store recent log data for the :ref: `Controller `
4545
4646.. _builder :
4747
4848Builder
4949-------
50+
5051The builder module uses a `Git `_ server to process :ref: `Application ` builds.
5152The builder:
5253
@@ -65,6 +66,7 @@ is deployed across the platform automatically.
6566
6667Registry
6768--------
69+
6870The registry module hosts `Docker `_ images on behalf of the platform.
6971Image data is typically stored on a storage service like
7072`Amazon S3 `_ or `OpenStack Storage `_.
@@ -73,6 +75,7 @@ Image data is typically stored on a storage service like
7375
7476Log Server
7577----------
78+
7679The log server module uses `rsyslog `_ to aggregate log data from
7780across the platform.
7881This data can then be queried by the :ref: `Controller `.
@@ -81,17 +84,20 @@ This data can then be queried by the :ref:`Controller`.
8184
8285Runtime
8386-------
87+
8488The runtime module uses `Docker `_ to run containers for deployed applications.
8589
8690.. _proxy :
8791
8892Proxy
8993-----
94+
9095The proxy module uses `Nginx `_ to route traffic to application containers.
9196
9297.. _`Django` : https://www.djangoproject.com/
9398.. _`Celery` : http://www.celeryproject.org/
9499.. _`PostgreSQL` : http://www.postgresql.org/
100+ .. _`etcd` : https://github.com/coreos/etcd
95101.. _`Redis` : http://redis.io/
96102.. _`Git` : http://git-scm.com/
97103.. _`Docker` : http://docker.io/
0 commit comments