Where’s the Ops in DevOps? Part 2

In this three-part series, guest bloggers from DevOpsGroup look at the real role of Ops in DevOps. Where it changes, how it changes, and why Ops has an important part to play in the brave new world of DevOps.

What does the future of IT Operations look like in a DevOps world?

What does the future of IT Operations look like? As more businesses rely on virtualisation, containers, cloud, Infrastructure as a Service and Microservices, is there still a place for it? How do these teams change to continue to deliver value when supporting Agile Operations techniques?

So does a role remain for IT Operations? Absolutely 100%. We talked about this in our last post, DevOps does not equal ‘Developers managing Production’. We said then:

Operations is a discipline, with its own patterns and practices, methodologies, models, tools, technology, etc. Just because modern cloud hosting makes it easier to deploy servers without having to know one end of a SCSI cable from another doesn’t mean you know how to do Operations (just like my knowledge of SQL is enough to find out the information I need to monitor and manage the environment, but a long way from what’s required to develop a complex, high-performing website).

That said, the role of Operations is changing – Ops has to become more application-centric and understand the applications that are running on the platforms they provide. It’s not enough any more to take a narrow view that says: “My servers are okay, it’s not my fault the application doesn’t work.” Well, it might not be your fault, but you share the responsibility for making sure the application is available for your customers. Stop passing the buck!

Operations people almost certainly need to learn to code, since we are heading towards a code-driven, API-enabled world. If you can’t code (or at least have solid scripting skills), you risk being left behind.

More importantly, the Operations Engineer/Developer of the future will be filling a role more akin to that of a Process Engineer in a physical factory or logistical supply chain.

In the same way that a process engineer designs a process and production line that transforms raw materials into a finished product, the Operations Engineer/Developer of the future will be building digital supply chains and digital production lines.

These digital supply chains will transform raw materials (source code) via continuous integration, test automation, packaging, release automation, infrastructure-as-code, etc, into applications running in cloud-hosted environments.

The rate of changes flowing along the digital supply chain will far exceed ‘old school’ change and release methodologies – you can’t have a weekly CAB (Change Advisory Board) meeting if you’re doing multiple deployments per day (or every 11.6 seconds à la Amazon).

So, just like a physical production line includes statistical sampling, automated testing, etc, so will the digital supply chain of the future. We already do this with TDD/BDD, automated testing with tools like Selenium, etc, but it will become the job of the Operations Engineer/Developer to ensure that the digital production line delivers release packages of sufficient quality to ensure the stability of the application (and the organisation’s revenue that depends on it).

Modern supply chains are complex and have many interdependencies on third parties, particularly if you’re operating a Just-In-Time (JIT) model. Modern software applications have the ultimate in JIT dependencies due to their integrations with third party SaaS APIs like payment gateways, recommendation engines, authentication gateways, cloud providers, etc.

Modern Operations Engineers will need to ensure they design a digital supply chain that can cope with failures in these interdependencies, or at least ensure that they select the right third party partners who can offer the levels of performance and availability needed for their applications.

In summary, will the Operations Engineer/Developer of the future be ‘just managing (virtual) servers’? No, almost certainly not.

What they will be doing is designing and building complex digital supply chains with complex interdependencies both internally and externally to the organisation. Digital supply chains that are designed to meet the needs of applications that, in turn, are designed to meet the needs of their customers, safely, securely and cost-effectively.

You might also like to read the first post in this series, DevOps does not equal ‘Developer managing Production’.

Are you looking to get started on your DevOps journey?
Call DevOpsGroup on 0800 368 7378 or email the team

 

Discover more about applying DevOps processes to the database on the Redgate solutions page