DevOps Zone is brought to you in partnership with:

Matt Watson is the Founder & CEO of Stackify. He has a lot of experience managing high growth and complex technology projects. He is focused on changing the way developers support their production applications with DevOps. Matt has posted 3 posts at DZone. You can read more from them at their website. View Full User Profile

What is the Ops in DevOps?

01.27.2013
| 2539 views |
  • submit to reddit

So what does DevOps mean exactly? What is the Ops in DevOps? Operations can mean a lot of things and even different things to different people. DevOps is becoming more and more popular but I also think a lot of people are confused to exactly what it is. So let’s make a list of all the things operations does and figure out what developers should be doing, and not doing.

Operations responsilibites

  • IT buying decisions
  • Installation of server hardware and OS
  • Configuration of servers, networks, storage, etc
  • Monitoring of servers
  • Respond to outages

Some other duties

  • IT security
  • Managing phone systems, network
  • Internal help desk support
  • Change control
  • Backup and disaster recovery planning
  • Manage active directory
  • Asset tracking

Shared Development & Operations duties

  • Software deployments
  • Application support

Some of these responsibilities have changed a lot in the last few years. Virtualization and the cloud have greatly simplified buying decisions, installation, and configuration. For example, nobody cares what kind of server we are going to buy anymore for a specific application. We buy great big ones, virtualize them, and just carve out what we need and change it on the fly. Cloud hosting simplifies this even more by eliminiating the step of buying a great big server.

So what part of the Ops should developers do?

  • Be involved in selecting the application stack
  • Configure and deploy servers (potentially)
  • Deploy their applications
  • Monitor application and system health
  • Respond to applications problems as they arise.

In my opinion, that is the lifecycle of DevOps. Select the application stack, build it, deploy it, support it. The developers basically own the stack from operating system and up. If you have 5 development teams working on different projects, it makes a lot of sense for each team to be responsible for all of these things from start to finish. Make the developers completely responsible for their own application. Operations can simply be responsible for the physical infrastructure that supports it.

So what does the operations team do then?

  • Manage the hardware infrastructure
  • Configure and monitor networking
  • Enforce policies around backup, DR, security, change control, etc
  • Assist in monitoring the systems
  • Manage active directory
  • Asset tracking
  • Other non production application related tasks

If your IT department is small, one of your developers can easily handle all of these tasks. In larger companies though I’m sure this role will be around forever. But… If you are using cloud based hosting, do you need operations at all? If you are embracing the DevOps concept of developers owning the deployment and production support of their applications, and you are using cloud hosting, you could probably say you are doing NoOps in your data center. But you still need at least a help desk person in the office to support your internal desktops.

DevOps to me is the concept of letting the operations team provide the hardware and letting the developers basically own everything from the OS up. Select the application stack, build it, deploy it, support it.

Published at DZone with permission of its author, Matt Watson.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)