Staging Environments

May 1st, 2008 | by admin | |

It’s so important to have a separate staging environment, so you can make changes (major or minor) and test the results BEFORE releasing to your live/production server. And for applications where development is an ongoing process, have a third environment purely for testing before releasing to live.

It’s important to have a SEPARATE staging environment, running on the same hardware and software configuration as your live environment. Small configuration changes could mean the difference between something passing testing, or failing testing. Yes it’s double the work to setup and release, but for an application that has a user base, it is critical to never have downtime or errors showing on your live system.

Why So Important?

Errors may give users an insight into your application that you may not wish them to know about. For example, a SQL query is setup poorly and pulls a fatal error. Without realising, you forgot to catch this error and the error displays some of your SQL code, including your database name and table/column information, so a serious security threat.

So staging environments are important for testing and making sure no unexpected bugs get to your live environment.

The Process

  1. User requests new functionality
  2. You accept request as a valid addition to your system
  3. Create new functionality on your staging environment
  4. You test the changes you made
  5. Get the changes fully tested by someone else, ‘fully’ meaning any area of the system that could have been affected by the changes
  6. When staging is tested and proven to be fine, release to live
  7. You test live to make sure the release to live went smoothly

Post a Comment