ebayiwan's picture

Hey Guys,

i just had the idea that in some cases it would be very handy to be able to combine appliances to have one appliace supporting multiple features like a "domain controller and zimbra appliance".

Maybe this would be possible by using a modular structure with a core and additional modules from the available appliance. So you could choose the functions you want and create your " core + domain-controller + zimbra + maybe another additional module appliance ".

This would be especially useful for smaller companies with just a small number of servers.

So what do you think about it?
Would this be something you are interested in implementing?

I know this is not a simple task so let me know if this idea has a chance of being implemented or not.





Jeremy Davis's picture


I have already made a similar suggestion, although not a clear and succinct as yours and initially aimed more at an update/upgrade utility. I think there is definately merit in this idea, even if not as an upgrade facility but as a clean install facility (similar to say how eBox can be configured - either single purpose or comprehensive eBox server).

Another way to acomplish your aim (which is more what I'm gunning for) is a TKL VE (Virtual Environment) or "Master Server" which could either be installed virtually or on hardware which then has the various required TKL appliances (server components) installed within 'containers' (using technology such as OpenVZ or similar). This has a dual-edged appeal as it reduces hardware load associated with multiple VMs and also allows for a modular configuration which gives increased stability and the potential for redundancy. It also allows for developement and trialling of new products & ideas before having to commit your business to them. The other great thing is that if you mess something up completely and corrupt your LAMP webserver (for example) it doesn't bring your whole business to a standstill, only the functions that that individual VM was serving.

I am currently using Proxmox VE which I find brilliant and basically fulfills the "master server" role on my hardware (as defined above). For interests sake the hardware I am using is basically a mid to upper level 3 year old Desktop featuring an Intel Core2Duo (@ 2.13GHz) and 8GB of DDR2 RAM (you could probably buy similar brand new hardware for around $500-$600 currently). Proxmox also includes KVM so can host Windows and other OSs. It's great as a headless server (web based admin - I 'borrowed' my desktop vid card for initial install) and has impressive performance (as it is a minimal Debian install basically designed as a Hypervisor type environment). It is only availabe as x64 and is really intended for install to hardware but I have successfully installed it to both VMWare Server and VirtualBox (under Windows - for testing purposes only). I now have it running on my server as the primary OS, with all my TKL appliances running on top of that - currently 6 TKL VMs (soon to be more! - running in OpenVZ containers - see the wiki page here if that is a path you'd like to try), 1 Win Server 2K3 (under KVM - I hope to get rid of this once I can replicate its full functionality with TKL) and one Ubuntu Desktop (I use this for remote Admin, Log into this then admin all the other VMs using SSH, SFTP, Webmin, etc - This is also running under KVM, will run under OpenVZ when I get around to it).

Hope you find this idea as interesting as I do!


Liraz Siri's picture

I fully agree with JedMeister here. The way forward is not to attempt to merge appliances together but rather figure out how to easily run them as separate, self-contained units inside a virtualization environment. Merging multiple appliances together destroys much of the advantage of running an application as a virtual appliance to begin with.

I really like JedMeister's ideas for developing a "master" server that can easily run pre-bundled TurnKey Linux appliances. I believe there are several ways this could be implemented leveraging existing open source virtualization software such as Proxmox VE, oVirt, Enomaly, Ganeti, Eucalyptus and DTC-Xen. And I probably missed a few.

I think currently the main hurdle is for someone with a bit of time on their hands to experiment with the state of the art and figure out what works best for small-medium sized implementations.

ebayiwan's picture

Hi JedMeister,

thanks for sharing your ideas. I thought about something like this, too, but my aim was not to find a easy to realize solution. It would be possible to do it like this and is at this time the only possibility you have for running multiple appliances on one server.

But even if it's fast there is much redundancy in this solution and for this i wanted to share the idea for maybe something as a possible long term aim for getting TKL even better.

With the modular structure you would still have the possibility to run 2(or more) TKL appliances separately if you want it for security reasons but you would also have the other option.

The dangers that i see is that it could end up in a kind of package system destroying the advantages of TKL. So maybe just providing some "well known to work together" bundled packages is a better idea?

But i find your idea of an upgrade feature very interesting as well, especially with some "Base" TKL appliances like LAMP upgradeable to most CMS and Wiki appliances...

Anyhow TKL is a very interesting and promising project that i think will gain even more importance and maybe grow to a standard solution for some problems in the future.



Jeremy Davis's picture

And go from there! Perhaps TKL PDC? Then add the other functions.

Adding file sharing shouldn't be too involved (as the PDC sort of does that already - or perhaps thats my ignorance and someone can correct me?!) I would think its only a matter of reading up a bit on Samba (the underlaying tech for both PDC and File Server).

Then you would need to install Apache, MySQL and PHP (ie the AMP in LAMP).

From my quick glance at BackInTime is that its basically only a GUI for other functions:

Keep in mind that Back In Time is just a GUI. The real magic is done by rsync (take snapshots and restore), diff (check if something changed) and cp (make hardlinks).

So you are probably looking for something different (for starters TKL doesn't have a GUI to speak of - other than web-based). The Ubuntu Forums would be a good place to search and ask to find something that will suit your needs. There may be some backup software to achieve what you want already or perhaps someone has written a script to do the same as BackInTime in a server environment (which you could then run from cron).

Or perhaps you could read up on bash scripting and write one yourself and share it with us!?

Chaim Krause's picture

IMNSHO having these Meta Appliances goes against the whole philosophy of having appliances in the first place. And, afterall, these Meta Appliances have been around for many years... They are called distros. The whole purpose of these appliances are that they are *role based* and easily set up in a federation with other *role based* appliances. You run a VM/appliance that serves up web pages/apps and you have a seperate appliance that handles mail. In a production environment you don't want the email server to become unavailable when you need to reboot the web server, and visa versa. You don't want to risk shutting down your PDC while you try out some configuration tweak on your wiki.

I think, when it comes to things like TurnKey appliances (and others of a similar ilk) that the old saying applies. "Just because you can, doesn't mean you should."

phil magnuson's picture

Given this philosophy, it would make sense to have a base TurnKey distribution which provides the base VM manager.  You load this distribution on the HW and then put different VM's on top for the functionality you want.  

Is there an existing TurnKey distribution that fills this roll? 



Jeremy Davis's picture

for a desktop type hypervisor, there has also been quite comprehensive discussions on a more server based approach. Have a look at this thread.

In the meantime there are a range of options to fulfill your desire, they're just not TKL. Personally I use ProxmoxVE and am more than happy with it. If your hardware can support it then I highly recommend it. Otherwise another option that I think is worthy of consideration is Eucalyptus/UEC (Ubuntu Enterprise Cloud) - have a read here. I know that TKL devs have a soft spot for this "private cloud" approach as it is compatable with Amazon's EC2 which allows for easier migration of VMs to and from the cloud.

Add new comment