10 commandments of IT Ops in the DevOps era
You might think that IT operations is becoming irrelevant these days, as orchestration and DevOps tools now supposedly do the job for you.
I'm sorry to break it to you, but that's just a myth. Throw it in the pile with other busted myths, such as the ability to see the Great Wall of China from space, bulls’ hatred of red (they’re actually colorblind), and vitamin C’s effectiveness in curing colds.
But according to this growing meme, software developers are the superheroes of today’s digital enterprises, and everything should be about enabling them to work faster. IT Ops? They’re around to keep the lights on and to get out of the developers’ way as code moves into production.
DevOps isn’t the magical union between developers and operations. Really, it’s just a way for developers to cut operations out of the picture.
IT operations management remains core
The reality is that IT operations teams are more essential than ever for managing complex systems. Production environments, especially those that adopt orchestration and DevOps tools, need good operations teams to guard against even a few seconds of downtime that can cost the business millions of dollars in lost revenues
Organizations faced with this apparent contradiction—developers pushing ops away, despite the fact that operations is more important than ever—should rally around a set of core principles that redefine the role of operations management and keep Ops more relevant than ever.
Think of these principles as your 10 Commandments that will help your operations organization survive—and thrive—in what sometimes looks to them like a DevOps desert.
1. Thou shalt serve no other masters than system availability
A system never going down has been, is, and always shall be the primary measure by which IT operations management is judged. There’s availability, and then there’s everything else. Every organization must make this gospel, or pay the price in lost revenue and angry customers.
2. Thou shalt make no idols in complexity
The simplicity and unification of systems is always better than more stuff. The DevOps world is littered with far too many moving parts, including tools such as Chef, Puppet, Jenkins, Kubernetes, Mesos, PaaS, Docker container managers, and so on, and the list grows bigger all the time. Be wary of anything that has yet to be tested at enterprise scale (which includes most of them).
3. Operations’ expertise shalt not be taken in vain
It’s the operations manager’s responsibility to run and maintain platforms for enabling rapid development of code (IaaS, PaaS, SaaS, container platforms, virtualization, and so on), but it’s also in operations’ discretion to decide if and when those platforms are suitable to be used in production. They, not developers, are the experts here.
4. Thou shalt look at changing requirements as holy
Digital technology is transforming businesses and forcing them to move faster. It is up to IT Ops to embrace and enable that change with agility and flexibility, not hold it back by resisting change.
5. Honor thy developers’ role in this new environment
Enable developers to optimize the process of delivering working code into production, whether it be from continuous integration systems, PaaS environments, or simple FTP drop sites. There’s a whole lot of good in increased developer agility, but that doesn't negate operations’ vital role.
6. Thou shalt not murder apps that have bad security
Operations teams almost always have stronger expertise in security than do developers. As a matter of corporate policy, operations management should be the last line of defense when it comes to app security.
7. Thou shalt not stray from core Ops functions
Visibility, monitoring, reporting and dashboarding remain fundamental parts of the operations team’s jobs. Organizations should invest in the latest tools to automate these operational procedures.
8. Thou shalt not steal from reliability
While automating operational procedures wherever possible, never do so at the expense of reliability, and only with tools suited to the complexities of operational environments.
9. Thou shalt not bear false witness against thy colleagues
Business people, developers, and operations must work together daily throughout projects. This core philosophy of collaboration is one of the best things about DevOps. Silos are untenable in today’s fast-paced environment.
10. Thou shalt not covet thy neighbor's tools
Popular or trendy developer tools are fine to use during development, but that doesn’t mean they are suitable for operations to use in production. Don’t fall for the cult of the new. While new-generation automated configuration tools are excellent starting points for treating infrastructure as code, the notion that they can be trusted to replace operations’ role is a pipe dream.
By adhering to these 10 rules, companies can support two-way agility and allow both developers and operations to work collaboratively and smartly toward the mutual goal of continuous development.