Almost overnight, Windows DevOps has gained ground on the open source world.
Windows shops have a well-earned reputation for conservatism, and a deeply entrenched set of legacy enterprise applications that often hinder automated application development. However, Microsoft products have recently focused on Windows DevOps support. There's still work to do to underpin Windows container orchestration, but IT pros in Windows DevOps shops are determined to break free of stodgy stereotypes.
Those stereotypes are based in reality. Microsoft shops have been reluctant to deploy early versions of products, and some service providers and consultants that work with Windows-focused enterprises still encounter that history as they contend with DevOps.
In the last three years, Microsoft has lagged behind its open source counterparts in offering DevOps products, particularly for continuous deployment and application release automation, critics said. That lag, plus being locked in to Microsoft tools, is what holds back Windows DevOps.
"Microsoft is making some inroads," said Brandon Cipes, managing director of DevOps at cPrime, an Agile consulting firm in Foster City, Calif. "They're finally starting to open up compatibility with other things, but they're years and years behind the ecosystem that's developed in open source."
Third-party tools bridge Windows DevOps gaps
Windows DevOps shops have cobbled together automation pipelines with inefficient multi-hop handoffs between Microsoft apps and third-party tools, Cipes said. For many companies, switching over to a Linux-based stack is easier said than done.
"People get on Microsoft and they never leave," he said. "We have clients that do a lot of Linux, but everyone has at least one department or one corner of the office that's still on Microsoft and they will openly comment that they'll never completely remove themselves from it."
Tools from vendors such as TeamCity, Octopus Deploy, Electric Cloud and CA's Automic have helped early adopters. One such firm, Urban Science, a data analysis company that specializes in the automotive industry, uses Electric Cloud's ElectricFlow continuous integration and continuous delivery (CI/CD) tool to automate software delivery in a heavily Windows-based environment.
"Having the orchestration of ElectricFlow allows us to keep one perspective in mind when we're creating a workflow," said Marc Priolo, configuration manager at Urban Science, based in Detroit.
Aloisio Rochaoperations specialist, NetEnt
ElectricFlow manages DevOps on Windows for about 80% of the company's IT environment -- "we try to use that as one tool to rule them all," Priolo said. The other 20% of the work mostly involves handoffs from other tools such as Microsoft's Team Foundation Server (TFS) to ElectricFlow -- and here organizational inertia has held back Urban Science, he said.
"The other 20% would mean that our developers would have to change the way they interact with TFS, and it's just not been a priority for us to change that," Priolo said.
Occasionally, cPrime's Windows clients are left with islands of automation when they must integrate third-party DevOps tools with older versions of Microsoft software, Cipes said.
"If you can't integrate one little bit of automation, it gets you just such a short bit of the way," he said. "A lot of people are trying to figure out how to deal with getting past that."
Windows DevOps shops have succeeded in automating infrastructure with tools such as ElectricFlow. NetEnt, an online gaming systems service provider in Sweden, has rolled out ElectricFlow to manage deployments to its production infrastructure even before it automates the rest of the process.
"We've tied in all components that are needed to create servers, deploying and upgrading our applications, to give us some more deployment speed and free us up to find other bottlenecks," said Aloisio Rocha, operations specialist at NetEnt. "We are looking to shift that left now, since the developers and testers have seen what we've done in production and they want the same kind of automation."
Next, NetEnt will use ElectricFlow's API integration with VMware virtual machines to automate the creation of and updates to SQL Server databases. Such structured apps are a common DevOps challenge regardless of operating system.
"What we're using right now is PowerShell scripts, so we have a middle hand from ElectricFlow to VMware's API," Rocha said. "We would like to skip those PowerShell scripts and write directly to VMware's API."
Microsoft products recast the Windows DevOps equation
For other Windows DevOps shops that struggle with islands of automation, the good news is that the most recent versions of Microsoft software are tightly integrated with third-party tools through REST APIs, and also offer more native features.
This year, Windows DevOps products, such as TFS, have improved support for continuous application deployments to production, and some enterprise IT shops have put them to use.
TFS 2015, for example, fell short in that it didn't have a release pipeline until update 3, but TFS 2017 changed that, said Anthony Terra III, manager of software architecture and development for a law firm in the Philadelphia area.
"We have a full release pipeline now, and we can set it up so that business analysts are the ones that dictate when things get pushed to production," Terra said. "We do hands-off deployments, and run three or four production deployments a day if we want to, without any issue."
DevOps shops in the Azure Cloud also have new options in the latest versions of Visual Studio Team Services (VSTS), a SaaS version of TFS that a majority of VSTS users deploy multiple times a day, said Sam Guckenheimer, product owner for VSTS at Microsoft.
"There has been a lot of work in the most recent releases of Windows to make it leaner for server apps so that you could have a small footprint on your VM for Windows, and containerization is another step in that process," he said.
Microsoft has added features to VSTS in the last six to 12 months to make it the best tool for CI/CD in Azure's PaaS and IaaS platforms, Guckenheimer said. It has also shored up a workflow that uses Git for code review, testing and quality assurance, and added support for DevOps techniques such as kanban in VSTS. Further updates will facilitate coordination across teams and higher-level views of development teams' status and assets.
Infrastructure automation veterans offer advice for newcomers
Windows Server admins must learn to market themselves
Here's what you need to know about Windows Server 2016 containers
IT ops tools get smarter by the day