What is DevOps?
DevOps is a concept that has grown exponentially over the course of the last few years, in the IT industry. I personally have been interested in this new movement for the last two years, and in fact so much so that I created a space to let people learn and share their experiences in the DevOps arena. The Wellington DevOps Group which I formed in 2015, is now more than 720 very active members with monthly meetings around the CBD.
There are many definitions or interpretations of the word “DevOps” but the most important concept behind DevOps is the union of people, process and products to enable a continuous delivery of value to end users. It aims to create a culture and environment where building, testing, and releasing software can happen rapidly, frequently and more reliably. DevOps is a combination of software development and operations, and as its name suggests, it’s a melding of these two disciplines to emphasise communication, collaboration, and cohesion between the traditionally separate developer and IT operations’ teams.
DevOps Engineers are an in-demand skill in the recruitment space. It’s very common to read job descriptions with this as a requirement; but is DevOps a job title? The answer is no, definitely not! DevOps is not a profession! There aren’t any ‘DevOps only’ profiles or ‘DevOps engineers’, but what you will see advertised: “software/computer engineers with specific abilities that can integrate DevOps teams”.
The CALMS Framework for DevOps
CALMS is a conceptual framework for the integration of development and operations groups, functions and systems within an organization; the acronym stands for Culture, Automation, Lean, Measurement and Sharing.
All the tooling and automation in the world are useless if they aren’t accompanied by a genuine desire on the part of the people to work together. DevOps doesn’t solve tooling problems. It solves human problems.
Investing in automation eliminates repetitive manual work and creates reliable systems. “Configuration as code” and “continuous delivery” help break down the wall between development and operations. When DevOps uses automated deploys to send thoroughly tested code to identically provisioned environments, the idea of “Works on my dev environment but not on Production” becomes irrelevant.
When we hear “lean” in the context of software, we usually think about being Agile in our organisation. Even more relevant for DevOps are the concepts of continuous improvement and embracing failure. A DevOps mindset sees opportunities for continuous improvement everywhere. Some are obvious, like holding regular retrospectives so your team’s processes can improve. Others are subtle, like implementing A/B testing different on-boarding approaches for new users of your product – a practice that is being used more frequently by the big players in the internet industry.
It’s hard to prove your continuous improvement efforts without data. Fortunately, there are loads of tools and technologies for measuring performance: like how much time users spend with your product, whether that blog post generated any sales, or how often critical alerts pop up in your logs. Everything should be measurable to generate feedback about your projects.
Sharing responsibility and success will go a long way toward bridging that divide. DevOps is big on the idea that the same people who build an application should be involved in shipping and running it. This doesn’t mean that you hire developers and simply expect them to be excellent operators as well; it means that developers and operators pair with each other in each phase of the application’s life-cycle.
At present, I’m providing solutions to businesses using iMIS and believe there is always a significant opportunity to increase the quality of development processes with the implementation of DevOps. When working this way, it improves our communication and maximises the automation and quality in our software delivery process. It also provides a personalised service to clients with the latest technology.
The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win – Kim, Gene
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations – Kim, Gene
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler) – Humble, Jez
Leading the Transformation: Applying Agile and DevOps Principles at Scale – Gruver Gary
Christian Mazur is a member of the Development and iMIS Support TeamPosted on: August 9, 2017Chris Mazur