Information Technology Reference
In-Depth Information
5. The database clients are taken out of read-only mode and configured to send writes
to machine B.
Achieving this goal with convergent orchestration would require an unwieldy process. It
wouldrequirecreatingadesiredstateforeachstep,andwaitingforonestatetobeachieved
before switching to the next.
Achallenge indirectorchestration ishowtohandlemultiple processeshappeningatthe
same time. For example, imagine this process happening at the same time as a load balan-
cer is being added to the system and the web servers are being reconfigured to add a new
service. These processes all involve overlapping sets of machines and resources. The steps
havetobeorderedandcoordinatedinwaysthatpreventconflictsandassurethatthesystem
does not paint itself into a corner. Currently this is done manually, which is an error-prone
process. Automating such things at a large scale is the kind of thing that researchers are
only just beginning to consider.
One of the barriers to moving to convergent orchestration is that systems have to be ar-
chitectedtosupportit.Thisisamajorproblemforenterprisesautomatingtheirdeployment
andinfrastructure management processes,especially withcommercial productsthatcannot
be modified. Home-grown systems can be designed with support from the start or, altern-
atively, modified after the fact.
10.2 Testing and Approval
Before a release is used in production, it must be tested and approved. First, automated
testing is done. Next, manual testing, if there is any, is performed. Lastly, management ap-
proves or signs off on the release. The list of people or departments that must sign off on a
release is called the approval chain . After all this activity is complete, the release can be
promoted and pushed into production.
10.2.1 Testing
Testing involves many different categories of tests. In the build phase, unit testing is per-
formed on each component. There are four kinds of testing in the deployment phase:
System Testing: This testing brings together all the various pieces of the service
and tests the final product or system. It is performed on the service running in the
testing environment. Passing these tests is a precondition for the release being used
in production and any other environment that includes external customers. Every
individual feature should be tested. Multistep workflows such as making a pur-
chase should also be tested. There are testing frameworks that can perform tests as
if they are being done by a user. For example, Selenium WebDriver is an open
source project that automates web site testing by sending HTTP requests as if they
Search WWH ::




Custom Search