Every detail matters, and building great software means taking time to remove the papercuts. Ubuntu has over the past 5 years been refined in many ways to feel amazingly comfortable on the cloud. In the very early days of EC2 growth the Ubuntu team recognised how many developers were enjoying fast access to infrastructure on demand, and we set about polishing up Ubuntu to be amazing on the cloud.

This was a big program of work; the Linux experience had many bad assumptions baked in – everything had been designed to be installed once on a server then left largely untouched for as long as possible, but cloud infrastructure was much more dynamic than that.

We encouraged our team to use the cloud as much as possible, which made the work practical and motivated people to get it right themselves. If you want to catch all the little scratchy bits, make it part of your everyday workflow. Today, we have added OpenStack clouds to the mix, as well as the major public clouds. Cloud vendors have taken diverse approaches to IAAS so we find ourselves encouraging developers to use all of them to get a holistic view, and also to address any cloud-specific issues that arise. But the key point is – if it’s great for us, that’s a good start on making it great for everybody.

Then we set about interviewing cloud users and engaging people who were deep into cloud infrastructure to advise on what they needed. We spent a lot of time immersing ourselves in the IAAS experience through the eyes of cloud users – startups and industrial titans, universities and mid-sized, everyday companies. We engaged the largest and fastest-moving cloud users like Netflix, who have said they enjoy Ubuntu as a platform on the cloud. And that in turn drove our prioritisation of paper-cuts and significant new features for cloud users.

We also looked at the places people actually spend time developing. Lots of them are on Ubuntu desktops, but Windows and MacOS are popular too, and it takes some care to make it very easy for folks there to have a great devops experience.

All of this is an industrial version of the user experience design process that also powers our work on desktop, tablet and phone – system interfaces and applications. Devops, sysadmins, developers and their managers are humans too, so human-centric design principles are just as important on the infrastructure as they are on consumer electronics and consumer software. Feeling great at the command line, being productive as an operator and a developer, are vital to our community and our ecosystem. We keep all the potency of Linux with the polish of a refined, designed environment.

Along the way we invented and designed a whole raft of key new pieces of Ubuntu. I’ll write about one of them, cloud-init, next. The net effect of that work makes Ubuntu really useful on every cloud. That’s why the majority of developers using IAAS do so on Ubuntu.

2 comments:

  1. Duncan Murray says: (permalink)
    March 31st, 2014 at 6:23 pm

    I don’t understand most of what you’ve written here, as I’m mostly a linux desktop user for typical home-computing tasks (a doctor by my day-job), and I’m aware that it’s probably not the best place to comment here, but I just wanted to say two things :

    1. That I think your vision of the future of computing with unity spanning the mobile/tablet/desktop/car/etc world, with ubuntu stretching up to the cloud, is a very intriguing idea, and I hope it takes off. I would be very interested in an ubuntu phone with a home dock.

    2. I’m currently typing this on ubuntu 14.04 on my wife’s computer. I like much of what unity has to offer (i.e. the finish, the left-sided task bar concept, the titlebar buttons, the fullscreen, the menus) but I simply can’t use it because the lack of a couple features. I don’t understand why I can’t raise a window by holding a file over it (for example to drop the file into a specific part of the application – nor why I can’t change workspaces by dragging files over the workspace switcher – which is necessary if your application is on another workspace. The former of these features I think dates back to win95/98, and both are certainly present on gnome 2, gnome 3 & openbox (which is what I use at present).

    If you’d like to direct me to a more appropriate place to bring this up – please do. I originally asked in the forums, but it seems like the suggestions area for ubuntu doesn’t exist now, and this is not a bug.

    All best, D

  2. edwin says: (permalink)
    March 31st, 2014 at 7:37 pm

    @DuncanMurray, you can file this kind of issues as “feature requests” (just a normal bug report). Nonetheless, I see that a relevant bug report has been filed already:

    https://bugs.launchpad.net/ayatana-design/+bug/607796

    I couldn’t find a report for the workspace equivalent issue. You might want to comment about this on the bug report I linked above or open a new one.