Seven DevOps Myths Revealed
The early stage of any emerging concept or technology is prone to attract myths. No doubt DevOps is one of them.
Despite of having a relatively short life so far, DevOps is implemented in most of the organizations or in their hit list to be implemented in coming 2 to 3 years. There are success stories available out there from some of the organizations about their DevOps implementations along with the lessons learnt. That is what may have given birth to some of the DevOps myths. What works for one may not work for other organization for genuine reasons like variations in the operations and infrastructure management practices or due to diversified culture and many other DevOps reactions.
A recent eye opening survey report revealed that,
Over 36% IT decision makers do not really know what the DevOps process entails!
Out of 700 participants form US, UK and Australia
Rackspace – DevOps Adoption Survey
Well, no doubt ‘What is DevOps?’ is one of the most searched terms in 2014!
While people are still practicing this concept of Continuous Integration (CI) and Continuous Delivery (CD), being me one of them, I thought of putting some of the myths together which I have come across so far.
Here are some common DevOps’ myths accompanied with the facts:
Development and Operations = DevOps
As William Shakespeare said, ‘What’s in a name?’ seems to be true again. I have seen people defining DevOps by its literal name which implies to Development and Operations. In reality, DevOps is more than just Dev and Ops. No doubt that Dev and Ops teams should work in collaboration but involvement of business, senior management, partners and even suppliers is very essential for the success of DevOps.
DevOps = NoOps
There are traces you will find on the web where some organizations have implemented DevOps with the help of a single ‘NoOps’ team. That might have worked best for them; however, considering DevOps is all about NoOps may not be a good idea. Either you form a dedicated team of DevOps advocates or combine your Dev and Ops team (and call them NoOps) is purely up to you and the business requirements, but that should not mean your developers are ending up spending all their time in fire-fighting. The concept of NoOps is not about eliminating operations, but to abstract that layer for the developers by using automation tools.
Remember, developers should know the impact of their code when hitting production and operations should know how important it is for the development to make speedy releases.
DevOps is not for ITIL-tied Organizations
This is another common myth that DevOps is the end of ITIL. If understood and implemented correctly, ITIL in fact helps in implementing DevOps and its mindset. Most of the DevOps principles are compatible with ITIL framework. I agree that some tweaks are required in the current ITIL processes and make it a lightweight framework to address rapid changes and CI / CD approaches, but concluding that DevOps cannot be used if an organization is religiously following ITIL processes is barely a myth.
DevOps Is Only for SMBs
It is surely true that most of the early movers who have started DevOps practice to break down the silos between development and operations are Small and Midsize Businesses (SMB) or Internet based companies. But that doesn’t make it a de facto standard that DevOps is only for such organizations. Large enterprises also have the needs to deliver IT systems and software, with consistency and speed, and they do use certain practices which are in fact very close to DevOps principles. Also, the supporting tools and technologies make DevOps even more attractive to the bigger organizations.
DevOps is Only about Better Coding
While the great emphasis has given to the better and safer codes in the DevOps, but saying ‘DevOps is ONLY about it’ will not be appropriate. The codes need to be clean and safe so it doesn’t impact when hitting the production. Also, this is the point where production-alike systems are the key so you understand the impact of your code beforehand. Apart from the better coding, better testing (preferably automated) and better collaboration (between dev and ops) is very important too, for a successful DevOps.
DevOps is Only about Automation
When you think of DevOps, you often think of Automation, Cloud and other DevOps tools, isn’t it?
Well, sorry to bust your bubble, but DevOps is a lot more than that. To support the CI / CD principles, automation and tools play a vital role but just implementing a bunch of tools and speed-up things isn’t a real DevOps and doesn’t add value to business. If you deep dive into the DevOps processes, you will agree to me that if we have ways (effective processes) to configure and deploy servers and other infra at desired speed, automation tools can take the back seat (especially if you have budget constraints)!
DevOps is Only about Communication
I agree to the fact that, communication solves most of the problems; but not all!
By most of the practitioners, the challenges faced due to under communication are targeted first while implementing DevOps. Probably that has given birth to this myth. Building a right culture for DevOps adoption is the key for the overall success, and communication & collaboration are two obvious part of it, however, effective processes, shorter lead time, instant feedback, monitoring and autonomics are some other important aspects which cannot be neglected while implementing DevOps.
Do you think there are other myths I have overlooked?