It’s the app that provides the “business value”. The Operating System is just a necessary evil to provide the supporting infrastructure. It’s an utterly captivating and absorbing evil necessity and it keeps a whole load of us in employment, provides us with hobbies, conversation, argument and obsession, but it’s still really just a necessity.
Over the years though, operating systems, especially enterprise focussed servers, have had bits and pieces added to provide the core IT infrastructure. For example DNS services, directory services such as Active Directory, IP management like DHCP and so on. And over the years, the definition of “core infrastructure” has changed. Today, many people think of email and collaboration as “core infrastructure”. But if we just think of what the Operating System itself is providing – perhaps that’s an adequate working description of what core infrastructure is. I know, in reality, services like DNS, AD, DHCP etc are in fact apps on top of the OS, but let’s stick with it for a while.
The job of the OS is to provide an easy-to-use abstraction between the hardware and the application. But there’s an increasingly loud mantra out there that says “The Cloud is the new Computer”. If that’s true, then the OS running the cloud apps is the new OS. But what we see is a wide range of operating systems being used to run a whole range of applications.
Obviously from a development point of view it matters a lot. For a Windows developer to switch overnight to Linux, or vice-versa would involve an immediate dip in productivity for a while. But what moved different folks in to different operating system camps in the first place? Things like scalability, reliability, security, cost. And yet, as we see large public cloud operators growing more and more important – those operational aspects of running systems are being covered more by the cloud operators themselves. PaaS providers like Microsoft and Google do all the micro-management of servers: patching, service packs, security fixes, fault management, workload management. Even the thing that divided the open-source world from the commercial software world – cost - is becoming a moot issue. There is still a difference but it’s small. Between a Windows Server and a Linux Server running in Windows Azure at the low end: it’s $0.00, and even at the high end is only 32 cents per hour. So with things like scalability, reliability, security and cost almost removed from the equation, it now comes down to things like preferred languages, frameworks and platforms. And those things are usually informed by familiarity. Somebody who’s been coding in Java for ten years in unlikely to want to suddenly switch to something else. But even those things are becoming moot. The choice of languages increases every day. Take the 2 most popular PaaS services in Azure – Cloud Services and Websites. You can code in .NET, Java, Node.js, PHP, Python and Ruby with more to come. Google offers Java and Python and have made commitments to increase that list in the future. Amazon is developing its PaaS offerings and will start to offer a range of languages as we move forward.
And with PaaS services like that, it’s almost irrelevant what the underlying operating system is. The abstraction will only grow as time advances. So I’m rapidly coming to the conclusion that the cloud is the new computer and that we’ll end up choosing it based on what we like or dislike about the ready-made services the cloud operator has to offer. But there are 2 places where operating system choice is important. Personal devices such as desktops, tablets, laptops and mobile devices – and on-premises-server-infrastructure.
The devices we choose to use and interact with are as much a personal statement about who we are and what appeals to us as individuals as it is about being an efficient platform for apps.
The server infrastructure we deploy to manage our corporate networks, security, access, users and give a seamless experience is a measure of how efficiently we can live up to the SLAs we give our businesses. That ends up being an important choice. But of course the more apps that move to the cloud, the more we consume ready-made, off-the-shelf apps straight from the Internet (such as Salesforce, Dynamics CRM or Office 365) then the less we need to rely on internal infrastructure. I can’t see printers ever living in cloud datacentres. I can’t see the actual devices we use personally ever living in cloud datacentres, that’s just not practical. But I can see entire desktop experiences delivered from cloud datacentres to users who happen to use whatever device they like or is handy to use at that time. The whole notion of desktop management is going to become the endeavour of managing virtual desktops in datacentres other than the ones we own and operate ourselves. We’re going to be managing/configuring cloud-service operators’ hardware and software to give us what we need.
Even Canonical’s founder Mike Shuttleworth seems to agree with me. Listen to his podcast about Linux at 38:00.
The Cloud is the new Computer.
Planky == @plankytronixx