13 Reasons to Deploy With Ubuntu Server
(Part 1 of 3)
Sometimes people ask me why they should use Ubuntu Server. It’s an understandable question, after all, Ubuntu gets a bunch of attention on the desktop (and more recently mobile), but people tend to forget that Ubuntu is an excellent server distribution, quietly humming along helping to run some of the world’s coolest companies at scale.
So I thought I’d document why you should choose Ubuntu for your organization. Paul Hammond from TypeKit has said “No startup has ever failed because they picked the wrong Linux distribution.” TypeKit’s Linux of choice? Ubuntu. Why is that? So I started to think of reasons why you would choose Ubuntu, and to celebrate the release of 13.04, I came up with 13 major reasons you would choose to go with us. Let’s get started, in no particular order! I’ll split this post over the next few days so you can digest it easier, and more importantly, go play with the things I talk about!
OpenStack and the cloud archive
As I said a few weeks ago, shipping a well tested and robust OpenStack is one of our primary missions. We’ve been shipping OpenStack in Ubuntu for over 3 years now, and every cycle we get better at it. We do daily and per commit automated testing of OpenStack. Maybe that’s one of the reasons Ubuntu is the reference OS for OpenStack.
We’re committed to backporting the latest OpenStack releases to Ubuntu 12.04 LTS (Long Term Support). That means if you want the fresh upstream goodness of OpenStack but want a stable platform, you can get that with Ubuntu; no one else is doing anything like this.
How ready is OpenStack and Ubuntu for production? It’s there, and we know that because we’re running OpenStack in production. Moving from a traditional IT setup to “devops” using the cloud is tough, and we’re still in the process of doing it, we learned a bunch of best practices that we’ve shared with the community, see Robbie Williamson’s talk: OpenStack in Production: the Good, the Bad & the Ugly
Ceph is a massively scaleable distributed file system that runs on commodity hardware. And it comes with Ubuntu in main and is fully supported by Canonical and Inktank. Here is the blueprint of the usecases we are enabling out of the box. We’re also working on getting per-commit and daily automated testing of Ceph as well.
I am doing Ceph a disservice by only mentioning it in one paragraph. The sheer capabilities of Ceph and it’s scalability can take up pages, so if you’re looking to get started with Ceph, check out this tutorial from Inktank on how they deploy Ceph with Juju and check it out for yourself.
On the local server front, we provide a provisioning tool called MAAS, which stands for Metal-as-a-Service. MAAS not only provisions bare metal machines for you (on demand), but we like to say it “brings the language of the cloud to physical services”. Sometimes you just want the ability to horizontally scale as demand comes in, and have machines turn on, install the OS, and then get to work, all automatically.
We use MAAS to deploy OpenStack, or you can use MAAS to deploy whatever servers you need, e.g. Hadoop or Ceph, on whatever scale-out hardware you have, e.g. Intel, AMD, or ARM, all programatically. It’s a simple but powerful tool to deliver provisioned servers to you.
Hardware Enablement Stack
Ubuntu provides what we call an LTS Enablement Stack.
Simply stated, we provide newer kernels for the Long Term Support release, that means if you end up with newer hardware that needs newer hardware support you can still use an LTS release and have a stable userspace. The enablement kernels then provide you an upgrade path for the next LTS.
For more tips on how to use these stacks, check out this blog post.
Check out the previous sections if you missed them: