Stephen O’Grady: “In the kind of world that many of us project, one with the cloud a first class platform option, it’s worth asking the question: would operating systems (still) matter?”
I asked a similar question on a panel about operating systems last week at the Linux Foundation Collaboration Summit. As Stephen rightly points out, developer platforms of choice are moving up the stack and have been for some time. If you’re writing an application at the level of Java or PHP, what difference does it make what operating system is running underneath?
Indeed, as fellow Redmonker Michael Coté separately observed, developers tend to have increasingly less allegiance to the operating system than to other platform technologies. If developers affiliate more with platforms like Java or PHP than, say, Linux or Windows, are operating systems becoming largely invisible infrastructure, much as hardware has become largely invisible infrastructure over the past decade? (Think about it: When’s the last time you wrote an application to the processor architecture?)
Sure, with the dominant cloud platforms operating mostly at the level of infrastructure as a service (IaaS), developers do still care about operating systems, at least for now, because they still have to muck around with them (read: they have to ssh into them, understand the differences in system administration and package management between them, etc.). In other words, if a developer is familiar with the process of installing, configuring, and managing their platform of choice on Fedora, they’ll prefer a Fedora environment in the cloud over anything else.
But for many developers, having to muck around with the operating system is a bug, not a feature—which is why platform as a service (PaaS) is such an attractive proposition, assuming concerns about vendor lock in can be addressed (and they will—competition will ensure this). Given the upward movement in developer platforms of choice over the past many years, it seems inevitable that PaaS will surpass IaaS as the industry evolves and standards emerge over time. This will simply accelerate the operating system’s march toward invisibility, for as Stephen also rightly points out, PaaS environments tend to abstract away the underlying OS completely.
So do operating systems still matter? Sure, at least until PaaS gains more steam, and even then they still will to a very large degree—after all, they will always be there whether we see them or not, so they had better work, just like the power plants that deliver electricity to our homes had better work even though we can’t see and more than likely don’t understand what happens at the other end of the wire.
But it’s more than that. They will have to adapt, much as the microprocessor industry has had to adapt—that game is no longer about instruction sets and RISC vs. CISC but about performance, scalability, cost, and breakthroughs like multiple cores and energy efficiency that can be exploited by platforms up the stack. Similarly, operating systems will have to shift focus to the features developers care about, even if they rarely think about OSes. Ever wonder why Sun talks as much if not more about the features of Solaris (ZFS, DTrace, etc.) and how we’ve used those technologies to build other products with unique capabilities (Amber Road, the Sun Cloud Storage Service, etc.) than about the Solaris OS as a whole?
This shift creates opportunity for open source, and particularly for OpenSolaris. Performance, scalability, security, etc. have never been an issue for Solaris, and neither has innovation (I often say that Solaris has innovated more than any other OS in the past five years which even in Linux circles is usually met with grudging agreement). The problem has been developer familiarity—in a world where developers know Linux, will they take the time to learn Solaris, no matter how much better or more innovative its features are? That was the impetus behind Project Indiana—lowering barriers to adoption for Solaris technologies like ZFS and DTrace. The cloud potentially lowers barriers to adoption even further: If you’re a Java or PHP developer, and DTrace is just a feature of the Java or PHP stack, fully integrated with the tools you use to build your applications—i.e., you don’t have to learn Solaris or even know it’s there to take advantage of DTrace—you’d probably consider that compelling, wouldn’t you? The OS is still there, and it still matters, but it plays a very different role.