DevOps
SaaS, PaaS, DaaS, Cloud, Big Data, NoSQL and now DevOps seems to be latest buzz in IT.
Why DevOps?
Most of the companies start small as nimble startups but over a period of time turn into big bureaucratic organizations where people get busy building their empires, create silos and rigmarole processes slows down the pace of innovation.
Dev feels the ownership but accountability is missing. Ops feels the accountability but ownership is missing.
Simply put, DevOps is essentially going back to the same philosophy of working together in startup mode but at an enterprise scale. Creating an environment that encourages empathy. Empathy allows Ops to appreciate the importance of pushing the code rapidly and allows Dev to understand the pains of maintaining poorly written code.
What is DevOps?
First thing’s first. Dev is not Ops and Ops is not Dev. This is certainly not a role reversal and both have different skill sets so no job family should get insecure.
There are various definitions available on Wiki and other online sources. I like the one presented by Andi Mann from CA technologies at DevOps Summit 2014.
"Improve collaboration between Dev and Ops to accelerate release of new capabilities and translate operational insight into continuous improvement across the software cycle."
In short, DevOps is bridging the gap between Dev and Ops so both instead of being at loggerheads collaborate for better productivity. Fundamentally DevOps is about instituting a cultural shift in mindsets of Dev and Ops and building synergies.
CAMS
CAMS framework nicely summarizes the basic building blocks of DevOps.
Culture: Break down the barriers and build bridges between Dev and Ops through close collaboration which should exist throughout the life cycle of product. More than technology, people and process are critical to success of DevOps model.
Automation: Anything that’s repeatable should be automated. Automation accelerates time from idea to market. CI/CD should be used for accelerated deployments. No manual commands should be run on production systems unless they are administrative in nature and are used purely for diagnostic purposes.
Measurement: If you can’t measure, you cannot improve. Dev and Ops should use same language, same monitoring frameworks for measuring various operability and performance metrics.
Sharing: Ops should be part of daily SCRUM. In fact Ops should be tightly coupled with DEV and have shared project plans with shared accountability. Both got to be equal stakeholders right from inception. However one should be vigilant and prevent unauthorized access of DEV on production systems in the name of sharing. Appropriate access management and password management systems should be in place. Avoid manual logins.
What it means for Dev?
Don’t consider operations as an afterthought. Design and develop keeping operability in mind.
What it means for Ops?
Stop the victim behavior. Start early engagement with Dev. Provide infrastructure as a code and automate repeatable tasks. Define your offering and provide it as a self-serve model. Bring in SDLC approach into operations. Ticket based manual work should be an exception and not the norm. Have a deeper understanding of product with a sense of ownership. Once you are a major stakeholder then your level of accountability and responsibility would significantly assume higher levels.
Summary
DevOps at it’s heart is all about people and process. And any cultural change is not easy. Mostly it’s more of a marathon than a sprint. All challenges also bring a huge opportunity. Just like agile methodologies, DevOps can rapidly accelerate production deployments and time from ideation to market. Executive management and Leadership is going to play a vital role here.
- Institute cultural shift in mindsets of Dev and Ops.
- Provide specifics to affected teams and may be create new titles and new job definitions.
- Think about the big picture and don’t get pigeonholed into organizational alignment discussions. Re-org might be essential but just re-org is certainly not the panacea.
Think of DevOps as a sports team or a music band where everyone might specialize in different skills but work together as a team in perfect accord.
Yes, DevOps is the buzz as companies are now looking forward for a resource with Support and Development in parellel so that the tasks and actions can be resolved at L0 or L1 level right away..
Good one Ritzy!