Remember when operating systems mattered? Those halcyon days when Windows and Linux gearheads eviscerated each other in the comments sections of blogs?
Well, it’s time to get over the OS. It doesn’t matter anymore.
This will sound strange to the server-hugging rearguard, but to anyone who has spent time in the cloud, it will feel familiar. Tim Bray, one-time Googler and currently with Amazon Web Services, acknowledges that “way too many people are still configuring operating systems,” but insists that Lambda, inspired by AWS but “now from all the Cloud heavyweights,” has established “the natural unit of computation [as] a function, which runs in response to an ‘event’.”
In short, the cloud is increasingly abstracting away the operating system, allowing developers to focus higher up the stack on applications, not infrastructure. While this sounds like a death knell for Windows-centric Microsoft, the truth is far different.
The natural evolution of cloud
This abstraction of infrastructure was always the goal of cloud computing, but despite an early interest in PaaS, the market settled on IaaS and SaaS as the essential expressions of cloud. IaaS appealed to developers who didn’t want to deal with physical servers, while SaaS won over business decision-makers who didn’t want to bother with IT at all.
PaaS, sandwiched in between, simply didn’t attract either. It was a bridge too far for developers who wanted control over their development environment -- yet it still provided a platform on which to dev, test, and deploy code, not the usual pastimes of businesspeople.
After a few years getting comfortable with IaaS, however, developers are ready to turn over more heavy lifting to the cloud provider. AWS Lambda, for example, allows developers (in the words of the Lambda website) to “upload your code, and Lambda takes care of everything required to run and scale your code with high availability.”
In the words of the folks at ExpeditedSSL, “it’s like if you asked AWS to make you a custom computer whose one and only purpose was to execute your code block.” In the example noted in this link (an image processing application), each Lambda would handle a different function of the overall applications: upload image, resize image, and so on. The developer writes the code to cover these applications and allows AWS Lambda to handle all necessary infrastructure.
Google, IBM, and other clouds have launched their own Lambda equivalents. As more clouds do the same, developers won’t have to think about Windows vs. Ubuntu vs. Red Hat vs. whatever. They'll simply write application code.
Microsoft eats its children
Nor is this merely a “new school” cloud thing. Microsoft, which has printed billions of dollars in profits on the back of its Windows franchise, is also increasingly deprecating Windows in favor of its Azure cloud service. Why? Because it has to, as Mary Jo Foley contends.
Microsoft’s mobile gambit hasn’t paid off, but its march to the cloud has been exceptionally successful. Second only to AWS, Microsoft Azure has attracted hordes of developers -- and not Windows devotees alone. Foley writes, “Microsoft's top brass and Wall Street seemingly are far more focused on the services that attach to Windows and/or are sold on top of Windows than on Windows itself.”
Listen in on a Microsoft earnings call, however, and what comes through clearly is exactly how much the company cares about Microsoft Azure, almost to the exclusion of its legacy Windows world. As Microsoft CEO Satya Nadella noted more than a year ago:
Our application experiences for our cloud endpoints will be native in Windows, and at the same time we'll make sure our services will be available on all endpoints, driving more usage modes of subscription growth. The best way to measure our progress is Office 365 subscription growth, Azure subscription growth, and EMS [Enterprise Mobility Suite] growth.
Commenting on this statement, Mark Hachman explains, “That stance diverges from the traditional view of Windows as the foundation of the Microsoft empire. In Nadella's interpretation, Windows is more like a trellis, supporting Microsoft services as they twine up, around, and through its beams.”
With the company’s increasing OS agnosticism (SQL Server on Linux? No problem!), Microsoft is prepared to make money with a new breed of cloud developer, one who cares more about getting code running than on a religious fixation on an operating system. “Windows developers” are increasingly Azure developers, working within containers and other methods of building code that concern themselves with applications, not infrastructure.
The beginning of the end of the OS
This focus on functions and higher-order programming is “obviously not” the whole story, Bray points out, as “every Lambda I’ve ever looked at is mostly callouts to databases and REST endpoints and messaging APIs.” That said, “they really do mean that you never have to argue Debian vs Red Hat again, and that feels like real progress.”
It is progress, and it's interesting to see Microsoft disrupting itself along with AWS and Google. That, more than anything, suggests that the end of Windows may be the beginning for Microsoft, not its end.