What is a development server?
A development server is either a physical or virtual computer that is dedicated to the art of software or web development activities. It should be as close to being the same as the published web or software as possible with the exceptions of having the changes that you are working on.
What is the development server not?
The development server is not a code repository. It should not be used to store or track code changes. It is not a demo system used for marketing, user analysis or client demonstrations.
What is the importance of having a development server?
The primary reason for having a development server is to have a controlled environment for which code can be built, changed and analyzed without disrupting, tainting or possibly crashing the live published software or web application. It is a playground to test new ideas, to test changes before going live and debug issues found in the live production system. You should strive to never update the live system. Everything should be tested and verified prior to going live in order to put your best foot forward for your audience.
Tips for building a development server?
- It is often more time and money efficient to build a virtual environment for development. It is faster to rebuild, cheaper for purposes of licenses and easier to clone. I recommend using VMWare or VirtualBox.
- Make the development environment as close to the live environment as possible. This often will help in debugging problems. If you have a live web and live database that reside on two different servers, replicate that in either two physical or ideally two virtual environments.
- Install all your development tools that you may need to work with.
- Do not install your code repository library on the development environment, but ensure you can check code in and out of your library. This is because you should be able to scrub or rebuild the development environments on a whim.
- Do not