The CD pipeline
Brown and Ruffin’s project took roughly two months, and has been explained in great detail on Domain’s technology blog.
Microsoft’s scripting language, Powershell, remains a critical part of the build process - which makes use of existing skills hardened in many IT teams over the past decade.
The engineers ensure they are spinning up repeatable templates in Amazon Web Services using both Powershell Desired State Configuration (DSC), AWS’ CloudFormation config management tool and a second DSC tool provided again by Brisbane-based Octopus Deploy.
Brown and Ruffin have attempted to automate the hand-off between as many of these tools as possible, so much so that Brown jokes he has “literally automated myself out of a job.”
“What that means is that I can now focus on much more interesting things,” he said.
What's the best way to celebrate a successful deployment to production? Introducing The Domain Train.
McManus said that typically, operations engineers that do automate their own function are provided opportunities to move further up the stack - from production and deployment into implementing instrumentation that monitors the health of those applications undergoing routine, incremental change. Domain Group uses New Relic and Pingdom for health monitoring, among others.
With software testing integrated much earlier in the process, developers also have to shift their mindset, he said. Their changes can be pushed to production in minutes - which demands that they code under the assumption that nobody will be there to fix any sloppy work or lax attention to security or system dependencies once they hand over.
Domain Group might not be a .NET shop forever - but the team’s work is proof that traditional IT shops can achieve a DevOps-like state by augmenting some of the tools they are likely to already familiar with.
Brown recommends that IT operations staff start learning to code to complement their existing skill sets. Searching for tools that can be integrated together to move application changes through to production at speed might seem a little daunting at first, but that’s fast becoming what’s expected of IT operations. He simply accepts that a DevOps role demands he piece together solutions that remove complexity from the total process.
“I don’t think we’ll ever see a single, generic pipeline to handle all the different clouds
and programming languages,” he said.
McManus said that while he understood why those managing legacy IT environments were reluctant to consider the DevOps model, invariably they won’t have a choice.
“My advice is to move forward or you’ll be overtaken,” he said.