The practice that combines software development and IT operations to speed up the delivery lifecycle, while improving quality. Here, we provide the ultimate guide
As Covid-19 continues to impact the global economy and many countries’ national healthcare systems, organisations have to respond to the disruption. Implementing a strong DevOps strategy can help to break down the silos between business and IT, necessary to maintain productivity, efficiency and security during this sustained period of remote working, which is why Information Age has produced this guide.
“If we don’t have everybody in the whole product development and support teams working together, we create barriers, we slow down development, we slow down the support for our customers. The most important metrics we now have is customer lead time; how long from concept commitment to delivery and production for our customers. We need everyone working together on that. We need integrated teams to deliver value,” he continues.
What is DevOps? Hyde’s favourite definition of DevOps is “the practice of operations and development engineers collaborating throughout the entire service lifecycle, from initial concept through the development process to production support. They we need to understand each other to better work together.”
The notion of DevOps is relatively simple, although putting it into practice is somewhat more complicated; requiring a level of collaboration, communication and leadership that many organisations struggle with.
DevOps requires a culture change as much as anything else — which is something organisations going through digital transformation efforts will recognise as a significant hurdle.
AWS defines the term pragmatically 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.’
Annie Andrews, head of technology at Curo Talent, confirms that “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.”
The discipline has now emerged as a substantial one that organisations must adopt. It accelerates the fluidity between developers and operations, which leads to faster delivery times concerning products and applications, without sacrificing quality.
Businesses by now know that they need DevOps, but they’re not entirely sure how to implement it.
They need DevOps, ‘simply’, to compete with an increasingly congested marketplace; to streamline internal business processes and get the highest quality products out to their customer base as fast as possible.
“To drive competitive differentiation,” reiterates John Rakowski, market specialist for application performance management and analytics at LogicMonitor. But, for the consumer, rather than internally.
“As consumers are now ‘always on’, businesses must perfect the digital user experience through the continuous delivery of reliable services, whether that be traditional web, mobile applications, IoT devices or wearables. Development and operations combined enables organisations to develop better, more consumer-focused applications with a higher degree of consistency,” he says.
Before implementing DevOps in enterprise, leaders must first identify why they want to adopt it. Here, the old adage applies: don’t apply technology for technology’s sake.
“You have to know why you’re trying to do it. What is it you want? Do you want repeatable quality? Do you want cheaper or faster deliveries? Do you recognise a need to modify the architecture,” asks Gordon Cullum, CTO at Mastek?
How DevOps works in the enterprise depends on the journey — frustratingly, perhaps, there is no simple answer.
The key takeaways for business leaders should be; don’t underestimate the cultural change required (people have to buy into the idea, similar to digital transformation), don’t rely too much on heavy documentation (you’re not going to know everything up front) and approach risk proactively (don’t be afraid of change).
If business then decide to implement DevOps within teams, from a process and method point of view, then these questions must be addressed; is your architecture able to support it? Is a leadership roadmap in place that creates the environment necessary to start delivering fast, high quality, automated deliveries?
“Everything is holistic and needs top down support,” says Hyde.
“Businesses need someone from the top level explaining: what is our business driver? What is our vision?
“They also need middle management and practitioner support and buy-in; they need leadership to communicate what DevOps means to them, does it change the political hierarchy?”
1. Business goal. What is our business goal moving to DevOps? Sometimes it’s speed of delivery. How do we do early delivery, frequent delivery?
Once businesses have that vision, they can start to drive that down and understand how we can implement DevOps.
2. Collaboration. We might do that with ambassadors or operational liaisons.
3. Customer outcome. How do we focus on achieving what our customer needs? And how do we work with our customer better, so that they can understand how things are changing?
4. Automation. How do we automate through the pipeline? This is the full pipeline now, not just development. It’s taking the whole, from initial planning to creation, verification and pre-production release; all the way through the lifecycle and back round again, so we can bring all that great data back into our planning.
5. Compatible tooling. If an organisation uses different tooling, it begins to create barriers again.
6. Real-time monitoring. We need to use much better monitoring tools to help react faster to issues.
7. Deliver continuously. How do we get our continuous integration/continuous delivery (CI/CD) pipeline to work in a modern way?
8. Retrospectives and reviews. How do we do workshops together as a full development value stream, include everyone and really update process piece by piece in an iterative way to increase capability?
Developers and those in IT operations need to take a more holistic approach to security. The stakes could not be higher.
DevSecOps, as the name suggests, is the combination of development, security and operations.
‘Security must be integrated into the agile development process. By doing so, organisations will be able to address security threats more effectively and in real time,’ writes Rusty Carter, VP product management at Arxan.
‘Making security a shared responsibility between development, IT and security teams should help change the perception that security is a burden and slows down the agile process — in addition to sensitising the entire team to the need for speed and agility to deliver new solutions to market.’
The biggest DevOps challenge to a successful implementation concerns outdated IT architecture, which can’t support the new, agile way of working.
The need to modernise IT infrastructure is relevant to the larger organisations that are steeped in legacy — ironically, those who would benefit from DevOps the most. Fortunately, the business case for IT modernisation goes beyond DevOps and should be one of the priorities for any organisation wanting to compete in the era of disruption. IT needs to be embedded into the business community.
Luca Ravazzolo, product manager at InterSystems explains: “As the cloud world evolves, we will see the development of more intelligent tools that will allow us to follow up DevOps processes with more discipline and become more efficient. We have seen this in the last few years with the rise of cloud offerings which try to bring together the coding and building of a solution. This will help provide solutions for issues such as testing, deployment and security.”
DevOps vs Agile. They have their differences, but both disciplines are pulling in the same direction — they share a similar philosophy.
DevOps emerged out of frustrations between development and operations, whereas Agile was born out of teams not being able to deliver what the customer actually wanted.
Traditionally, development and operations teams — separately — would work on relatively heavy waterfall-style projects, but as soon as these started to attract users, it became clear the problem wasn’t being fixed — hence, the rise of DevOps.
With Agile, internal project managers doing date-based delivery used to plan a three-year projects for building software. ‘In three years, we know where this software is going to land,’ they would say. But, the industry has learned that software development doesn’t work like that.
Initially, DevOps was more focused on solving internal organisational problems, whereas Agile had a much more outbound aspect to it. But, now both are reflected internally and externally.
“Both are structured, but lightweight, with the focus on efficiencies. They also both follow iterative processes, which contrasts with Waterfall — where the expectation is that a fully functional product is delivered at the end.
“With Agile, tasks are prioritised and then organised into short sprints or ‘time-boxes’. This sprint approach works well with DevOps’ cyclical processes – and a toolset designed to offer various reusable components. With Waterfall, however, you would restrict the key benefit of DevOps – namely, continuous delivery.”
Crucial to the success of DevOps is the team behind the principle — the DevOps engineer. Essentially their role is to improve and maintain the software development lifecycle.
These individuals, ideally, should have a broad range of knowledge around various tools and scripting languages (such as Bash and PowerShell), rather than a specific focus on one.
“You need to be constantly reading tech articles, constantly looking at releases and updates for the likes of AWS. You really need to be kept up to date with what’s going on, because there are new tools coming out every day. If you don’t know about them, you’re not going to use them and you’re not going to deliver the best DevOps process for your company,” according to Mark Quinn, director of engineering at Mojo Mortgages.
Building an effective DevOps team — filled with DevOps engineers (among other roles) should be a priority for organisations.
“When you think about building out a team that manages DevOps, the focus should not be on the tools but instead on the understanding a) the discipline, and b) the processes,” explains Utsav Sanghani, senior product manager at Synopsys.
“It all starts with collaboration,” believes Hyde. “How do we get development and operations collaborating together? How do we start to understand each other’s languages, each other’s challenges and the pain points?”