A couple of proactive team members recently set us on the journey of setting up automated deployment of our ASP.Net application through Octopus deploy. The change of attitude and approach to deployment from begin to end has been dramatic.
“Octopus Deploy is a friendly deployment automation system for .NET developers”
This sums up the tool nicely, allowing you to setup projects with a given number of steps (these are very flexible / extendable) that you can deploy to one or many machines. You can then manage build environments from development through to production with ease.
The confidence in deployment is possible the most important change. Of course we still have contingency and rollback plans, but rarely have to use them. By the time you are deploying to production you know that this has been deployed by Octopus at least 2 or 3 times in development and testing, and that alone takes away uncertainty about the process.
The other big confidence boost is that humans have very little involvement (more to come on this).
A process that would have previously taken many hours is now nearly completely automated, and with one press of the ‘Promote’ button the application can be upgraded. This improves the speed of deployment into production and reduces downtime, but also improves the speed to make a new release available from development.
Octopus manages our development environments, meaning that you can fix an issue and simply promote ready for production. Before using this tool, a release from the development team (after testing) would take around a day, it now takes around 30 minutes.
Now when asked ‘can we get a fix for that as soon as possible?‘, the development team can fix the issue and promote out of development with a day or two. This is at least twice as fast and far less error prone.
No Humans Allowed
This is really what drives all other benefits, the need for human intervention is minimal and this reduces risk of error, boosts confidence and is much faster. This is also where I have seen the biggest culture change. Where previously it was okay to make manual changes to databases, config files or drop in dlls to fix urgent issues, you will now be met with ‘no one makes manual changes, this must come through Octopus Deploy‘.
Why trust a human to a repeat a process when you can trust a computer.
So if you are out there manually deploying your .Net applications with a document of 200+ steps, or even if you have a MSI and a document with only 50 steps, then I would encourage you to check out Octopus Deploy; you wont regret it!