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:
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.
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:
And finally but definitely not least, please reach out to us with any feedback you might have!