The Octopus Deploy 3.0 time saver: delta compression

Published on: 19 Jun 2015 by: Shane

One of the cool new features in Octopus Deploy 3.0 is delta compression. A typical scenario in Octopus Deploy is frequent deployments of small changes to packages. For example, you might push some code updates but all of your libraries are unchanged. In the past Octopus Deploy would upload the entire package to each Tentacle, regardless of how little had changed. With the introduction of delta compression, only the changes to your package will be uploaded to each Tentacle. That sounds great in theory but I was curious what kind of benefits delta compression would yield in practice.

For this experiment I set up 2.6 and 3.0 servers with 20 Tentacles each. The Tentacles were located on the other side of the world so that network conditions would slow package acquisition, making it a significant part of the deployment. I performed 50 deployments of 110MB packages. Each package contained 10MB of changes.

The results:

Deployment times

2.6 took on average 7 minutes to complete a deployment and had a total run time of 6 hours 7 minutes.

3.0 took 6 minutes 23 seconds to performed the first deployment and then averaged 1 minute 30 seconds to calculate deltas and push them to the Tentacles for a total run time of 1 hour 26 minutes.

That is a pretty amazing result. With Octopus Deploy 3.0 you will spend less time waiting for deployments. Delta compression also saves your bandwidth and frees your Octopus Server and Tentacle resources for more deployments!