London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Anders Wahlqvist
Mar 9, 2021
  13434
(8 votes)

Introducing "Direct Deploy", a quicker way to deploy to integration using the deployment API!

Deployments in DXP are designed to be as seamless and non-disruptive as possible. We've also added a few steps that might not always be associated with a deployment process (like automatically configure warmup, validating some configurations to make sure they're compliant with the service, migrate environments to the latest version of the service configuration etc.).

Before the new code is live, you also have an option to validate the results before live traffic hits the new version (using slots). This can be very useful, but since warmup has to finish before the site can be swapped, it's also quite slow compared to a deployment where binaries are simply pushed to a web app.

While this approach makes a lot of sense for production sites (and is fully automatable with the deployment API), we've received feedback that it would be nice to have a quicker option to deploy to DXP as well, especially to the integration environment. This has been possible for quite some time, but we felt it was a bit awkward to have to use a different method to deploy to Integration compared to the Preproduction/Production environments, especially if you're already using deployment packages.

We've therefor added a new option for deployments targeting Integration, Direct Deploy.

Direct Deploy can be triggered through the deployment API and the EpiCloud module (using the -DirectDeploy switch for Start-EpiDeployment). This will trigger a deployment that doesn't utilize slots. It will still apply configuration transforms so you can use the same deployment package for all environments, but it will simply just push that package directly to the "live-slot" of the target environment (which will be disabled during the deployment, meaning the target environment will be offline for the duration of the deploy). It will send a request to the target site to trigger the warmup process, but it won't wait for it finish. Nor will it configure a warmup section automatically even if it doesn't exist.

This makes it possible for us to complete the deployment for you much quicker than before, and we hope you'll find it useful when you simply just want to run the first few functional tests in the Integration environment, and therefor want the deployment to finish as quickly as possible.

Finally, I would like to ask you to keep providing us feedback on how we can improve, we really appreciate it!

Mar 09, 2021

Comments

Eric
Eric Mar 9, 2021 11:06 PM

Thank you for this! :)

Johan Kronberg
Johan Kronberg Mar 11, 2021 10:03 PM

Save some time and tell me what happends if you have -DirectDeploy and let's say Preproduction as target?

Anders Wahlqvist
Anders Wahlqvist Mar 11, 2021 10:43 PM

@Eric: You're very welcome! I hope this will be useful :-)

Anders Wahlqvist
Anders Wahlqvist Mar 11, 2021 10:55 PM

@Johan Kronberg: As mentioned this is for the Integration environment only, so a request to deploy to Preproduction won't be accepted by the API.

The reasons for that among others is to ensure things like warmup and local cache works as expected for the app so you don't find these things out in production later on. That also improves reliability of scale outs/performance tests in Preproduction. Since those things (warmup/local cache) are also enforced by Azure during slot swaps, it seem to make sense to test those things while deploying to preproduction to increase the likelyhood of a smooth go live in Production later on. The "slot based" deployment flow also handles and validates more parts of the underlying infrastructure, but it comes at the price of being slower (which is mainly due to application startup time).

That said, this is a very new feature and are eager to get feedback on how it can be improved to be as useful as possible, so don't hesitate to use the feedback link in the post above to suggest how we can improve :-)

Eric Markson
Eric Markson Apr 4, 2021 01:07 AM

Deployment down from 30ish minutes to 5 minutes. This is a game changer for CI/CD Deployments! Thank you @Anders!!

Anders Wahlqvist
Anders Wahlqvist Apr 6, 2021 07:54 AM

Thank you for that feedback @Eric, super happy you find this useful! :-)

Surjit Bharath
Surjit Bharath Apr 8, 2021 06:27 PM

@Anders Client is down from 40 to 8 minutes. Thank you!

Anders Wahlqvist
Anders Wahlqvist Apr 9, 2021 08:53 AM

@Surjit: Happy to hear that this helped! Thanks for the feedback!

Jens Lundström
Jens Lundström Aug 4, 2021 07:21 AM

What about old files, are they cleared from the slot before a new package is deployed?

Anders Wahlqvist
Anders Wahlqvist Nov 16, 2021 03:20 PM

@Jens Lundström: Apologies, for some reason I missed your comment/question, sorry about that. But yes, the old files will be cleared from the slot before we deploy the new package.

Please login to comment.
Latest blogs
Optimizely Frontend Hosting Beta – Early Thoughts and Key Questions

Optimizely has opened the waitlist for its new Frontend Hosting capability. I’m part of the beta programme, but my invite isn’t due until May, whil...

Minesh Shah (Netcel) | Apr 23, 2025

Developer Meetup - London, 21st May 2025

The London Dev Meetup has been rescheduled for Wednesday, 21st May and will be Candyspace 's first Optimizely Developer Meetup, and the first one...

Gavin_M | Apr 22, 2025

Frontend hosting for PaaS & SaaS CMS

Just announced on the DXP, we FINALLY have a front end hosting solution coming as part of the DXP for modern decoupled solutions in both the PaaS a...

Scott Reed | Apr 22, 2025

Routing to a page in SaaS CMS

More early findings from using a SaaS CMS instance; setting up Graph queries that works for both visitor pageviews and editor previews.

Johan Kronberg | Apr 14, 2025 |

Developer Meetup - London, 24th April 2025

Next Thursday, 24th April will be Candyspace 's first Optimizely Developer Meetup, and the first one held in London this year! We've have some...

Gavin_M | Apr 14, 2025

Successful Digitalization for SMEs: How Optimizely One can Revolutionize Your Business Processes

"Achieve digital excellence with Optimizely One: Boost efficiency, delight customers, secure growth." In today's digital world, it's crucial for...

Frank Hohmeyer | Apr 11, 2025