What is Dev Ops?

Published on 18th May 2016

How is the role of DevOps defined in the current marketplace? Jonathan Hall calls upon his knowledge and contacts to explain and predict the future of this increasingly important function... 

There are a few trends currently circling the Brisbane (and wider) IT market. Some of these include the increasing focus on Information Security, the demand for software developers outstretching current candidate pools and finally the consistent emergence of “DevOps”. But what is DevOps??? In my position as a recruiter within this space, it is interesting to see how different individuals and businesses define the role of DevOps. For this reason, I asked 3 people in varying positions including a team member, team leader and manager working in industries such as a start-up, banking and travel –what their definition of DevOps was and where they see it heading.

Alex Hempel – DevOps Engineer

As a longtime ‘traditional’ system administrator in the Windows space, my work took a DevOps turn before I even knew that DevOps existed, never mind what it was. In recent years, I have increasingly taken to automating workflows and processes, starting with simple things like user creation on Active Directory, to more complex workflows required for large projects I was involved in. Not only was it a great learning experience, it also took the complexity out of some repetitive procedures, and made my life easier as an admin. At present, I approach all of my work with the same idea. If I am likely to do something more than twice, I’ll automate it. Working with cloud technologies has fuelled this attitude, as the most efficient way to interact with many of them is through their APIs. 

To me, DevOps is more of a cultural paradigm and a way of thinking, than it is a strictly defined methodology. There is potential for doing things in a DevOps manner in most areas of IT. Where developers want to streamline and automate their delivery pipeline, sysadmins can and should be looking at automating their daily workflows and procedures. The common objective is to reduce the impact of repetitive, time-consuming tasks and free up the professional to focus on their actual work. 

I’ve known a number of sysadmins who shied away from using scripts or code to automate their work. For some it was a case of being scared of the ‘unknown’, the world of writing code, or being insecure about their own abilities. More often than not though, what stopped them was simply that they were too busy. Now, if most of your day is taken up by mundane, repetitive, reactive tasks, then that’s a good sign that you need to adopt a bit of the DevOps culture. Find the time to automate a single task that you do a lot. Do it on your own time if you have to. Once it’s automated and tested, it will immediately pay off in the form of more free time - which can be used to automate the next task. Over time, people will not only become more confident in their skills and their scripts, but will also find themselves with more time in their day - time that can be used for proactive work, research or innovation. 

The existence of automation frameworks, CI/CD tools and APIs is a boon to both developers and sysadmins alike, and both should make use of these as much as possible. But DevOps is more than that. It’s a way of thinking, of wanting to continually improve the way things are being done. And like so many things, it requires a change in attitudes, and proper buy-in from decision makers. But in the long run, the benefits of DevOps are more than worthwhile. 

Guy Harrison – Deployment & Configuration Manager

DevOps is the discipline that should be applied across all phases of all projects both functional and organisational change. The primary goal is to ensure that the operational and change footprint of a delivered product is as small as possible. 

From an operational perspective - the cost of resourcing and managing the product over its operational lifetime can easily exceed the cost of the initial implementation project, especially if not designed and implemented correctly. From a change perspective, a company may have spent many millions on the product, so would thus prefer to be able to use this product continuously without outages to service, which can be costly from both an operational and potentially reputational perspective. The market has changed significantly in the past decade or two, and is generally far less patient with outages to services, and indeed is more likely to switch to another offered service it yours is not available (again). 

DevOps needs to be considered throughout all stages of projects - to maximise the benefits of increased efficiency, infrastructure utilisation, automation, collaboration and innovation. Significant benefits can be gained by applying DevOps discipline early in project design phases, as often tinkering around the edges of a product once it is operationally active is both more expensive, more risky, and is generally more difficult to implement with lower returns. 

There are multiple tools that can be used to support DevOps, such as automation (deployment, configuration, operational), shared and cloud-based infrastructure, etc. However, it is the discipline of DevOps itself which is important. Why is a new product purchased by a company - to use it! 

DevOps is all about improving use and reducing the operational cost footprint of using said product. 

Gary Mandlekow – IT Operations Manager

I was recently asked what is DevOps? And I have been contemplating if "DevOps" been bastardised beyond the point of consensus? Is "DevOps" the new "Agile"? When the Agile movement hit critical mass, IT departments the world over introduced change - whether they understood the original concept or not. Many feel the same is happening with DevOps. We are now seeing DevOps Engineers and teams popping up in most IT organisations. So what should these people produce and does this align with the DevOps concept - which originally was a cultural shift? 

A DevOps culture means to me, a collaborative work ethic that ensures business agility, speed to market, and quality. Professionals from development, quality and system administration disciplines promote DevOps culture by striving for continuous delivery, high quality and resilient systems. DevOps cultures also produce environments that are application aware and can easily be scaled. Automation is key and self-healing systems are the goal. All of these attributes are critical to success in today’s highly competitive and disruptive markets. 

So if DevOps is a culture, what is a DevOps team? Ideally, it should contain progressive IT staff whose skills span more than one of the development, testing and administration disciplines. It should at least consist of collaborators from each of these disciplines, with support from analysts, managers, etc. A startup will apply "green fields" DevOps to build the ultimate agile business, using infrastructure from code, automated testing and automated deployment through all environments. Those dealing with legacies will apply DevOps principles to transform as much as they can.

So above you have three views on DevOps! I am interested to hear where you sit, what you see it as and your views on its future. Ambition will shortly be holding a DevOps forum to discuss above and go into more detail about where DevOps is at and where it is heading. If you would be interested in attending please let me know and we can provide you with more details.