Tuesday, September 22, 2009

The 3 deployment environments

A bit of software engineering theory for those interested.

If the environment is defined as the hardware and software present on a system then the following three environments are required to properly deploy software:

Development - on which the application is developed. Will generally contain IDEs and a range of libraries.
Testing - on which testing (except for performance) is completed. Outside of specific testing software this environment may contain utilities such as terminal emulation, or packet sniffing software.
Staging - an exact replica of the live environment. All performance testing must take place here.
Live - the actual final deployment destination.

How many of these environments have you combined and thus ultimately ignored? I know I'm now suffering as the Staging and Live environments of a recently deployed application were anything but exact replicas.

No comments:

Post a Comment