Ubuntu is the OS for the Cloud, and here’s why…

Over the last few days, I felt the compelling need to explain why I think Ubuntu is the best operating system for the cloud. In my mind, it comes down to three key differentiators that I think benefit both users and the overall advancement of the cloud.

1: Ubuntu Supports the Latest Technologies

Cloud computing and the technologies surrounding it are advancing at an absolutely incredible pace of innovation.  Consider how fast OpenStack has matured in the last year, the recent explosion of Hadoop solutions, and the entire movement around Open Computing.  Legacy “enterprise” Linux solutions simply cannot keep up given their existing release processes.  Users of the cloud and other scale-out technologies can’t afford to wait years for the next supported release to come, especially when that release is destined to be out-of-date the day of release, due to the slow-moving technology transition model utilized by the distribution provider, i.e. opensource project foo releases at time A, then it gets into the “community” version of the release at time B six or more months later, then it *might* get put into the enterprise version at a much later time (years) C.

If you ask these legacy distributions why they move so slow, they’ll undoubtedly say it’s because they are aligning with the hardware release cycles of most server OEMs, which is absolutely true. This is why I’m so excited by the Open Compute Project and it’s potential to reduce what Andreas “Andy” Bechtolsheim recently called gratuitous differentiation in a keynote discussion at this year’s Open Compute Summit in NYC.  In short, most OEMs have traditionally introduced features that are more about customer lock-in, than really answering their customer’s needs, e.g. releasing a new blade, that requires a new bladecenter, that won’t work with the older model nor work in another OEMs bladecenter…or even worse, having special server racks to match their servers, that won’t work with anyone elses…insane! The only benefit I’ve seen from gratuitous server technology differentiation is that it’s probably a big reason why so many businesses have jumped to the cloud…where they don’t have to worry about this stuff anymore. Hopefully, we can avoid having different APIs and custom Linux distributions by each cloud service provider, as I feel these are just more attempts at customer lock-in, and don’t really provide that much value to the users themselves.

Legacy Linux distributions also like to tout their ABI compatibility, that they enforce for the benefit of their customers and ISV partners. The logic is that by guaranteeing ABI at the kernel and plumbing layer throughout a given release and its updates, ISVs and their customers are assured that their applications (assuming they don’t change) will work for the life of the release. Besides again fitting to the slow-paced legacy OEM server release model, this makes perfect sense in a legacy server software world too. An ISV can build a release once, and then issue fixes thereafter, until the next major release in a year or so. As we move toward a faster-paced, continuous integration, scale-out computing world, ABI compatibility becomes more of a hinderance than advantage for users. The rate of innovation is now so fast, that even packaging certain webscale applications is frowned upon by the upstreams that provide them because they don’t want their user’s experience limited to a distributions release cycle. Also, it becomes difficult, to sometimes impossible, for most of the legacy Linux distributions to introduce new hardware architectures, i.e. ARM server support, post release. Server OEMs are forced to either go through the pain of backporting huge amounts of code into a forked kernel (that receives little outside testing), slip out their own hardware roadmaps to match the distribution release cycle, or try to convince (usually with money) the legacy Linux distributor to issue some “special” release to accommodate them.

Canonical’s Ubuntu Support Model is Scale-out Friendly

Ubuntu is free, and Canonical has made the promise that it always will be. By free, we mean no license fees or paid subscriptions to receive updates. Around 10 years ago when the first legacy Linux distributions were coming about, the movement to a subscription-based model was seen as a revolutionary change in the software business. Instead of charging licenses at a per user base, which was the accepted model for operating systems and software as a whole at the time (in addition to support contracts), these companies had the ingenious approach of giving away the software, and creating an updates subscription model. Realizing that software requires updates, and that most (but not all) users will want them, they created a system that allowed them dependable, consistent revenue per installation, while giving customers the freedom to have as many users on the system they needed, as well as machines that simply sit and do their job, never needing an update (think mail or DNS server). Later on, they partnered with server OEMs and brilliantly started to differentiate these subscription costs based on the architectures and cpu cores of the hardware…learning tricks the OEMs had played with their own proprietary operating systems of the day.

The subscription + support model has done well…extremely well over the past decade, but in the cloud…in scale-out computing, the model begins to hurt…extremely in some cases. One of the main benefits of cloud computing is the ability to scale on demand. A given deployment can have a guest instance count in the low 10s for 6 months, but then need to scale out to the 100s or 1000s for another 4, returning back to original levels after peak demand has subsided, e.g. demands on online retail infrastructure increase dramatically during the holidays and then subside soon after. For a subscription-based model, these means customers must budget for an increase in fees to account for the scaling, and if they underestimate, their own profits are impacted because of it. Furthermore, making someone pay for fixes and security updates just seems wrong to me…what if Google or Mozilla started charging people for fixes and security updates for their web browsers…people would lose their minds. Finally, because applications (especially scale-out/webscale ones) are innovating so fast now…adopting new development methodologies like continuous integration, it’s unthinkable that someone would deploy software and never want the updates. Charging someone for fixes and updates is now as archaic as charging them for the number of users.

The service model is the next evolutionary step, away from the subscription model. It recognizes that a Linux distributors real value to the customer is the expertise they have from producing the distribution, having the upstream relationships, and knowing the integrated technologies, inside and out. Thus, the business model is built around the support and services they are able to provide because of their unique position, not the bug fixes and security updates that users should expect to get for the same cost as they received the original software…free.

Ubuntu’s Release Process is Dependable and Transparent

To the average consumer, I suspect the Ubuntu release cadence is not much more than a nice thing to have. There’s no need to speculate on when the next release is, or what it will have, because we plan transparently. While we always deliver on a 6 month cadence, users aren’t forced to upgrade that often, as we support each release for 18 months…and up to 5 years for the LTS that comes every 2 years. And yet, despite having such a predictable release cycle, we still manage to generate more growing excitement for each one (personally that’s just amazing to me).

Now if you’re someone deploying a private cloud, a solution into a cloud, or even releasing hardware focused at the cloud, the cadence becomes less of a “nice thing” and more of a necessity. Whether your planning a hardware or software release, being able to depend on an operating system release schedule not slipping is a huge benefit and relief. There are enough internal moving parts to any significant software or hardware release project, then add the rapid pace of cloud innovation, and no one wants to then worry that your entire business plan can be jeopardized by the OS vendor slipping out their release schedule…to accommodate a partner, possibly even your direct competitor.

A dependable, transparent release process not only provides peace of mind, it allows for the best possible collaboration. Transparency allows users, partners, and upstreams alike, to observe and influence the direction of each Ubuntu release. There’s no waiting for the first pre-release ISO to see if your feature made it in, or if this next ISO will boots on your new hardware, because you can track every bug and feature work item. As part of our transparent and dependable process, we produce pre-release Ubuntu ISOs and cloud images daily. While each daily isn’t guaranteed to be installable, bootable, or tested to the level of an alpha or beta release, it’s usually good enough to give users and partners something to sniff out and provide feedback on…giving them confidence their cloud solution that depends on our OS won’t be in jeopardy at release. You won’t find this with legacy Linux distributions…not even their closest business partners get this level of access.

We’re Not Perfect…

As I’ve said in the past, Canonical’s investment in Ubuntu Server is focused on cloud computing. So to be clear – While we have a tremendous community to look after the quality of support for traditional server workloads and a solid inheritance of dependability and stability from Debian, I would be lying to you if I said Ubuntu is the best choice for every type of server deployment. Hell, I challenge anyone to name one operating system that really is. All I’m saying is that Ubuntu is the best operating system for cloud computing….and Canonical will continue to focus our innovation to ensure it stays that way.

Advertisements

About Robbie

I live in the awesome city of Austin, TX and work for Canonical, sponsors of the best damn operating system in the world...Ubuntu.

Posted on October 30, 2011, in Ubuntu and tagged , . Bookmark the permalink. 9 Comments.

  1. The OS for the Cloud? No thanks. I like my local files: safe, easy to manage, require no expensive internet connections, and are generally more reliable and private.
    If Ubuntu shifts to the fad that is the cloud, I don’t want it.

    Maybe that might work with the enterprise that is so obsessed about the latest buzzwords, but there is already plenty of examples of why the cloud is doomed to fail.

  2. Robbie,

    there is nothing wrong to be targeted at “The Cloud”.
    But what is the cloud really?

    ISPs like Amazon? RackSpace?

    Who is pushing its infrastructure to Amazon or Rackspace completly?

    I don’t want to frighten people, but we have here in Europe the discussion if it’s reasonable to push data into “The Cloud”, and many people are afraid of the US Government who are able to spy on Europe companies when they are deploying their data or systems on a system which is driven by an american company.

    So, what’s really important is to enable enterprises in all areas to deploy their own private cloud system, which eventually helps companies to save money.

    Focusing only on third party cloud sellers is not a good decision.

    Sadly, most of your software stacks are not really able to deploy a lot of bare metal machines, and what you always forget (that’s what I wrote as a comment on Ahmeds post on G+ https://plus.google.com/112582876208174295698/posts) that it’s not that easy to do secure deployments and software rollouts. You have to tell the world that it needs smart admins who are able to write recipes or charms or whatever you call it.

    It’s not a matter of time, it’s a matter of quality.

    And this is what I’m missing here.

  3. Robbie: in your first point, you seem to compare all releases of Ubuntu (ie, not just LTS ones) to what you call legacy “enterprise” Linux distros.

    If we only consider LTS, then the latest technologies argument doesn’t work 😉

    If you don’t consider LTS specifically, then why not compare with other community distributions (Debian, Fedora, openSUSE, for instance)? That would seem more appropriate.

  4. Vincent,

    The regular releases of Ubuntu are not directly comparable to Fedora or openSUSE, in one important aspect. The corporate sponsor for those other two “community” distributions does not offer support services. Whereas, Canonical _does_ offer support for the non-LTS releases.

    Robbie, like most Canonical employees, does a really bad job here of trying to talk about the value of Canonical’s products (its support services) by spending an inordinate amount of time talking the qualities of Ubuntu. I
    Ubuntu is not structured as a product.

    Read what he wrote again about the evolution from subscription model to service model. None of that has anything to do with Ubuntu as a project. It has everything to do with Canonical as a business entity. Ubuntu as a deliverable is essentially a loss leader for Canonical. The money spent on Ubuntu is meant to come back in revenue dollars in the form of some sort of support. But that’s not happening. And it won’t happen until Canonical “employees” do a much better job of articulating the value of the for-pay services Canonical needs customers to value.

    It’s unfortunate that he talks about the “service model” so abstractly. Personally I think he’s failed to really articulate any value that might exist in the “service model”. I see a lot of bad mouthing the subscription model but not a lot of substantive description of what is suppose to replace it.

    Canonical’s pricing for cloud support right now is really out of step with the “elastic” utility pricing we are seeing with cpu and band. Red Hat on the other hand has introduced RHEL payment scheme on EC2 with elastic pricing tied to cpuhour. I simply don’t see how Canonical’s inelastic service pricing strategy really competes with that. Sure lots and lots and lots of people will be running Ubuntu, but a vanishingly small number of those people are going to pay the $16k to Canonical for support..especially when Canonical can’t really articulate what that money buys you. It’s a real problem for their business model in the cloud. Moreover, cloud providers like Rackspace are offering their own for-pay guest instance support (with cpuhour utility pricing) and doing a _much_ better job of talking about the value for money. if your hosting Ubuntu on Rackspace, who are going to purchase support from? Rackspace or Canonical?

    It seems lots of lots of people are making money from Ubuntu in the cloud, almost everyone, _except_ Canonical. Either Canonical needs to get in the black and prove that its earned its special business as corporate shepard of Ubuntu. Or ubuntu as a project needs to find a way to give _profitable_ companies, like Rackspace, more direct authority to support Ubuntu without having to flow money and control through Canonical.

    -jef

  5. Jef, I think you are partially wrong ( and Robbie too ).

    For one, Red Hat and Suse do offer consulting services.
    See http://www.novell.com/consulting/ and http://www.redhat.com/consulting/ .

    Then the whole business of “given product for free and do consulting/training” is nothing new. Couchdb developpers do it, Puppetlabs do it, several company do it. In fact, that’s the usual business model of free software ( and even non free, since Cisco, Oracle, Microsoft also do it ). Even in the distribution world, there is lots of people working together on Debian and doing consulting.

    Now, you are also right on the part about money.

    And that’s also why focusing on services is IMHO a rather unfortunate move, because as you explained, some company will be on the same spot as Canonical and be in competition. Either they will flee to Debian, as i doubt Canonical will let people take their part of the pie without reacting, or Canonical will just lose potential market.

    The whole story about the Ubuntu brand being used for UbuntuOne would be nothing compared to what would happen if Canonical tighten his gripe on Ubuntu to get business and deter competion. Red hat realized that and splitted the brand in 2, Fedora for the community, RHEL for the commercial world. Suse did it too, with SLES and OpenSuse.

    Mandriva didn’t, and I can ensure you it didn’t worked well for them. People didn’t want to contribute due to feeling of working for free for a company, community being damanged by some problem company side, people being confused between the 2 ( and asking for some commercial support from volunteers ), etc. That really didn’t go well.

    One of the biggest migration to Ubuntu in France was the assembly. AFAIK, Canonical got nothing from the deal. the same likely goes for the others planned by the same company. If Canonical decide to change that, they would just go elsewhere for their offering.

  1. Pingback: Ubuntu is the OS for the Cloud, and here's why… « Not Lucky All … | Linux Supersaniya

  2. Pingback: Apple?s Closest Business Partners | Free Apple Test

  3. Pingback: The Power of the Internet « Not Lucky All The Time, But Smart Everyday…

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: