World is now on Opti ID! Learn more

Anders Wahlqvist
Apr 28, 2020
  44
(0 votes)

DXP deployment improvements

We've been working on a few improvements related to DXP deployments lately and wanted to share some recent and upcoming updates with everyone, we really hope you'll enjoy these new features!

Deployment API updates

The deployment API has been very well received and we're therefor investing further into it's capabilities by enabling a few new features for the API first in time for it's GA release.

The ones we released recently are:

  • Content syncdown
    The API now supports triggering content syncdown (copying of DBs and/or blobs) from the Production environment to Preproduction/Integration. If you're using the EpiCloud PowerShell module, you can use the Start-EpiDeployment cmdlet with the IncludeDb and IncludeBlob parameters to start a content syncdown.

  • DB export (bacpac)
    This is a completely new endpoint in the API that supports exporting a database to a downloadable bacpac file that can be used for local development purposes for example. The EpiCloud PowerShell module has two cmdlets for managing this, Start-EpiDatabaseExport can be used to start the export (it has a -Wait switch if you want it to wait until the export has finished before it returns). If you don't use "-Wait" there is also a cmdlet for fetching the export status called Get-EpiDatabaseExport.

  • More flexible API key management
    The API key management in the DXP Management Portal has been updated to allow for greater flexibility in how keys are created and can be used (it's now possible to assign access to environments on each key instead of having one key for each environment). For more information, see the documentation.


General deployment updates

We've also been working on a feature that is currently in closed beta, namely Smooth deployments (aka. Zero Downtime Deployments). This feature aims to solve the problem of applying database updates without having to take the site offline.

While this feature is still in closed beta, we've added some improvements to the reset-process of deployments in general which can be used together with the maintenance page option in the DXP Management Portal. There are now three different recovery options after a deployment has completed it first stage:

  • Roll-forward
    We're now enabling you to start a new deployment while the maintenance page stays up if you want fix an unforeseen issue by code.

  • Rollback code and database
    It's now possible to automatically restore the database to the point in time before the database was updated as part of the reset process together with the previous version of the code (see the "-RollbackDatabase" switch of the Reset-EpiDeployment cmdlet in the EpiCloud PowerShell module).

  • Rollback code only
    Rollback only the code to the previous version (like it works today).

Another update we've made that it's possible to validate the restored slot before it's swapped back to receive live traffic (optional step available in the DXP Manangement Portal).

More information about these recovery options and the upcoming Smooth deployment feature is available here.

What's next?

While these new features hopefully provide some significant improvements to the experience when developing for the DXP, we're definitely not done yet. We will soon look into more ways of accessing the blob storage in the different environments, harmonizing the functionality between the DXP Management Portal UI and the deployment API, getting Smooth deployment ready for GA and more.

Meanwhile, make sure you grab the latest version of the EpiCloud PowerShell module and look through the related documentation to these new and updated features:

Deployment API

Deploy using PowerShell

Smooth deployments

DXP self-deployment guide

And finally but definitely not least, please reach out to us with any feedback you might have!

Apr 28, 2020

Comments

Please login to comment.
Latest blogs
Make Global Assets Site- and Language-Aware at Indexing Time

I had a support case the other day with a question around search on global assets on a multisite. This is the result of that investigation. This co...

dada | Jun 26, 2025

The remote server returned an error: (400) Bad Request – when configuring Azure Storage for an older Optimizely CMS site

How to fix a strange issue that occurred when I moved editor-uploaded files for some old Optimizely CMS 11 solutions to Azure Storage.

Tomas Hensrud Gulla | Jun 26, 2025 |

Enable Opal AI for your Optimizely products

Learn how to enable Opal AI, and meet your infinite workforce.

Tomas Hensrud Gulla | Jun 25, 2025 |

Deploying to Optimizely Frontend Hosting: A Practical Guide

Optimizely Frontend Hosting is a cloud-based solution for deploying headless frontend applications - currently supporting only Next.js projects. It...

Szymon Uryga | Jun 25, 2025

World on Opti ID

We're excited to announce that world.optimizely.com is now integrated with Opti ID! What does this mean for you? New Users:  You can now log in wit...

Patrick Lam | Jun 22, 2025

Avoid Scandinavian Letters in File Names in Optimizely CMS

Discover how Scandinavian letters in file names can break media in Optimizely CMS—and learn a simple code fix to automatically sanitize uploads for...

Henning Sjørbotten | Jun 19, 2025 |