Staged Deployment for Production Networks

By Joel Aufrecht

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

This section describes minimal-risk methods for deploying changes on a production network. The important characteristics of a safe change deployment include:

The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site. This guarantees control, at least at the final step of the process: you know what changes you are about to make because you can see them directly. It does not, by itself, guarantee the entire control chain. You need additional measures to make sure that the change you are making is exactly and completely the change you intended to make and tested previously, and nothing more. Those additional measures typically take the form of source control tags and system version numbers. The parallel-server approach also guarantees rollback because the original working service is not touched; it is merely set aside.

This approach can has limitations. If the database or file system regularly receiving new data, you must interrupt this function or risk losing data in the shuffle. It also requires extra steps if the database will be affected.

Simple Deployment: Database is not changed

Figure 6.2. Simple Deployment - Step 1

Simple Deployment - Step 1

Figure 6.3. Simple Deployment - Step 1

Simple Deployment - Step 1

Figure 6.4. Simple Deployment - Step 1

Simple Deployment - Step 1

Complex Deployment: Database is changed

Figure 6.5. Complex Deployment - Step 1

Complex Deployment - Step 1

Figure 6.6. Complex Deployment - Step 1

Complex Deployment - Step 1

Figure 6.7. Complex Deployment - Step 1

Complex Deployment - Step 1
View comments on this page at openacs.org