views:

113

answers:

3

Hello there,

We have a decent deployment process for our web sites utilized in our company that works pretty well.

I was wondering, is there a recognized, standard for deploying? Or is it a case of everyone having their own kind of deployment process that is built from their own experience and how the coding architecture is managed?

Regards,

Steve Griff

A: 

I don't think it well standardized, but there are products out there that try to standardize the process, such as ControlTier. It probably also depends on the maturity of your site (early phase start-ups probably don't need to focus on the process too much).

In general, there are usually seen as two parts of deployment - the system and the application. Each may be deployed differently, depending on what technologies you're using - for example, deploying your system on Amazon's EC2 would be different than in-house, and deploying a Java web application would be different than PHP.

James Kingsbery
Thanks for the heads up regarding ControlTier. I shall investigate further.
Steve Griff
A: 

My take on the matter:

  1. Make sure you can apply upgrades in one step.
  2. Make sure you can roll back upgrades in one step as well.

I copy each version of a web application to a new directory, and switch over simply by changing the IIS settings to point to the new version (or on Linux, changing a symlink.) Rolling back is then a simple matter of changing this one setting back. Very quick, zero downtime, and you can back out very easily.

Of course, there are various other issues that you need to take care of, such as configuration and database upgrades. You also need to make sure that your data directories are kept outside your web application root directory as well.

jammycakes
A: 

It depends on your language and development/production environment.

For example, Visual Studio 2010 comes with "one-click-deployment" that supports FTP and a couple other technologies, so there is an accepted standard in that case. If you're developing with Notepad (ha!), it's up to you to pick the tools that work best for your project.

ChessWhiz