The ultimate guide to DevOps –– everything an enterprise needs to know

This month, Information Age has been exploring DevOps: the practice that combines software development and IT operations to speed up the delivery lifecycle, while improving quality. Here, we provide the ultimate guide

“DevOps has been increasingly adopted to break down silos between business and IT as organisations move to a product-centric model,” says Peter Hyde, research director at Gartner.

“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.

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 AppDynamics. 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?

DevOps leadership

“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?”

The path to DevOps

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?

– Hyde

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 challenge to a successful DevOps 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 and Agile 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.

Rob Greenwood, technical director, Steamhaus says:

“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 engineers. 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.

  1. Focus on discipline and process
  2. Understand the release velocity and release agility
  3. Champion collaboration
  4. Change the culture
  5. Don’t forget the data.

“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?”

Explore these five steps in detail here.

* What DevOps tools have you worked with? Why is DevOps important and what does it represent?

* Describe what DevOps has helped you achieve – both in a work environment and personally.

* Are you a team player? What is your motivation for working in DevOps?

* What skills do you possess? What use cases of previous projects can you provide?

* Tell me about past failures or challenges and how you’ve overcome them from a software development and/or technical operation side? Are you an effective communicator?

Find the answers to these questions here.

“I’m looking for people who when they come across a problem, they take on the responsibility of solving it,” says Nigel Kersten, VP of ecosystem engineering at Puppet

DevOps conferences are a great opportunity to keep abreast of developments in this space. And, there are plenty.

In the UK:

* Continuous Lifecycle, May 14-16

* Jax DevOps, May 14-17

* Gartner Application Architecture, Development & Integration Summit, May 20-21: This conference covers many areas, but has some interesting featured sessions on DevOps

* Cloud and DevOps World, 12-13 June: Again, this conference goes beyond DevOps, but the topics are linked

* National DevOps Conference, June 18-19

* DevOps Enterprise Summit, June 25-27

* CloudNative, September 25-27

Worldwide, there are also a large number of DevOps conferences.

Jenkins World (August 12-15, San Francisco) is another conference, which has people from all over the world come in and talk about the best ways to improve such things as release agility and new continuous integration (CI) processes.

Click here to find out full list of the best DevOps conferences in the world.

DevOps adoption

“We are seeing increasing DevOps adoption, across the board,” continues Hyde.

And like with any technology, even though DevOps is a way of working, start small and scale-up.

“It’s the same as agile,” continues Hyde. “Businesses should pilot on individual teams and then extract what they’ve learned, so that they have proven knowledge.

“We don’t want best practice, we want proven knowledge from our organisation; our teams, our structures, our products.”

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

Browse

Article by channel:

Read more articles tagged: