Loading...
Area: Episerver Customer-Centric DXP
Applies to versions: Not applicable

Smooth deployment (Zero Downtime Deployments)

Recommendations [hide]

Note: Smooth deployment is a closed beta feature in Episerver DXP.

Smooth deployment, or Zero Downtime Deployments (ZDD), applies database changes without taking the site offline or the use of a Maintenance page. This topic shows how to make a smooth deployment.

Deployment logic

The deployment engine creates a cloned environment that includes a copy of the web app code and the database. This cloned environment manages external traffic for the duration of the deployment so that you can update the original database as needed without affecting the external-facing websites.

You can run the external website in the following modes:

  • ReadOnly mode (recommended)

    The cloned site runs in ReadOnly-mode so no new changes are applied to the temporarily cloned copy. No data loss occurs during the deployment.

  • ReadWrite mode (data loss likely)

    The cloned site  runs in ReadWrite-mode and allows new data to be written to it.

    Important: Any data written to the cloned database while the deployment is running will be lost at the end of the deployment. The ReadWrite mode increases compatibility with more features and add-ons, but should be used only when data loss is acceptable for the site. (You should make editors aware that no updates should be made to the site during this phase of the deployment.)

This diagram visualizes how the setup works during a deployment:

deployment-setup.png

Failed deployment recovery options

You have the following recovery options if changes do not go as planned:

  • Roll-forward

    If you can correct the problem by another code deployment, you can do this while the cloned environment still manages traffic to avoid the time it takes to set up another clone. When the new code version is deployed, you can validate the results before the deployment is completed.

  • Roll back code and database

    You can automatically roll back the database to a safe time (before changes were applied from the new deployment). This mode also rolls back to the previous version of the web app code. You can validate the code and database before the previous version is enabled to receive traffic.

  • Roll back code only

    If only the code needs to be rolled back, you can keep the database as-is. You can validate the code and database before the previous version is enabled to receive traffic.

Do you find this information helpful? Please log in to provide feedback.

Last updated: Apr 27, 2020

Recommendations [hide]