The analysts agree, uDeploy and its competitors are “Application Release Automation” tools. We used the same term on our website. Unfortunately, “Application Release Automation” is a bad description for this class of tools.
Let’s look at the three words in this term and see what fits:
- Application: Not bad. This scopes things down to software applications rather than hardware or endangered animals. The Application also indicates that we’re working at larger scope than a single tier or component, which is also ok.
- Release: To release an application, generally means to deploy it into the production environment. Certainly, production is in scope for these tools, but pre-prod environments are as well. Using the same process in prod and testing environments is a best practice. “Release” might be pointing to heavily towards production. In many companies a “Release” is scoped far larger than a single application or application group. A release can contain numerous unrelated applications. That’s not what ARA is about.
Similarly, we have shared terminology with release management. Is this tool automating a release managers job? Not really, while it can enforce some quality gates and provide better visibility it doesn’t have a detailed Release Management feature set. At UrbanCode, we even provide a specialized release management tool to focus on those topics.
- Automation: Not bad. Most people look to a tool like this when they want to greatly improve the speed and quality of their deployments by automating as much as possible.
So the problem is with “Release”. It suggests that we should ignore earlier environments and implies more of a release management role than the tools really fill.
What would be better?
We propose Application Deployment Automation (ADA). Tools like uDeploy are automating the deployment of applications.
Sometimes its a deploying to production – a release. Sometimes its one of the many deployments to the test labs that get us ready for the eventual release. What a tool like uDeploy does extremely well is let you define a standard process that is used in both environments.
Like this sort of thing? Here are other blog posts where I nitpick about jargon: