• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Thinking about going virtual for development

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

HankB

Member
Joined
Jan 27, 2011
Location
Beautiful Sunny Winfield
One of the uses of my signature system is Android development (as well as some dabbling with Arduino and other C++ coding.) At present it is set up to dual boot Mint 16 (IIRC - maybe 17) and Debian unstable. For Android dev I use Android Studio and Eclipse. Both of these are available in various versions. And both rely on Java which is also available from various vendors as well as different versions. It seems like a VM is a good option for experimenting with different versions. Before upgrading anything, I can snapshot the VM. If things do not go so well, it should be easy to roll back.

I could either share my project directory inside the VM or use something like git to synchronize projects between the VM and host.

In addition, instead of running a bleeding edge distro (like unstable ;) ) I could run something like Debian stable as the host and try the more exciting stuff in the VM. Again. snapshots would help to insulate me from the potential problems of a bad upgrade. Of course the snapshots would take space so I'd have to be careful with how I deal with them.

Another alternative would be containers, though that would not provide the benefit of running a bleeding edge system on a staid and stable host.

I've used Virtualbox for running Windows under Linux. Should I consider VMware? It's probably something I should learn since I do run across it in the workplace. Are there compelling reasons to try anything else?

If any of you have worked with something like this and have some thoughts to share, I'd be interested to hear them.

thanks,
hank
 
I'd say there is no real reason to use VMWare for this purpose... You could say you are going to 'learn' it but the version available for home use doesnt translate very well into the corporate environment. About the only benefit is terminology (which is almost identical between VMWare and VirtualBox) and the icons are the same. Other than that, there isn't a lot of similarity.

If you are concerned about compatibility, just create your VirtualBox vms as 'VMDKs". Even if you don't VirtualBox is very flexible and can convert image types.

Personally I use containers a lot. I have a few vms for full on testing (through VirtualBox), but for the most part containers do just fine as the only 'disadvantage' to containers is that they use the host kernel. Everything else works as you would expect (with the exception of things like NFS may be a little more difficult) but these differences should not impact your intended purpose.

Just my thoughts. As always YMMV
 
I started out with VirtualBox but eventually moved on to Hyper-V since a lot of the development I do is on Windows anyway. I have a couple virtualized linux machines, but most of them are physical boxes. I played around with VMWare a little bit and to be honest, I missed the ability of having a host OS available at the console. If you're running the machine headless in a rack or closet, you don't miss anything.

If you just want exposure to VMWare, you can run it inside a VirtualBox or Hyper-V VM. :)

Another option is to use a cloud-based, rapidly provisioned VM environment like AWS or Azure. I have an Azure account with $150 credit per month for VMs (which doesn't buy you much for 24x7 usage), and the ability to deploy them in a matter of minutes on a number of different scales is really helpful.
 
Back