The intersection of DevOps with IT operations is a two-way street -- even as developers increasingly take on more of operations, IT ops pros must think more like app programmers.
The technical changes that come with establishing a DevOps culture affect the IT infrastructure even if separate IT operations teams still manage day-to-day matters. New application development practices such as containerization, microservices and release automation, as well as new infrastructure management techniques that require programming skills, mean IT ops pros must learn new tricks to keep that infrastructure running smoothly.
As DevOps evolves, greater collaboration between devs and IT ops will be the order of the day, according to Nirmal Mehta, senior lead technologist for the strategic innovation group at Booz Allen Hamilton Inc., a consulting firm based in McLean, Va., who works with government organizations to establish a DevOps culture.
"The roles are just going to be more about operators taking on more responsibility in terms of automating the deployment and their change processes," Mehta said. "They're going to transition into taking on more of the security roles, since infrastructure as code and configuration management have a huge impact on compliance."
Instead of meetings that temporarily assemble representatives of separate IT functions -- storage, networking, security, operations and application development -- this evolving DevOps/IT ops collaboration will be "a team where ... they have access to the same information, and they're responsible for the same user stories and other Agile workflow elements," Mehta said.
Eventually, employment contracts will call for specific skills around microservices or service delivery and become less focused on filling disparate roles within the team structure, he said.
IT automation crucial among DevOps skills
In the meantime, programming skills will be relevant even to IT pros in a strictly operational role, as release automation makes infrastructure as code and configuration management de rigueur. This means learning tools like Puppet, Chef, Ansible and others that enforce infrastructure management in an automated way to keep up with rapid and automated application release cycles.
Some operations people are resistant to learning the inner workings of the application and that becomes a problem, according to Dan MacDonald, architect and principal technical lead for a New York City agency whose developers are transitioning to Agile development methods.
"Now, with the pace of development, you have to get a lot more involved in the early stages because it goes so fast," he said.
Along with infrastructure as code, technologies used by developers such as containerization will mean less variation in server configurations and instance types under IT operations management, and de-emphasize skills such as scripting and manual configuration of servers.
"[As an IT ops person] I don't have to [Secure Socket Shell] SSH onto some box, and tweak it for this special snowflake thing, because there's a cookbook that actually handles that for me," said Caedman Oakley, DevOps evangelist for Ooyala Inc., a video processing service headquartered in Mountain View, Calif.
IT operations pros will have to look higher up the stack for opportunities to add value to an organization.
"It's like being a violinist or a piano player, and then transitioning into becoming more of a conductor," Mehta said. "You're overseeing a larger amount of responsibilities and trusting the automation to do most of that workload that you used to do."
But while it's beloved by developers, container technology is still tricky for IT ops pros to deploy to production, and requires a new set of skills.
"Developers are using containers, but ops is deploying code to VMs, and so creating parity between them is tricky," said Chris Riley, DevOps analyst at Fixate IO. "If you're transitioning from monoliths to microservices, you're almost forced to start over ... and managing that change is really hard."
Distributed applications based on microservices will put more of an emphasis on networking skills, added MacDonald.
Microservices also rely a lot more than monolithic applications do on coordination between different hosts, MacDonald pointed out.
"Let's say you want to deploy to both Amazon and Google at the same time," he said. "Not many developers really get into the finer points of those networks -- that's where you get the benefit of operations."
A call for containers in production
Get ready: Microservices are coming
Dissect the issues with DevOps