What is DevOps and how can you do it well? Learn about the fundamentals of continuous collaboration.
In the business world, DevOps is one of those things that everyone's heard of but not everyone understands. It's a bit like the FTSE share index or exchange rate mechanisms. It's important – sure. But what is it and why, exactly, does it matter?
The simplest explanation is that it's an approach to software development that speeds up deployment without sacrificing quality. It does this by bringing together two IT teams that are traditionally at loggerheads: dev (development) and ops (operations).
In most companies, devs make the applications and ops implements them. But they tend to have different approaches and priorities. Devs want to make changes. Ops wants to ensure system stability and availability. These conflicting priorities mean one thing: applications take longer to get to market.
It's not unlike the traditional relationship between a government and its treasury. The government wants money for a new infrastructure project, say. The treasury goes away, does the sums and tells them it's not possible right now.
This matters because, these days, all companies are software companies. If your website or mobile app fails, you're going down with it. It's no exaggeration to say that, in today's digital economy, a business's software is more important than its gas, electricity and water supplies.
This is where DevOps comes in. It seeks to speed up the production pipeline of apps by uniting devs and ops.
It's a big change that requires new tools and resources – but above all, it requires a new mindset. This, in fact, is the biggest stumbling block for many organisations seeking to implement DevOps. The tools are in place, but the teams aren't on-side just yet. Done well, however, it can lead to tangible improvements in productivity and quality.
That's what it is – but how do you do it well? It's all about continuous collaboration.
What is continuous collaboration?
Traditionally, different departments have different specialisms – and different responsibilities. In the case of dev and ops, it's usually the case that devs make suggestions and ops tell them whether they're feasible or not.
Continuous collaboration, by contrast, seeks to spread responsibility between devs and ops. Under DevOps, no department is an island. They combine their skills to optimise the production and deployment of apps.
Automation is integral to the process. Manual deployment is a time-consuming affair. Automation takes some of the heat off both teams.
What are the benefits of DevOps?
There are two main benefits of DevOps. But as with many things in the tech world, they only work when they work together.
The first is speed. DevOps lets developers spin up, share, test and deploy products and apps at a clip. This is partly because they're no longer in opposition to ops. Instead, workflows are in place to ensure that the pipeline is free from blockages.
The second benefit is quality. By collaborating, the two teams can remove some of the obstacles to deployment.
But like we say, these two benefits need to be balanced. Speed doesn't mean rushing – and quality doesn't mean "that'll do". Instead, the product pipeline is fine-tuned for speed
and quality.
What are the drawbacks of DevOps?
Done well, DevOps can make a company more efficient and speed up time to market. Done badly, it can be little more than a mess.
This is sometimes to do with costs incurred by structural changes. But more often than not, it's because companies lack realistic goals and meaningful metrics.
Like any structural change, DevOps is not a silver bullet. Organisations need to be able to articulate what they want DevOps to do for them. If they can't, they're likely to be let down.
This means concrete goals – but it also means metrics to measure whether those goals are being met. Typically, these will include deployment velocity, product quality and delivery success. Each of these will consist of mini-metrics (what does "quality" mean to you?)
At the end of the day, companies need to know what DevOps is for – and how they'll know if it's working for them. Without these goals and metrics, it's likely to be an expensive failure.
Where did DevOps come from?
DevOps as we know it first emerged in 2007, when a project manager named Patrick Debois was working on a data centre migration.
Debois was responsible for testing and found to his dismay that the project was bounced back and forth between devs and ops with no obvious way to bridge the gap.
Two years later, attendees at the O'Reilly Velocity Conference saw a presentation called "10+ Deploys per Day: Dev and Ops Cooperation at Flickr". This resonated with Debois, who took the opportunity to create DevOpsDays, an event that brought together systems administrators (ops) and developers (devs).
The rest, as they say, is history…
Who's using DevOps?
DevOps is used by many industry leaders, including Walmart, Netflix and Microsoft. Ever wondered how Netflix can push out so much content each day? The answer has to include DevOps.
But it's not just corporate titans that are implementing DevOps. The DevOps Excellence Awards 2024 handed out
gongs to all manner of businesses.
DevOps vs FinOps vs DevSecOps: what are the differences?
There's no getting around the fact that the world of tech is a world of jargon. If you're exploring the topic of DevOps, you might come across casual references to FinOps and DevSecOps. How are they different from DevOps?
The main aim of DevOps is to shorten the software development cycle. FinOps, by contrast, is focused on cloud financial management. It involves managing and optimising costs to reduce cloud expenditure and ensure good ROI.
DevSecOps incorporates security (sec) into the DevOps framework. It aims to ensure that security is an integral part of the software development life cycle rather than an add-on.
Are you looking for ways to optimise your use of cloud technologies and accelerate innovation in your business? Here at Ascend, we were born in the cloud – and we've helped dozens of global businesses thrive when they get there.
Get in touch to learn more about our
cloud optimisation services.