Sign in to follow this  
Followers 0
Jon

Virtual Dev Environment

33 posts in this topic

I rebuild my machines a lot due to installing every bit of shiny new software I see and messing the thing up, replacing hardware for gaming, or just for a clearout. It gets real boring reinstalling all the dev tools I need (Visual Studio + Service packs takes hours).

So, I'm thinking of running all my dev inside a virtual machine. Anyone use this method and has any thoughts?

Share this post


Link to post
Share on other sites



I started distributing Developer VMs at work for test period and it went well enough that we are going to VMWare ESX server all our developer machines. I start building them within the next few weeks.

I have noticed that if you have a pretty cleanly configured 64bit machine with at least 3 gigs of ram that a dev machine set at 1.5 gig works well enough.

I have been using VMWare Server 2 for our virtual build machine in the configuration mentioned above.

Lar.


f_mrcleansmalm_77ce002.jpgAutoIt has helped make me wealthy

Share this post


Link to post
Share on other sites

Jon, as an alternative, have you considered making a clone image of your machine containing your "always present" software? May not be good for hardware changes but for the other two it would be good since after you re-image the machine you're all set.

Share this post


Link to post
Share on other sites

Yeah I've got an image, it's a bit out of date but it's ok. Part of the reason is that I'd like my games machine to be a lot cleaner without multiple copies of Visual Studio with all its assorted crap. It would be nice to be able to move the image between my desktop and laptop too (like a moveable and complete dev evironment).

Installing a VM now, I'll let you know how quick the AutoIt build process is vs the normal way. :P

Share this post


Link to post
Share on other sites

I set up a Vista Ultimate VM guest with 1GB of RAM and 2 CPUs.

A full AutoIt x64 project rebuild takes 19secs on my physical machine, and 25 secs in the virtual. For a solution rebuild (that builds one project on each CPU at the same time) the physical was 24 secs and the VM was 29 secs. When I did an AutoIt speed test the results were identical between the physical/vm so it looks like the only "slower" part is disk access. But still, that's totally usable so I'm going to give it a trial. Not sure how different the results would be on my laptop. (My desktop has a ludicrous harddisk speed = 224MB/s :P )

Interestingly, the VM is Vista Ultimate and with 1GB of RAM allocated and 2 copies of Visual Studio 2008 open and building I still had 400MB free. Guess Vista isn't quite the memory hog we thought :(

Share this post


Link to post
Share on other sites

Is your virtual Vista running Aero? Try turning that on and see if you have any memory left to run one Visual Studio.

Share this post


Link to post
Share on other sites

Is your virtual Vista running Aero? Try turning that on and see if you have any memory left to run one Visual Studio.

Assuming you haven't got one of those ludicrous gfx cards that share main memory Aero shouldn't add much in the way of memory. On my machine turning Aero on uses 37MB - I'm sure I'll live with that :P. But anyway, you can't run aero in VMs because the virtual gfx cards are never up to it.

Share this post


Link to post
Share on other sites

Ah. Having never used (and not planning to use) Vista, what does Aero really add? I haven't heard of it doing much other than wasting resources unnecessarily.

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

Jon, I haven't tried this myself yet but setting up a multi-boot could work perfectly as well. VM seems a bit sluggish.

I would create the following boots:

- Clean Windows XP install. Drivers only. ( As a back-up copy. )

- "Developer-mode". All tools that you require when developing are on this machine. Probably the largest volume too)

- Gaming volume. A few copies of games installed, with software like Daemon tools.

Ofcourse, you wouldn't be able to switch very fast between them. But it would be a solution where you can play games, and develop at full capacity of your machine.

Edit: Richard, I don't think everyone likes their Windows like this: http://img.manadar.com/2008/optimizedforperformance.jpg

Edited by Manadar

Share this post


Link to post
Share on other sites

Ah. Having never used (and not planning to use) Vista, what does Aero really add? I haven't heard of it doing much other than wasting resources unnecessarily.

You should check the page on Wikipedia, it goes through all the stuff Aero can do. Link1

It may use a few extra mb of ram but who cares now when you can get 4GB for ca 50 usd?? Without it you may aswell use WinXP or 2008 (core install), Aero is definatively one of the most interesting features in Vista.

Share this post


Link to post
Share on other sites

@Manadar: Doesn't Vista support other themes?

Share this post


Link to post
Share on other sites

Yup. I am using this. We have 2-4 VMs with different environments Vista with different configurations and XP with different configurations for Develpment. QA team also uses similar VMs, and they have more permutations and combinations of OS and applciations required for various test cases.

It works OK with Visual Studio 2005 on XP. Vista taks a lot of memory so it is a bit slow on Vista, but is useful.

At home I have 2 different partitions one for Gaming and other for Development. Development has VM Player installed but not the gaming environment, as VM installs lot of services and other things to make things "unclean" for the gaming partition. Flip side, you cant game while Developing!

Share this post


Link to post
Share on other sites

#13 ·  Posted (edited)

I'm doing this too, but with the wrinkle that my host is a MacBook Pro with VMWare Fusion. The MacBook Pro is 2.5GHz with 4 Gig of memory. I run XP Pro in Fusion with a general purpose VM and a development VM and it all works well. I am not doing big builds with Visual Studio on my development machine, so I don't have that feedback, but it is great having a segregated environment. I chose VMware Fusion (there is another popular option on Mac called Parallels) as I then have the option of copying the VM to a PC and running it with VMware Server.

Best part is that I got rid of my KVM switch and a lot of noisy fans and have this quiet, tiny, portable footprint on my desktop and really seamless connectivity between machines. And I get to goof around with Mac OS.

Dale

Edited by DaleHohm

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Share this post


Link to post
Share on other sites

...as VM installs lot of services and other things to make things "unclean" for the gaming partition. Flip side, you cant game while Developing!

You're on the AutoIt forum and you can't see a solution for that? I use launcher scripts for things like Windows Update, VMware, et cetera. It goes through, starts the proper services, runs the program, waits until the program ends, stops the services and disables them.

Share this post


Link to post
Share on other sites

#15 ·  Posted (edited)

You're on the AutoIt forum and you can't see a solution for that? I use launcher scripts for things like Windows Update, VMware, et cetera. It goes through, starts the proper services, runs the program, waits until the program ends, stops the services and disables them.

That statement is wrong. You're assuming everyone on the AutoIt forum is intelligent. :P Edited by Manadar

Share this post


Link to post
Share on other sites

That statement is wrong. You're assuming everyone on the AutoIt forum is intelligent. :P

Nobody in their right mind would accuse me of making that assumption.

Share this post


Link to post
Share on other sites

VM helped me with testing some pieces of code, I would recommend it but not for some testings of LARGE programs. I guess AutoIt is OK.


I can do signature me.

Share this post


Link to post
Share on other sites

You're on the AutoIt forum and you can't see a solution for that? I use launcher scripts for things like Windows Update, VMware, et cetera. It goes through, starts the proper services, runs the program, waits until the program ends, stops the services and disables them.

Yup, the solution is OK to some extent, but VMware also installs drivers and other things that is not acceptable. That why I really like AutoIt - A clean app leaving minimum footprint. Similarly I also use SandboxIE, to sandbox applications that I am trying for the first time, or can be potentially messing up with the OS.

Share this post


Link to post
Share on other sites

VM helped me with testing some pieces of code, I would recommend it but not for some testings of LARGE programs. I guess AutoIt is OK.

I'll differ a bit on VM for testing LARGE programs. VM is actually very good in such case. I am into a product development that includes Drivers/Services/.NET/Java/COM and Web element based application that runs on XP and Vista with different versions of MS Outlook.

Here AutoIt combined with VM comes as automated testing solution on all the permutation and combination of OS/Outlook versions we support. After the nightly build Automated testing is also automatically done providing the test result of the build output in the morning. For automated testing we also use QTP as AutoIt lacks in some areas making it difficult for non-programmer QA/QC to develop its script and analyze the results.

But I feel it has all the potential to compete with QTP, Rational Robot or Oracle's Testing suites etc, if slight push is given in that direction.

Share this post


Link to post
Share on other sites

But I feel it has all the potential to compete with QTP, Rational Robot or Oracle's Testing suites etc, if slight push is given in that direction.

There aren't a lot of people who use AutoIt to test their applications extensively. Noone has really picked up creating tests for these purposes. I guess someone is going to write them in time, but currently the level of knowledge in the area of testing is lower then in any of the other areas I suppose.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0