How do you deal with different project environments? Every project might require a different database (oracle, IBM db2, mysql & etc), a different server (tomcat, IBM WAS, weblogic & etc) or some other new technologies.

Every time a new database or new server comes in, I install them on to my workstation for my convenience. Right now I have more than one database and server on my workstation and it has caused my workstation take some time at startup. I have to wait a period of time for my workstation to be ready for me to start working. Sometimes when I install database A, it causes my previous database B to have issues. I found that this will take a lot of my cpu usage although I'm not using them at the moment.

In this case, I can think of only one method, I can install the databases on to one virtual machine and the servers on to another virtual machine. Or one project environment one virtual machine. Then I can start just the one that I need it.

What do you think?

2 Answers 2


The solution you mention is the one that I use. I am provided with VMware Workstation which makes it extremely easy to switch environment. I use one "dev" machine (or two - one for win7 and one for ubuntu). I then use multiple "production" environments which have different structure depending on the requirements. In the case of databases, I connect from my dev-vm to the specific database server on the production-vm. This works very well for me.

  • so.. you do programming inside your dev-vm, its a bit slightly different with me, I develop in my workstation by connect to specific vm.
    – 50LV3R
    May 31, 2011 at 5:34

IMHO have a set of glue scripts that take into account the installation, maintenance and sanity testing of the project environment. You and other programmers of the project should use the scripts for accessing the system.

You should be able to find several such scripts on the net, and you might have to do an integration scripting to wrap around these glue scripts.

This simplifies the abstraction, and is basically an extension of the bridge pattern programmers use in s/w development.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.