2525:ref: `Layers <layer >` are homogeneous groups of :ref: `Nodes <node >` that
2626perform work on behalf of a formation. Each node in a layer has
2727the same :ref: `Flavor ` and Chef configuration, allowing them to be scaled
28- with ease . Formations have two types of layers.
28+ easily . Formations have two types of layers.
2929
3030Runtime Layers
3131^^^^^^^^^^^^^^
@@ -46,37 +46,46 @@ following the `Twelve Factor model`_.
4646
4747Build Stage
4848^^^^^^^^^^^
49- The Deis :ref: `Controller ` includes a `Gitosis Server `_ that receives
50- incoming git push requests over SSH and builds application
51- inside an ephemeral Docker container. A tarball of the /app directory is
52- extracted into a :ref: `slug ` and exposed on an Nginx static file server.
53- The slug is later downloaded by the the runtime layer and bind-mounted
54- into a Docker container.
49+ The :ref: `Controller ` includes a `Gitosis Server `_ that receives
50+ incoming git push requests over SSH and builds applications
51+ inside ephemeral Docker containers.
52+ Tarballs of the /app directory are extracted into a :ref: `slug ` and exposed
53+ on the Controller using an Nginx static file server.
54+ The slug is later downloaded by the runtime layer and bind-mounted
55+ into a Docker container for execution.
5556
5657Release Stage
5758^^^^^^^^^^^^^
58- A :ref: ` release ` is a :ref: `build ` combined with :ref: `config `.
59- When a new build is created or config is changed,
60- a new release is rolled automatically. Releases make it easy to
61- rollback of code and configuration.
59+ During the release stage, a :ref: `build ` is combined with :ref: `config `
60+ to create a new numbered :ref: ` release `.
61+ The release stage is triggered any time a new build is created or
62+ config is changed, making it easy to rollback code and configuration.
6263
6364Run Stage
6465^^^^^^^^^
65- The run stage updates Chef databags and converges all nodes in the formation,
66- deploying the latest release on containers and reconfiguring proxies.
66+ The run stage updates Chef databags and `converges `_ all nodes in the formation.
67+ The databag specifies the current release, the placement of containers across
68+ the runtime layer, and the configuration of the proxy layer.
6769SSH is used to converge all of the nodes in the runtime layer followed
68- by all of the nodes in the proxy layer.
70+ by all of the nodes in the proxy layer, making zero downtime deployment possible .
6971
7072Backing Services
7173----------------
72- In keeping with `Twelve Factor `_ app methodology `backing services `_ like
73- databases, queues and storage are decoupled and attached via `environment
74+ In keeping with `Twelve Factor `_ methodology `backing services `_ like
75+ databases, queues and storage are decoupled and attached using `environment
7476variables `_. This allows formations to use backing services provided via
75- different formations (via their proxy layer), or external/third-party
77+ different formations (through their proxy layer), or external/third-party
7678services accessible over the network. The use of environment variables
7779also allows formations to easily swap backing services when necessary.
7880
79- .. _`Twelve Factor` : http://12factor.net/
81+ See Also
82+ --------
83+ * :ref: `Installation `
84+ * :ref: `Usage `
85+ * :ref: `Tutorial `
86+ * `The Twelve Factor App <http://12factor.net/ >`_
87+
88+
8089.. _`Chef` : http://www.opscode.com/chef/
8190.. _`Docker` : http://docker.io/
8291.. _`Nginx` : http://wiki.nginx.org/Main
@@ -86,3 +95,4 @@ also allows formations to easily swap backing services when necessary.
8695.. _`environment variables` : http://12factor.net/config
8796.. _`Gitosis Server` : https://github.com/opdemand/gitosis
8897.. _`Buildstep` : https://github.com/opdemand/buildstep
98+ .. _`converges` : http://docs.opscode.com/essentials_nodes_chef_run.html
0 commit comments