1
vote

I was asked to create a setup for automated deployment, configuration, installation/updates of websites. A bunch of small websites will be bundled on one server. If more website will come up a new server will be created...

I decided to us chef for this task.

All servers will be running Ubuntu at the same version and configuration.

The actual question:
Everything needs to be tested properly before starting live deployment, so my question is: What is the best virtualisation tool to run multiple (5 - 10) virtual machines on a Ubuntu Laptop?

Requirements:

  • easy setup, fast
  • (clone/snapshot of VMs)
  • All VMs should be easily connected to the internet and should be able to communicate to each other
  • (Open-Source / free would be great)

So far I looked into:

  • Virtual box is more for Desktop virtualisation, Cloning not possible, every new machine needs to be installed
  • VMware Player

Any suggestions?

If there are any question about what I am doing please comment on this question, I will answer as soon as possible.

This question is not about the actual set up, it is about a nice working environment.

5
  • Not taking a laptop? Why would anyonw run a lab on low power hardware. Get a proper hypervisor, get a proper machine with 32-64gb ram and be set.
    – TomTom
    Mar 28, 2012 at 5:20
  • It's just for developement and testing. And a decent laptop should be able to handle a few idle VMs...
    – TheHippo
    Mar 28, 2012 at 11:46
  • ? My development and testing - personal - has about 16 cores and 64gb ram. What do you do - small websites? My tests regularly use up a 3930 full power for a day every run ONLY for testing.
    – TomTom
    Mar 28, 2012 at 12:14
  • I will not buy I new computer for testing some infrastruture with like 0.002 pagehits/sec. A virtualisation technology should be able to handle this. (I am not testing the websites, I like to test software configuration and some deployment scripts...)
    – TheHippo
    Mar 28, 2012 at 18:43
  • As I said - small stuff. I actally do load testing, too. And in the last project dealt with a 21tb database.
    – TomTom
    Mar 29, 2012 at 5:59

3 Answers 3

2
votes

For Laptops and distributed development, I'd recommend Vagrant. It uses VirtualBox internally and you can automate the stack using Chef/Puppet. It will satisfy your other requirements as well.

For Production: Use a proper Hypervisor ( ESX, XEN and the likes ) or Public Clouds.

4
  • For production we will use gandi ;-)
    – TheHippo
    Mar 28, 2012 at 11:46
  • There is only one problem with VirtualBox... It does not allow / work for bridged network over a wifi connection, but this should not be a problem
    – TheHippo
    Mar 28, 2012 at 11:51
  • @Hippo - You can use NAT. Add another HostOnly adapter to communicate amongst the VMs. Gandi is good! Mar 28, 2012 at 12:17
  • @Hippo - I've manage to use bridged over wifi without issues - what version are you running.?
    – tombull89
    Apr 11, 2012 at 13:14
0
votes

VirtualBox allows you to quickly and easly clone VMs. See, e.g., this document. Of all the free Linux virtualization solutions it has the best user interface, although it may not be the most performant. It's both free and open source, and it's very easy to set up and use.

0
votes

I've done something similar, but with a Debian box and I went for Xen 4 since the server doesn't have X installed. On my server I have a OS template that I use when I need a new server. This is for me the easiest way to get everything up and running quickly.

If you google "Xen cloning VM" you'll find several links about it.

Not the answer you're looking for? Browse other questions tagged .