Skip to content
February 9, 2015 / ftth

Public virtual appliance repositories: who has the largest community ?

If you are an SME sysadmin or just wanting to host your own services, then you may wish to “click and run” stuff in order to test it. While installing and running an Android app is quite straightforward, that’s really not the case for Open Source web services (like wordpress, wikis, LDAP server, owncloud, gitlab, …) that are needed to power a small business. And that’s a pretty big deal if you are reluctant to relying solely on free/public cloud services like Dropbox.

The focus of this article is not really to discuss which is the better technology among the plethora of existing virtualization bits and pieces (Eucalyptus / amazon AWS / libvirt / LXC / OpenVZ / Xen / Parallels / CloudStack / …) but rather which solutions go beyond, by offering a collection of publicly available, ready-to-use images; in the end, i believe that’s what this is all about for SMEs: if you are looking for ready-to-deploy templates/recipes/images, then it means that you are not really into sysadmin or don’t have time for this, except for your core business (e.g. your product). And deploying some new tool with highly insecure development-level options (no web frontend, sqlite database, …) will make it hard to migrate it into production — in the case your user actually liked the tool you deployed “just for testing”. As such, it makes sense to deploy something a little bit more ready to use in production.

The ideal tool is a virtualization host platform, with a web-based user interface, that offers an integrated click-and-run experience directly from within the GUI.

The contenders

At the time of evaluating available solutions, we (very briefly) looked at the VMWare Exchange marketplace, which offers what we were dreaming of: a virtual appliance marketplace. However, the prices of VMware and lack of paravirtualization pushed us away to consider Proxmox (see full or para- virtualization compared to virtual containers).

In our office, we have been running quite a large number of internal services working on the very powerful Proxmox virtualization server since a few years, that fortunately includes the turnkeylinux.org templates repository (more about that later).

More recently, Docker came in, which tackles a similar problem with a different, more atomic approach, by running inside isolated containers as well, but without requiring a full system image; this is a more devops/cloud oriented approach that provides a publicly-available “appliance” marketplace.

A surprising new contender is actually Synology, which offers Add-on packages, as well as a community addons website; that’s a pretty clever move, since many SMEs and individuals do buy their cost-effective NASes. This allows to run e.g. a wordpress blog with a click-and-run experience. Although this is a sub-professional product (many packages are in fact end-user / mass market products like multimedia services), i’m pretty much convinced that a huge number of these devices are actually swarming in many places, possibly becoming the biggest self-hosting platform in the coming years.

Virtual appliances providers

Even if they are not providing the host virtualization platform itself, a few players exist that provide cross-virtualization compatible images, ready to use. They are a needed partner for the host virtualization platforms to provide a large panel of ready-made “recipes”.

The two virtual appliance providers i know of are turnkeylinux.org and bitnami.com. They both focus on building a unified framework that generates virtual appliances for at least VMware and the major cloud providers (e.g. Amazon AWS).

Proxmox VE

While based on the quite venerable OpenVZ technology (from the company Parallels), which requires running a patched kernel (and obviously outdated, 2.6.32-29-pve at the time of writing), proxmox had the very good initiative of integrating with turnkeylinux.org; this means that from the management web interface, you get to import templates directly from the turnkeylinux.org website.

That way, you can download and run any (supported) software nearly instantly, without tinkering too much with the boring sysadmin stuff — not to say that sysadmin stuff is boring per se, but that it is overkill when you just want to test/try something. Proxmox / turnkeylinux do the job very nicely, but not much activity is coming lately (the last Proxmox VE version was made available on 15 sept. 2014, and the turnkeylinux guys are pretty much silent as well, with latest commit activity around July 2014). Also, a relative downside is that you need to download a complete filesystem image, which reduces the advantages of container technology — you end up duplicating the same stuff all over again.

turnkey-templates

Popularity contest

Here is a Google Trends capture showing that Docker is clearly taking a large bite at VMware and skyrocketing :

proxmox_vs_docker_vs_vmware

Obviously, this graph is mostly rewarding the PR departments of the two big players (WMware lists around 15k persons on linkedin, Synology 214 — popularity boosted by it’s mass-market products — while Docker is “only” 74 people, Bitnami 26 and i believe that turnkeylinux are ~2 people).

Templates: the numbers

But how do these solutions compare in terms of available ready-made images/templates for the click-and-run experience that we are looking for ?

  • by looking at the turnkeylinux github  repository, around 120 official appliances are available; after using quite a number of these, i can tell that they do work pretty nicely
  • even if the Docker registry home page title claims “Use one of the 14000+ Dockerized apps to jump-start your next project”, the actual official images repository is only around 60 appliances available, and there is apparently no way to dump/count the total amount of public apps anywhere
  • the WMware virtual appliances marketplace boasts a highly impressive count of 1900+ ready-made virtual machine images ; a closer look reveals that a large chunk (1270) are automatically generated (and mostly outdated) images from bitnami “stacks” from (counts 104 actual Open Source products); funnily enough, the turnkeylinux appliances also end up in this huge list
  • The synology app list contains 75 official packages, and the community repository 67, which rises the bar to an impressive 140+ apps
  • the official LXC git shows 17 templates which are very generic templates

An example app: Owncloud

A fast-deploying webservice that you may want to host yourself is the awesome Owncloud “open source Dropbox clone” (and more). Let’s compare how our contenders do regarding to Owncloud:

  • docker search owncloud | wc gives out 26 variants (!!!)
  • turnkeylinux has an owncloud app image
  • the vmware marketplace returns around 18 variants, most of them outdated stacks from bitnami (and including the turnkeylinux one)

The missing pieces

Surprisingly, nobody started any LXC-based community template sharing yet. This should be the actual OpenVZ-killer, since this is now mainline kernel.

To wrap it up

We can only salute the transparency of the Proxmox/turnkeylinux.org combo, which displays actual numbers boldly and provide an actual end-to-end product with a nice user interface; i hope that the lack of updates is only the sign of good things to come: they do an incredible amount of nice work with very limited resources, and wish them luck. Unfortunately, OpenVZ technology seems to be declining, even if Parallels just announced the merging of OpenVZ and Parallels Cloud Server into a single common open source code base; this means that Proxmox will not run on very modern hardware, therefore it’s future is quite uncertain (at least on the OpenVZ front). It looks like it’s too late for making a U-turn, especially because apparently bitnami dropped support for Parallels some time ago (otherwise, it would have boosted the amount of available software). I hope that Proxmox will consider integrating other sources of images directly into their web management interface (from Docker or the VMware marketplace ?) and implement LXC support to replace the aging OpenVZ.

Docker has generated a lot of noise lately, but it’s probably not meant for click-and-use service deployment (rather, for type-and-deploy). Not being an expert here, i am very much interested if an easy-to-use web frontend exists with integrated click-and-launch features (like the apparently experimental panamax.io which offers 18 templates). Interestingly, systemd 219 will add support for downloading Docker images directly in a new tool called systemd-import; this adds to the recognition of Docker as “most popular container solution used today”.

Synology is suprisingly fast, but it’s not virtualization, which excludes it from this roundup; however, should they add proper LXC based virtualization, and they may well become a fast-growing contender: there are a lot of their devices out there, and their current system supports an update mecanism already.

VMware is the no-surprise dominant marketplace and probable de-facto standard; their virtualization is the biggest worldwide deployment (~50% market share in 2014); however, the GUI integration directly within the control user interface is pretty minimalistic (to say the least) and does not really allow for the pure “click and run” experience. It is however no surprise that Owncloud themselves provide an official VMWare image as main commercial platform.

vmware

Clicking on the “Download a Virtual Appliance” does supposedly open up a web browser on the VMware marketplace website (but on my system, it opened a text editor containing the HTML of the page…).

Bitnami is a very impressive player, because they generate native installers on top of VMware and push-to-cloud integrations, which should provide the company with enough money to run and maintain the large quantity of stacks they are providing. They even announced a Docker compatibility layer recently, so that’s definetly a company to watch. We’re however still to see a user-friendly UI integration into an actual virtualization management interface. Also, bitnami is currently not open to contributions (in the contrary to turnkeylinux), nor Open Source.

Setting VMWare aside, i believe there no clear winner here just yet: a clear winner would be the standard, de-facto format, that any serious web-based project would deliver it’s product on. As far as i know, the only standard out there for Open Source products is still the source code itself (or installer), either in the form of a tar.gz archive (old-shoold) or git branches (github).

Getting back at a simple click-and-deploy all-in-one solution, a github-based LXC image community together with a nice web-based frontend (like lxc-webpanel) could serve this purpose quite elegantly — as long as the community picks it up; the value resides not only in the underlying technology, but in the metadata, and the community that powers it.

If you know of any other sources of ready-to-use appliances that are integrated into a privatly deployable virtualization solution, please do tell !

Edit 29.04.2015: since writing this article, i found out about DigitalOcean (20 templates), Yunohost (20 apps), Sandstorm.io (30 apps), Ubos (9 apps).

Also, Google announced Cloud Launcher (130 templates, both VMs and containers, most provided by Bitnami, only 18 by Google); looking into the Amazon AWS marketplace shows 281 Bitnami provided solutions out of over 2000 products. AWS or Google Cloud Launcher cannot be included in this roundup which focuses on privately deployable (self-hosted) solutions, but demonstrates that the public cloud integration is probably the fuel that can fund the development and support of self-hosting solutions.

Advertisements

7 Comments

Leave a Comment
  1. Pierre Ozoux / Apr 17 2015 5:24 pm

    And if you need help to leave wp.com, please let me know 🙂

  2. Jeremy Davis / Apr 21 2016 2:20 am

    Very late to the party… Apologies on a bit of a necro post, but I would really like to give you an update from TurnKey Linux. Actually perhaps an updated version of this post could be a good thing? If you would like any comment from TurnKey and/or clarification of any points please do not hesitate to drop me a line (jeremy AT turnkeylinux.org).

    As a ProxmoxVE user you are probably already aware that as of v4, PVE now uses LXC. We have updated (LXC based) appliances available from within the PVE v4.x UI (as per this post). They are also backwards compatible with OpenVZ/PVEv3.x but we chose to not provide them directly within the UI as we haven’t extensively tested them and don’t plan to support them (beyond community level) running under OVZ.

    As of around the time of this post we are now 3 full time (I’m a long time community volunteer but now on the payroll). In the last 6 months we have added a couple of regular freelancers (which we are in the process of making full/part time). We also continue to have a small but dynamic and committed core of community memebers that make significant contributions.

    TurnKey has just released v14.1 (an update to our v14.0 release from late last year) and you can see that in the last 12-18mths there has been an explosion of development including many new contributors. Our repos are very much alive and well with a massive amount of recent and generally regular commits! 🙂

    FWIW we also provide Docker containers although we create them in a somewhat hacky way so they contain a full OS and don’t really leverage Docker in the way it was intended. We do have plans to address that in the future but it’s not a high priority ATM.

    Also I would like to respectfully disagree with a comment that you made regarding use of containers on Proxmox: “you need to download a complete filesystem image, which reduces the advantages of container technology — you end up duplicating the same stuff all over again.” Whilst factually you are correct; I disagree with the conclusion that you draw. IMO actually it is a blend of the best of both worlds. As containers leverage the host kernel it means that you only have about 5% container resource overhead (vs ~15-25% virtualisation overhead in a “full” VM) but you still have the advantage of a completely separate OS and the advantages that brings. When using headless containers on a headless server that lack of UI resources required make the whole system humm and more than account for some level of redundancy. Besides generally IMO redundancy is considered a good thing! 🙂 FWIW at one point I had about 20 containers running on 7 year old desktop hardware (2.6GHz Core2Duo with 8GB RAM – PVE v3.2) and the whole rig ran very sweet. I have since upgraded hardware but it was actually only because RAM was becoming an issue when I launched new containers (CPU was coping fine).

    Finally we also have a “curated” cloud product called “TurnKey Hub” https://hub.turnkeylinux.org/ which is our (somewhat) commercial offering built on top of AWS (currently where the bulk of our revenue comes from – which allows us to emply more people and make TurnKey better!).

  3. Girish / Sep 10 2016 11:00 pm

    See also Cloudron https://cloudron.io. We offer a complete self-hosting solution to run apps on Cloud servers.

Trackbacks

  1. Public virtual appliance repositories: who has the largest community ? https://fhackts.wordpress.com/2015/02/09/public-virtual-appliance-repositories-docker-vs-turnkeylinux-vs-vmware-which-is-the-largest-community/
  2. Nice post indeed. Some missing projects I have in mind: - yunohost (a great team) - sandstorm - arkos - goclouder - ubos - https://www.tutum.co For the
  3. Docker may just have won the container war | Video/Linux Facts and Hacks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: