Virtual Appliance use within Development
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
Since I received my new server last week I have been implementing my strategy for the use of Virtual Appliances in my development setup. The basic plan is to not install anything directly on the server apart from VMware Server which will be running the virtual appliances.
So firstly what is a Virtual appliance? the VMware website describes it as.
“A virtual appliance is a pre-built, pre-configured and ready-to-run software application packaged with the operating system inside a virtual machine.”
For me the ‘pre-built’ & ‘pre-configured’ aspects are the most important given that time equals money and the cost of installing the OS and configuring any applications can take large amounts of time unless you have dedicate personal for such tasks.
The other reason for using Virtualisation was that when the time comes that the server is no longer capable of running everything we need. Then we can just move one or more images off onto another server without any downtime.
What we need
As a starting point I wanted my appliances to cover the following areas.
- Revision control (preferably subversion) - Source control is *MUST* for any size team (even 1 person!)
- A Wiki of some flavor - For central storage of documentation and collaboration
- LAMP server - My preferred development environment
- Mail Server - Everyone needs one but why lose a whole server to it?
The best starting point for finding a Virtual appliance is on the VMware directory which has a wide range of categories to search through. But you will also find that a lot of companies are now offering appliances ready made to download.
Like choosing any software for your development environment it is vitally important that you put in time to research the products first. Understanding the product and seeing how it will fit in with your overall strategy will save you time and money. The great advantage of researching an Appliance is that you can easily install and review without fear of breaking anything else. And if it happens you do not want the appliance removing it is a simple and again has no effect on anything else.
I cover below the appliances that I have chosen so far. These are my own personal choices for my company and although I recommend them for anyone in similar conditions they are not applicable to everyone.
Buildix
When looking for an appliance that covered my subversion requirement I came across Buildix which is built by the guys over at ThoughtWorks. The appliance contains.
- Subversion for Source Control
- Trac for a Wiki, Bug-Tracker and general Project Management
- Cruise Control for Continuous Integration
If you are unfamiliar with any of the above its worth using the links to go have a quick read on what they are each for. What really convinced me to use this appliance was.
- All applications are configurable via a web interface
- One line command to install a whole new project across all of the applications.
- Integration between the various applications
- Good documentation that contains a great range of ‘HOWTO’ pages that give you all the vital information to get you going.
LAMP Virtual Appliance
Although I currently use WAMP as a development environment this is not ideal as it would not mirror the production server (bad idea). The LAMP Virtual Appliance from Virtualappliances.net contains a ready built LAMP server that includes Perl/PHP/Python plus it has their own web interface for administering the whole lot. This does not mean that everything can be controlled via the web but it does make some of the most common chores easier and less prone to mistake.
Reasons I chose this appliance
- Web interface for common tasks
- Shared storage system
- Automated, Zeroconf and static IP address systems
They also have the following dedicated appliances which can become useful when you wish to split out work from a single appliance.
The Big Three
Although I have concentrated on VMware throughout this post (they are the market leaders) there are other choices especially in cost when you require enterprise level virtualisation.
The big three (that I know of).
- VMware
VMware seem to have created a runaway train understanding the needs of business way before anyone else and getting the technology ready to exploit multi-core machines. I am a massive fan especially as they give away VMware server free. Products include.- VMware Server - No frills virtualisation for your server
- VMware Workstation - great desktop virtualisation
- VMware Lab Manager - Automated testing enviroments for those with extremely deep pockets
- VMware ESX Server - The flagship virtualisation product that runs directly on the metal, but in my experience has a very limited range of hardware it runs on.
- Xen Source
The open source alternative. Products include.- Xen Enterprise - Enterprise level virtualisation at a reasonable price
- Xen Server
- Xen Express - The free version
- Microsoft Virtual Server
Because Microsoft is currently losing the virtual war at the moment it is giving away its flagship product free to hope for greater adoption. And being Microsoft it continues to throw more money and trying to catch up with VMware.
I hope I have given some inspiration for the use of Virtual Appliances within your development strategy and that some of the links will help research the related topics. As I continue working with my own setup I will post on how I get on with using them.
microsoft virtual appliance virtualisation virtualization vmware xen xen source
Comment by Brett Adam on 31 May 2007:
Be sure to browse the catalog of open source appliances built and maintained by the large community at rBuilder Online - http://www.rpath.com/rbuilder
Comment by admin on 31 May 2007:
Thanks for that Brett, I have already started downloading the Zenoss and Asterix appliances to play with.
Pingback by Virtual Appliance use within Development at Virtualization Daily on 6 June 2007:
[…] Halstead has posted some thoughts about using virtual appliances for doing development. For me the ‘pre-built’ & […]
Pingback by PC Blade Daily Links 2007-06-07 - PC Blade Daily - Practical News and Views on Centralized Computing on 7 June 2007:
[…] The Programming and Management Blog: Virtual Appliance use within Development “For me the ‘pre-built’ & ‘pre-configured’ aspects are the most important given that time equals money and the cost of installing the OS and configuring any applications can take large amounts of time unless you have dedicate personal for such tasks.” (via Virtualization Daily) […]
Trackback by le casino en ligne français on 9 January 2008:
mp3 nextel ringtones…
Juste arabic download free ringtones card credit interest list low…
Trackback by christian free music ringtones on 14 January 2008:
download free gospel ringtones…
Two 24 theme ringtones totally free cell phone ringtones…