Information Technology Reference
In-Depth Information
10.1.3 Configuration
Inthe configuration step, local settings and data are put in place to turn the installed pack-
age into the running service.
While packages often include installation scripts that do some generic configuration,
this step does machine-specific work required to create a working service. For example,
installing a web server package creates a generic web server configured to host static files
from a particular directory. However, determining which domains are served from this ma-
chine, making the load balancer aware of its presence, and other tasks are specific to the
machine and would be done here.
This step is gated by health checks—that is, a few simple tests that verify the system is
running. For example, one common health check is done by requesting a particular URL
that responds only after carrying out a few quick internal tests.
There are many software frameworks for configuration management. Some popular
ones include CFEngine, Puppet, and Chef. They all permit the creation of modules for
configuring specific services and applying those modules to different machines as needed.
Configuration management is discussed further in Section 12.6.4 .
The two major strategies for configuration are called convergent orchestration and
direct orchestration .Convergentorchestrationtakesadescriptionofhowtheenvironment
should be configured, and the configuration management system then makes individual
changes that lead to the entire system converging on that desired state. If for some reason
an undesired change is made (accidentally by a user, on purpose by a user, or by an ex-
ternal event such as a machine failure), the orchestration system will detect this and make
changes until the desired configuration has converged again. When the next configuration
is defined, the system starts to converge toward this new definition, making the fewest
changes required to get there. Convergent orchestration can be described as getting the en-
vironment to a particular state and keeping it there.
Direct orchestration can be described as a method to execute a multistep process during
which certain invariants hold true. For example, moving a database from one machine to
another requires many steps that must happen in a certain order, all while the the invariant
of “clients always have access to the database” remains true.
The steps might be as follows:
1. Machine B is configured to be a database replica.
2. Wait for the replica to become synchronized with the primary database.
3. The database clients are put in temporary read-only mode.
4. The roles of machines A and B are swapped, making A the read-only replica.
Search WWH ::




Custom Search