Jim Crossley wrote:
Apologies if this is too off-topic, but...

On Tue, 2006-12-05 at 17:28 +0000, Steve Loughran wrote:

Because that's the kind of thing we can automate and lock down under SCM. That lets us create a blank VMWare or Xen disk image, have it run a PXE preboot to get the base image, then after it comes up we can bring the system up to the state where the WAR file deploys.

This is a beautiful idea.  Could you please cite any articles, books, or
blogs that describe this "world" in more detail?



Well, I work on smartfrog, http://smartfrog.org/ which is a distributed deployment framework. It has ant tasks, but not yet any m2 support, because nobody has sat down to do them yet.

It can do the setup from the VMWare image down to setting the mime types of your servlet.

An overview is :
    http://people.apache.org/~stevel/slides/oscon.pdf
And a more recent one on using it for testing is:

http://smartfrog.org/presentations/distributed_testing_with_smartfrog_slides.pdf
with the video
    http://smartfrog.org/autolinks/googleLTAC06.htm
This covers how you can treat a distributed test run as just another part of your deployment, so run things like junit tests on eight different machines, all against the same server. If you can start selenium on those machines, you even get to test your site on the many different browsers.

In none of these talks, do I discuss dynamic VM configuration, though we are thinking of doing a talk on the topic at Apachecon europe, something like "hosting fun on Xen and EC2", where we'd show how load monitoring lets you deploy new virtual servers on demand on the Amazon EC2 infrastructure, surviving ./ at the cost of your visa bill. (actually, thats a better title. "Using Amazon EC2 to survive slashdot attacks".

In the forthcoming "Ant in Action" book there is a chapter on smartfrog, though again, no VM coverage. Its a bit too advanced for a single chapter.

To get into VM stuff, there are a couple of things that are useful on sourceforge

SmartDomains, from Cern, at http://smartdomains.sourceforge.net/ . These are smartfrog components to manage Xen images, creating them on demand, stopping them when needed. You deploy a manager on one real/virtual host in the server farm, have it manage the rest.

LinuxCoe: http://linuxcoe.sourceforge.net/
This is how we create our virtual images, either by hand or by machine. It is the code to host a server which provides a way to create kickstart ISO images with custom linux boot parameters (network config, login info). You set the VMWare/Xen box up to boot off the ISO file, and it will bring up the OS.

To actually try it, go to http://www.instalinux.com/ . This gives you a dialog where you choose your OS image, and all the packages that it offers. Go through the forms, create the iso image, and bring it up in VMWare player. For Xen you need different kernel builds, but the idea is the same. You can also create a 'profile', which is a reusable custom config.

Now, if you can demand create a bootable ISO image by hand, you can have a machine do it. All you need is a file describing which packages to install, what the network settings are, etc, and a program to talk to the linuxcoe server or an equivalent over XML. You get the URL to the ISO file back, download it to the shared FS of the VM cluster, and use SmartDomains to bring up the new machine.

PXE preboot envs are a bit trickier. You need to deploy something that handles the requests, preferably on the virtual network as otherwise you can end up accidentally installing the OS on other people's real machines. Its probably how the many-server companies like google, amazon and MS work, as you can stick a blank box in the rack, switch it on, and after a while its live.

So, my recommendations are
 1. play with instalinux and vmware/xen
 2. play with smartfrog
 3. play with Amazon EC2
4. Get a 4-way CPU system with the virtualization op codes and as much RAM as the mainboard will take. You'll need it. And lots of IDE storage for backed up images.

Although dynamic VM creation is something that a lot of ops teams are still nervy about, they need to recognise the control they get. They are in charge in the images, they can lay down the profiles. And they can give the developers virtual machines that match exactly what the devs will get in production, so everyone can have a private (virtual) 3-tier cluster to test their app on. More to the point, if you don't have the VM creation under control, you've just created a maintenance nightmare. Every month-old XP image is an unpatched host.

-Steve





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to