Software Deployment vs Software Release – Key Differences

deploymentreleaserelease-management

I am coming more from the web development angle. We build a module, test it and then deploy it. Some people call this last step (deploy) as 'release'. What's the difference? or are they the same things?

Best Answer

I don't think the terms release" and "deployment mean exactly the same, thing I'm not sure they should be used interchangeably like that.

From a web development perspective:

Deployment refers to getting your program to a running state on a server. It doesn't need to be the production server. You can deploy an application/module to a testing server that is running on your own workstation or on a testing machine. You might perform many deployments during the development and testing stages of a module or application.

A release (I'm using "release" as a noun) of the application/module is usually a specific version of code/resources that has been assigned a name/number. This is usually done so that a user has trouble with the application/module, knowing the release number of the software that the user has can help determine where/when the bug may have been introduced and can also help track the process of fixing it. A release can be created when new features are added, or a set of bugs are fixed.

In the example you give, where the last step in the process can be called "release" or "deployment", there is probably some work that involves creating a release (assigning a number, etc...) and then immediately deploying that release to a production server.

It seems a little confusing to me. I try to keep these terms separate and I try to say things such as

I am deploying the newest production-ready release (1.3.5) to server.somehost.com". Then I will deploy the latest testing-release (1.4.1-beta) to test3.somehost.com

Related Topic