Ladies and gentlemen, the 12.0 release is finally out after nearly 6 months of development and just in time to celebrate TurnKey's 4th anniversary. I'm proud to announce we've more than doubled the size of the TurnKey Linux library, from 45 appliances to over 100!
As usual pushing out the release was much more work than we expected. I'd like to chalk that up to relentless optimism in the face of vulgar practical realities and basic common sense. On the flip side, we now have 100+ appliances of which 60+ are brand spanking new. Lots of good new applications are now supported.
Despite all the hard work, or maybe because of it, working on the release was the most fun I've had in a while.
You look away and then back and suddenly all this new open source stuff is out there, ready for prime time. So many innovations and competing ideas, all this free energy. We feel so privileged to have a front row seat and not just watch it all play out but also be able to play our own small role in showcasing so much high-quality open source work while making it just a bit more accessible to users.
Unlike previous releases this latest release is based on Debian, not Ubuntu. We realize this may upset hardcore Ubuntu fans but if you read on, I'll try to explain below why "defecting" to Debian was the right thing for TurnKey.
- AppEngine: With the addition of Go, we decided to split the Google App Engine SDK appliance into 3 separate language specific appliances (appengine-go, appengine-java and appengine-python).
- Joomla16: 1.6 has reached end-of-life, and has been replaced with the Joomla 2.5 appliance.
- EC2SDK: Insufficient amount of interest to warrant maintenance, especially now that the TurnKey Hub exists.
- Zimbra and OpenBravo: Will be re-introduced once TurnKey supports 64bit architectures. Sorry folks. We're still working on that.
Changes common to all TurnKey appliances - the TurnKey Core
As most of you know TurnKey Core is the base appliance on top of which all other TurnKey appliances are built and includes all the standard goodies.
Most of the ingredients Core is built out of comes directly from the Debian package repositories. Thanks to the quality of packaging refreshing these is usually very easy. A handful (e.g., webmin, shellinabox) we have to package ourselves directly from upstream because they're not in Debian. That takes more work, but still usually not a big deal.
Then there are the parts of TurnKey we developed ourselves from scratch. They're our babies and giving them the love they need usually involves more work than all the other maintenance upgrades put together. The largest of these components is TKLBAM - AKA the TurnKey Linux Backup and Migration system.
Version 1.2 of TKLBAM which went into the release received a round of much needed improvements.
- Resume support allows you to easily recover and continue aborted backup sessions.
- Multipart parallel S3 uploads dramatically speed up how long it takes to upload backup archives to the cloud. Dial this up high enough and you can typically fully saturate your network connection.
- Added embedded squid download cache to make it easier to retry failed restores (especially large multi-GB restores!) without resorting to suicide.
- Fixed the annoying MySQL max_packet issue that made it unnecessarily difficult to restore large tables.
In a bid to open up development to the community we've also tried to make TKLBAM more developer friendly by making its internals easier to explore via the "internals" command. We've also put the project up on GitHub. For a bit more detail, read the full the release notes for TKLAM 1.2.
TurnKey 12.0 appliances available in 7 delicious flavors
- ISO: Our bread and butter image format. Can be burned on a CD and run almost anywhere - including bare metal or any supported virtualization platform.
- Amazon EC2: 1,414 Amazon EC2 optimized builds, spanning the globe in all 7 regions, in both S3 and EBS backed flavors. The Hub has been updated and all images are available for immediate deployment.
- VMDK / OVF: For those of you who like a slice of virtual in your lemonade, we've got VMDK and OVF optimized builds for you too.
- OpenStack: The new kid on the block, OpenStack optimized builds are just a download away, get 'em while they're hot. Oh, and don't forget that these builds require a special initrd.
- OpenVZ : Is OpenVZ your sweet tooth? Step right up! Using Proxmox VE? The TurnKey PVE channel has been updated as well for inline download and deployment right from your web browser.
- Xen: And who can forget about our favorite steady rock, optimized builds for Xen based hosting providers are at your fingertips.
Want just one appliance? Follow the download links on the site to download any image in any flavor individually from SourceForge.
Want to collect them all? Thanks to the good people manning TurnKey's mirror network, you can now get all the images in a particular image format (about 20 GB) or even the whole 120 GB enchilada.
- 7 build formats
- 606 downloadable virtual appliance images (120 GB worth)
Ubuntu vs Debian: the heart says Ubuntu, but the brains says Debian
One of the hardest things we had to do for this release was choose between Ubuntu and Debian. We initially planned on doing both. Then eventually we realized that would nearly double the amount of testing we had to do - a major bottleneck when you're doing a 100+ appliances.
Think about it. At this scale every one hour worth of extra testing and bugfixing translates into about 2-3 weeks of extra manwork. And to what ends? We already had way too much work to do, and the release kept getting pushed back, again and again, did it really matter whether we supported both of them like we originally intended? Would it really provide enough extra value to users to warrant the cost? They were after all quite similar...
In the end, choosing to switch over to Debian and abandon Ubuntu support for now was hard emotionally but easy on a purely rational, technical basis:
Ubuntu supports less than 25% of available packages with security updates
Remember that TurnKey is configured to auto-install security updates on a daily basis.
This may sound dangerous to users coming from other operating systems but in practice works greats, because security updates in the Debian world are carefully back-ported to the current package version so that nothing changes besides the security fix.
Unfortunately, if you're using Ubuntu there's a snag because Ubuntu only officially supports packages in its "main" repository section with security updates. Less than 25% of packages are included in the "main" repository section. The rest go into the unsupported "universe" and "multiverse".
So if an Ubuntu based TurnKey appliance needs to use any of the nearly 30,000 packages that Ubuntu doesn't officially support, those packages don't get updates when security issues are revealed. That means users may get exposed to significantly more risk than with an equivalent Debian based TurnKey appliance.
While Ubuntu are continually adding packages to its main repository, they can't keep pace with the rate of packages being added to Debian by thousands of Debian Developers. In fact, with each release the gap is growing ever wider so that an increasingly smaller percentage of packages are getting into main. For example, between Debian 6.0 (Squeeze) and the upcoming Debian 7.0 (Wheezy) release 8000 packages were added. In a comparable amount of time, between Ubuntu 10.04 (Lucid) and Ubuntu 12.04 only 1300 packages were added to main.
Debian releases are much more bug-free and stable
Stability wise, there's no comparison. Even the Ubuntu Long Term Support releases that come out every two years have serious bugs that would have held up a Debian release.
Fundamentally this is due to the differences in priorities that drive the release process.
Debian prioritizes technical correctness and stability. Releases are rock solid because they only happen when all of the release critical issues have been weeded out.
By contrast, Ubuntu prioritizes the latest and greatest on a fixed schedule. It's forked off periodically from the Debian unstable version, also known as "sid" - the toy story kid that will break your toys. It then gets released on a fixed pre-determined date.
There's no magic involved that makes Ubuntu suddenly bug-free by its intended release date compared with the version of Debian it was forked from. Ubuntu has a relatively small development team compared with Debian's thousands of developers. I think they're doing an amazing job with what they have but they can't perform miracles. That's not how software development works.
So Debian is "done" when its done. Ubuntu is "done" when the clock runs out.
Ubuntu's commercial support is not available for TurnKey anyhow
Part of the original rational for building TurnKey on Ubuntu was Canonical's commercial support services. We theorized many higher-end business type users wouldn't be allowed to use a solution that didn't have strong commercial support backing.
But 4 years passed, and despite talks with many very nice high level people at Canonical, nothing happened on the ground, except that one time Alon was invited to participate in an Ubuntu Developer Summit.
We realized if we wanted to offer commercial support for TurnKey we'd have to offer it ourselves and in that case it would be easier to support Debian based solutions than Ubuntu.
Those were the main reasons for switching to Debian. Most of the people we talked to who cared about the issue one way or another preferred Debian for the same reasons, as did the majority of the 3000 people who participated in our website survey.
Don't get me wrong. Despite all the mud that has been slung at Ubuntu recently we still have a huge amount of respect for Ubuntu and even greater respect for the Ubuntu community. Sure, mistakes have been made, we're all only human after all, but let's not forget how much Ubuntu has done for the open source community.
Also, just because we don't have the resources to support Ubuntu versions of all TurnKey appliances right now doesn't mean we've ruled that out for the future. It's all about using the right tool for the job. If for some use cases (e.g., the desktop) that turns out to be Ubuntu, we'll use Ubuntu.
How to upgrade existing appliances to TurnKey 12
Simple: Just use TKLBAM to create a backup of an existing older version and then restore it on TurnKey 12.
TKLBAM only backs up files that have changed since the default installation. That means if you changed a configuration file on TurnKey 11.3 that configuration file will be backed up and re-applied when you restore to TurnKey 12.
What's next: opening up TurnKey, more developers = more appliances
To those inevitable number of you who will be disappointed that a favorite application hasn't made it into this release, please be patient, we're working within very tight resource constraints. I'll admit it's our own damn fault. We realized about a couple of years too late we haven't been open enough in the way we've been developing TurnKey.
Better late than never though. We're working very hard to fix this. Much of the work we've been doing over the last year has been to clean up and upgrade our development infrastructure so we can open it up fully to the community (and support additional architectures such as amd64!).
Soon anyone will be able to build TurnKey appliances from scratch using the same tools the core development team is using. We're working on this because it's the right thing to do as an open source project. We're also hoping it will help more people from the open source community contribute to TurnKey as equal members and lift the labor bottleneck that is preventing us from scaling from 100+ to a 1000+ TurnKey appliances.
Many, many thanks to...
Jeremy Davis, Adrian Moya, Basil Kurian, Rik Goldman (and his students), L.Arnold, John Carver, and Chris Musty. These guys submitted many TKLPatches that made it into this release, and even more importantly kept the community alive while we dropped off the face off the earth to focus on development.
Their dedication and generosity have been an inspiration. We'd like the community to get to know them better so we'll soon be publishing interviews with them on the blog. Stay tuned.
Jeremy Davis AKA "The JedMeister": TurnKey forum moderator and all around super great guy. Jeremy is such an important part of what makes the TurnKey community tick I figured I should thank him at least twice. For emphasis. :)
The many rivers of upstream: Debian, Ubuntu and all of the wonderful open source communities who give love and write code for the software that goes into TurnKey.
Everyone else who helped test the 12.0 release candidate and provided ideas and feedback.
TurnKey users everywhere. Without you, TurnKey's audience, there really wouldn't be a point.