In the last post we talked about some of the myths about release and deployment. Perhaps the most telling comment there was the belief that “Every deployment is unique.”
Let’s break that apart and see what it really means and why it just doesn’t hold up in reality.
Deploying an application comprises of a number of parts:
Your application may be simple and confined to a few identical target platforms or it may be n-tiered and deployed to a chaotic topology completely out of your control. Irrespective your deployment will have these 5 elements.
All of these steps are predictable and any variation in the how the steps are executed is determinable. For example if there are no SQL DDL changes in the payload then there’s no need to stop the database. If the web server won’t stop abort the deployment and notify the release engineer.
It might take a release engineer the best part of a day to re-craft a deployment script for each “unique” deployment and even the very best engineers will only have a 99% success rate. If the script executes for an hour every day there will be at least three outages a year and more time spent fixing scripts that actually deploying.
With Serena’s Deployment Automation solution you spend less time developing scripts because the whole process is entirely graphical. You get to reuse elements for deploying to standard environments like Oracle database and the Amazon cloud. You get to spend more time thinking about what to do if the deployment fails and you get to build in all the logic you need so that even the most diverse and complex deployments become commonplace and predictable. Your release engineers spend their time improving and automating and Serena Deployment Automation takes care of everything else.
You can learn more about deployment automation at serena.com.
|Kevin Parker is a 30 year industry veteran, holder of three technology patents and is VP of Worldwide Marketing at Serena Software. He speaks and writes on application development methodologies, business analysis, quality assurance techniques, governance, open source issues, and tool interoperability, from the mainframe to distributed platforms to the web and mobile and embedded systems.|