Windows system administrators cannot live without PowerShell – it has come the de-facto standard command line tool and scripting language in system administration – but many don’t know the real brain behind Microsoft PowerShell.
Introducing Jeffrey Snover, Distinguished Engineer and the Lead Architect for the Windows Server Division at Microsoft. He is the inventor of Windows PowerShell, an object-based distributed automation engine, scripting language, and command line shell.
Jeffrey has over 30 years of industry experience with a focus on management technologies and solutions. He was an architect in the office of the CTO at Tivoli and a development manager for NetView. He was also a consulting engineer and development manager at DEC, where he led various network and systems management projects.
The folks at heavyBit managed to catch up with Jeffrey Snover, and here’s what he had to say…
HB: Okay, so what is the thing that you like the least about continuous delivery?
Jeffrey Snover: The thing I like least about continuous delivery is going through the painful cultural change to get everybody on that model. So I’m in Microsoft and we’re Windows, and the previous version of Windows was a three-year release where we planned for a year, we coded for a year, and then we took a year to stabilize and then release.
HB: Very waterfally.
Jeffrey: Three-year waterfall. And the model of, “Hey, now we have to go and do it in small batches and quickly.” And from the OS side, that’s very hard. What we did was we broke up some teams and we’re doing it like that with the PowerShell team, trying to get into that model. And it is a painful thing. You know, you have to change your mindset. People want to stay in the past, like, “Wait, how do I do that?”
And so that’s the hard thing. I mean, once you’re through in that hole, it’s a much better world. But getting from here to there is extraordinary painful and not everybody makes it. I mean, that’s pretty painful.
HB: So now would be a great time to have our guest introduce themself. We’re podcasting from Microsoft Build and we’re so honored to have you with us today.
Jeffrey: Yeah, howdy, I’m Jeffrey Snover. I’m a Technical Fellow at Microsoft. I’m the Chief Architect of the Azure Infrastructure and Management Team, so it’s a pretty wide set of responsibilities, but mostly, I’m focused these days on both Azure Stack and of course management in PowerShell, which I invented.
HB: Yeah, so cool. So, I’m so interested in what you’re saying about this hard shift. So I’ve heard about the three-year process.
HB: How do you convince people to move from that, to continuous delivery?
Jeffrey: Yeah, well, it’s hard, right? And a lot of times they didn’t want to do it. But basically, what you try and do is you try and find something that they can get their head around. So for us, one of the key things was a shift to Nano Server. So, are you familiar with Nano Server?
Edith: Explain it for the audience.
Jeffrey: Traditional Windows Server translates to about a 10 gigabyte VHD. Server Core, the GUI-less version, is about six gigabyte VHD. I initiated a very dramatic refactoring of the operating system, called Nano Server, and that starts at about 400 megabytes. Windows Server in 400 megabytes. Well guess what, in order to run on that, you have to do dramatic refactoring.
Part of this was to move from Windows PowerShell being .NET Framework based to being .NET Core based. So that was a dramatic refactoring and the team didn’t want to do that. Because they knew they were competent and successful in this world, and they had a group of customers that they knew and they knew how to give them the next set of things.
And what we had to do is just say, “Yeah, we want you to not do those things. Not meet those customers needs as we make this change to develop something.” And they looked at me like, “Boy, that’s going to be really hard, and in the end, it’s not going to be as good as this thing because it’s going to be a Version 1 of a new thing, and I don’t want to do it.”
Paul: It’s sounds very much like the innovator’s dilemma. Keep doing what you’re doing or break everything and maybe your revenue models as well in order to get where the puck is going.
Jeffrey: Exactly, and so, you do the traditional DevOp, what we in the community have all been learning, right?…