What is DevOps?
AWS defines it as ‘the combination of cultural philosophies, practices and tools that increases an organisation’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organisations using traditional software development and infrastructure management processes. This speed enables organisations to better serve their customers and compete more effectively in the market.’
But, in reality, the principle is so multi-faceted that defining it is difficult.
To help answer, definitively, what is DevOps, Information Age asked four experts on their opinion.
Top DevOps interview questions and answers revealed
A difficult question
“It’s a really difficult question,” says Annie Andrews, head of technology at Curo Talent.
“DevOps is a culture that has a number of things underpinning it. If you talk to ten different people you’ll get ten different answers to the question, which means that when you’re explaining what is DevOps, you’ve got to be really careful that you’re giving a particular slant on it,” she continues.
DevOps vs Agile: pulling in the same direction in the enterprise
There are two main parts of DevOps.
The first is automation of task to make sure that they are more reliable and repeatable, while encouraging this earlier in the life cycle. For example, when writing deployment scripts. This massively underpins the term.
The second comes from the name and is more about culture; it’s about bringing the Dev teams and the Ops teams better together. And success in this has nothing to do with technology.
In traditional industries, different departments have “imaginary walls between them and DevOps is really about bringing those walls down. You may still have specialists; it isn’t possible in these days to know everything about technology across the whole spectrum, but they need to be talking to each other,” says Andrews.
IT departments can be guilty of “looking at shiny tools and implementing them as a fun thing” — Andrews
A combination
Similar to Andrews, Gordon Cullum — CTO at Mastek — explains that there are lots of definitions. “It’s one of those really annoying terms.”
But, he says that there is a common definition that generally most people subscribe to. “DevOps is a set of evolutionary practices inherited from the Agile ways of working — these are more tuned to bringing the delivery and operational support communities closer together.
How DevOps works in the enterprise
“It’s about using the processes and the tooling that have been developed over the years for things like test automation, continuous integration and continuous deployment, to enable the faster flow of releases of code through to different environments. Those releases of code could be new functionality, architectural change or bug fixes.
“So it’s a combination of keeping the lights on and changing delivery.”
Traditionally, the relationship between development and operations was fractured. When you add security into this then it becomes clear that something was needed to bridge these departments and disciplines
A bad relationship
When asked what is DevOps, Nigel Kersten — VP of ecosystem engineering at Puppet — said there were two definitions.
The first arose out of the original movement and “it often gets summarised as cultural automation measurement and sharing,” he said.
But, similar to Cullum, Kersten explained that he believes “it is a loose collection of practices that are about breaking down organisational and technical barriers, while delivering software and infrastructure.”
In many ways, this was driven by the fact that operations people were tired of having the responsibility for running applications that they didn’t have any ability to influence or change — because of this, the relationships between development and operations “were often pretty bad,” continued Kersten.
“The operations world realised that they could start adopting development practices due to APIs getting simpler, leading to better tools like Puppet and that they could start learning from software engineering in applying those principles and tools to operations. And, wow, we’re actually starting to deliver infrastructure in a way that’s much more aligned to development.”
“That’s the grass roots setting in many ways.”
Why do we need DevOps? For the business and consumer
In the enterprise space, DevOps is starting to converge on more specific areas. This tends to focus on continuous integration and continues delivery (CICD).
Businesses have started to realised that CICD are appropriate tools to fix many of the problems enterprises have.
But, Kersten sees these as two separate worlds.
“There’s more cutting edge, web-scale hackers who have come out of the DevOps movement and still have DevOps principles, but the definition of converging in the enterprise is slightly different and in some ways a little unfortunate — a lot of CICD engineers are being rebranded as DevOps engineers. People are taking the technical practices without the people focus or cultural change that has always been an important part of DevOps.”
A CALMS approach to DevOps:
- Culture
- Automation
- Lean
- Measurement
- Sharing
A substantial discipline
DevOps as a discipline has emerged more substantially in the enterprise over the last ten years.
“The emergence of new players, the need to be more competitive, have faster agility around software releases and the obvious infrastructure change where businesses have moved to the cloud, all of that has favoured the need for a DevOps,” explains Utsav Sanghani, a senior product manager at Synopsys.
“This discipline needs to understand development, but at the same time focus on how quickly those components be added to the production environment,” he continues.
The DevOps challenge: outdated IT estate architectures
“DevOps as a discipline used to be a buzzword back in the day, but it’s now emerged as a much more substantial one that essentially helps add some fluidity between developers and operations.”
He provides an example:
“When I started programming, we had dedicated operations people and they would manage all of the build, they would manage deployment, but for us as a development organisation, our job ended once we shipped the bits. That has changed now. Your job doesn’t end as a developer or as a development organisation once you’ve shipped your bits to the production guys. If something is a glaring miss and the operations guys identify it, it’s on the development organisation to take ownership for that. Previously, that whole interaction was very confrontational at times. Sometimes it was not the best one and a lot of overhead was incurred in trying to manage that.
“With the advent of DevOps and dedicated professionals around it, you’re now able to easily manage this interaction between these two, the development and the operations disciplines. And essentially, you can add the level of fluidity you need to get to market faster, because traditionally when everybody was waterfall [15 or so years ago], you would hand over to operations and your job was done, at least for the next six to eight months.
“Now, these emerging trends have essentially helped solidify DevOps as it’s moved away from just acting as a pseudo-project management role but to actually skills-based roles that can be applicable to various tools.”
The DevOps engineer: fulfilling the software development life cycle
DevOps resources
What is the right storage software needed for DevOps to be a success?
3 DevOps pitfalls and how to avoid them
DevOps mobile app development: benefits and challenges
DevOps and CloudOps: The connection behind digital transformation acceleration
Why DevOps must become BizDevOps for business and IT collaboration
Best DevOps practices for 2019
Nominations are OPEN for the Tech Leaders Awards, organised by Information Age and taking place on 12th September 2019 at the Royal Lancaster, London. Categories include CIO of the Year, CTO of the Year, Digital Leader of the Year and Security Leader of the Year. Recognise and reward excellence in the tech industry by submitting a nomination today