Microsoft Windows Server Seeks a Place at the Table with Kubernetes
Microsoft Windows Server Seeks a Place at the Table with Kubernetes
For 25 years or so, some form of Microsoft windows has been the principal operating system in most of the world’s data centers. And this holds true even today , even as we speak of bold, broad, mathematical ideals such ascontainerization and continuous integration , as though Windows never happened.
Yet amid the many layers of this new stack we like to glorify resides an unavoidable truth: Although the world’s server infrastructure today floats atop a simmering sauce of linux, tucked inside that infrastructure like the filling in a ravioli is a pocket of virtualization. Inside that pocket is a self-contained world of Windows, launching (and crashing) monolithic applications as though Docker were one-half a pair of Levi’s slacks.
So if adopting Windows into your distributed workflow, or la pile nouveau , feels to you like swallowing a foreign object, imagine what how a veteran Windows developer (for example, this poor guy ) must feel to be told that the software architecture of the near future resembles microservices, involves containers, and may be managed with anorchestrator.
That is exactly what’s happening.Un-construction
“I have a monolithic application today. It doesn’t scale to bigger machines. I want to move that to a more cloud-native, adaptable, scalable application model. But how do I do that?” rhetorically asked Taylor Brown , Microsoft’s lead program manager for Windows Containers.
“I’ve got three million lines of code, and I’ve got a business running on them. What containers are enabling dev teams to do is make changes to that application without as much fear of breaking it, so they can start to peel out the layers. We’re calling this the ‘lift/shift/modernize paradigm.’”
It’s a three-stage agenda, the first stage of which is moving existing Windows monoliths onto a platform capable of also supporting something else. In the second stage, the monolith is disassembled in a manner more in tune with continuous integration and deployment .
In the third stage, systems are weaned from their reliance upon the old, UI-dependent Windows Server. It’s a delicate operation: a plan to break applications from the very chain of dependencies upon which Microsoft’s entire marketing scheme was once predicated. And it’s Microsoft, most ironically of all, that’s behind its execution.
“From a container orchestration perspective, one of the things I think a lot about is decoupling the problem. And that makes these problems more tractable,” stated Brendan Burns , who presently leads the Azure Container Service development team at Microsoft.
“If you can decouple the operations experience from the details of how a particular piece is implemented ― even what operating system a particular piece happens to be implemented on,” Burns continued, “that makes people’s lives dramatically easier. I would hope that we could reach a place where the person who’s rolling out a complete application that’s developed by a bunch of different teams, may not even know the operating system that that particular image was built with.”Dis-solution
The first problem containerization solves for Windows is the same as the first one it solved for Linux: scalable, manageable deployment.
Microsoft’s Taylor Brown described for us the typical deployment scenario for a .NET application in the days before Microsoft’s Windows Server Core project was officially launched: “In my history, I worked on a deployment team where we had to deploy a three-tier application. Landing that on a machine, I needed to know if that machine was properly configured. Did it have the right credentials on it? Did it have the right network infrastructure? How do I talk to a database? What’s the database’s name? We’d have huge XML files, where in this environment, the SQL Server was named that , and the web front-end was this .
“And more often than not, we’d have a deployment failure. Someone would mess up a name in one environment or another, and that would result in rollbacks ― and rollbacks were even more painful than deployments.”
So Brown leads the team charged with simplifying Windows application deployment. There’s just one catch: In its modernized form, a new Windows application will no longer be reliant upon the old libraries and foundation classes. These aren’t just dependencies; they’re the basis of how these old applications were designed.“A lot of these companies have a lot of intellectual property in the software they have built over the years and years,” said Burns, “and they want to preserve that. They don’t want to rewrite that. Maybe there are unique capabilities: [ maybe ] they’re using C++ libraries that were only built for Windows. Or their development environments ― they really like Visual Studio and C#. So this enables them to take those tools that they know, and bring them into a microservices world.” Re-composition
But to accomplish this, it introduces the Windows world to a strange and foreign object: orchestration.
“Systems like Kubernetes and containers provide a lot of automation for free,” said Burns. “Deployment workflows, health checking, automated restart, load balancing ― a lot of the pieces that allow you to build a reliable, distributed system, regardless of what operating system your application happens to be running in.”
Until June 2016, Burns was Google’s lead engineer for theKubernetes container orchestration engine. And now, with the help of partner firm and commercial Kubernetes vendor Apprenda , Microsoft is actively pursuing research into a once-unthinkable prospect: enabling Kubernetes to orchestrate Windows and Linux applications simultaneously.
“We want Windows developers to start getting into the same frame of mind where Linux developers are,” declared Michael Michael , Apprenda ’s senior director of product management, speaking with The New Stack. “Distributed apps, microservices, applications that are thin, agile, elastic; that understand the fact that they can be scalable and that could have many interconnected components; that understand that they can fail and need to handle that failure gracefully and remediate themselves ― we want Windows developers to start developing apps the same way.”
It’s about as plainly stated, though as imponderable, a request as if a petition to the citizens of the state of Texas to drop their meat dependencies and become vegetarian.“Part of the reason why some of these Windows apps are, for lack of a better word, heavy ― in terms of functionality, siz
本文系统（windows）相关术语:三级网络技术 计算机三级网络技术 网络技术基础 计算机网络技术
本文标题：Microsoft Windows Server Seeks a Place at the Table with Kubernetes