StatusCake

downtime

What is DevOps?

If you’re in the software development space, or just started a career in software development you’ve probably heard people talking about DevOps. Studies show that 74% of companies have implemented DevOps in some fashion, but what is it exactly?

First described by Patrick Debois in 2007 (Patrick being commonly known as the “Godfather of DevOps”), DevOps is a portmanteau of “development” and “operations,” and it refers to bringing the Development and Operations teams together forming a collaborative approach of building applications. The goal of DevOps is to produce better, more reliable software products.

In this blog post, I’ll take a closer look at the key points of what DevOps is and the improvements it brings to businesses.

Who is DevOps for?

DevOps isn’t one specific thing like a programming language or a specific tool. It’s the culture and philosophy that takes teams that have been isolated in the past, bringing them together to better coordinate and collaborate.

Historically, development and operations teams have been separate entities, with their own sets of processes and ideas of how things should be run. Developers would create a product, deploy it, and then pass the responsibility of dealing with any user issues, updates, and general business support to the operations team. 

This was a raw deal for the operations team, as they were not involved in the products development their product knowledge would probably be limited to the provided documentation and if they were lucky a brief training course. This also isn’t a great arrangement for the development team as without the operations team’s insights, perspectives, and experience with the business domain they would be solely relying on the requirements document for guidance (which is almost always missing something!).

Bringing the teams together allows a more informed and therefore superior product to be released faster, with fuller features and smaller periodic updates.

Despite the name, DevOps isn’t limited to just the development and operations teams, it’s not uncommon for businesses to also include quality engineers and security specialists from other teams for their valuable input. 

DevOps in action

DevOps primarily influences the application lifecycle. Broken down into four sections, which work in a continuous loop.

Chart, pie chart

Description automatically generated

Each section of the loop depends on the other sections. Each section is not limited to a specific role, with each person on the team involved in multiple sections of the lifecycle (or perhaps all of them). The four sections are:

  • Plan: This is when the DevOps team defines the features and capabilities of the applications and systems they’re working on. Creating backlogs, tracking bugs, managing agile software development with Scrum, using Kanban boards, and visualising progress with dashboards are some of the ways DevOps teams plan with agility and visibility.
  • Develop: The develop phase includes all aspects of coding, including writing, testing, reviewing, and integration. The goal is to work rapidly and with maximum efficiency with no negative impacts on quality or stability. To facilitate development, DevOps teams typically use a mixture of productivity tools (such as collaborative version control software such as Git) and automation tooling (most commonly Jenkins).
  • Deliver: Delivery is when the application is deployed into a production environment. The DevOps team determines a release schedule and uses automation to move applications from one stage to another. The deliver phase also includes deploying and configuring the fully governed foundational infrastructure that makes up those environments. These environments often make use of technologies like Infrastructure as Code (IaC), containers, and microservices.
  • Operate. This involves maintaining, monitoring, and troubleshooting applications in production. Teams work to minimise downtime while also keeping an eye on security and compliance. In the operating phase the goal is to catch any issues and implement remediations before they have an impact on customers. The loop then feeds back to the planning phase, and the cycle continues.

The 4 main DevOps practices

There are 4 common practices that any DevOps team should be making use of. These are:

– Continuous integration/continuous delivery (CI/CD)

Continuous integration (CI) is the process of automating and integrating code changes and updates from multiple team members during software development. In CI, automated tools confirm that software code passes a suite of tests and error checks before it’s integrated, this helps detect code bugs and speeds up new releases.

Continuous delivery (CD) means that new software can be pushed into production multiple times a day, automating the delivery of applications to infrastructure environments. CD is a key part of DevOps, which helps shorten the software development lifecycle.

– Microservices

This practice structures an application as a collection of smaller services. In theory, these services are easy to maintain, more testable, independently deployable, and can be owned by a small team. You can read my write up on Microservices here Microservices vs Monoliths explained

– Monitoring and logging

This involves using tools to track metrics and store and interrogate data logs to see how the application is performing. These tools can be used for passive and active troubleshooting, allowing you to find the root causes of problems and unexpected changes as well as being proactive about any issues, helping minimise downtime.

Communication and collaboration

Solid communication is critical to the success of a DevOps team. This might be done through active chat and file sharing using tools such as Microsoft Teams or Slack. Project tracking systems such as Jira or Float, or team wiki tools like confluence.

So, what are the benefits of adopting DevOps?

  • Speed: DevOps increases the frequency and quality of releases so you can maintain and improve your product code more frequently. 
  • Adaptability: With Operations and Development moving in unison, DevOps allows you to pivot easily to incorporate different features and make changes based on market/user trends and demands without disrupting your entire development process.
  • Reliability: Having more people involved in the entire process ensures a higher quality product. CI/CD is an important DevOps practice that helps teams roll out changes in a controlled way and with a static configuration methodology.
  • Improved interoperability and productivity. DevOps is a change to the culture of a company, emphasising accountability and ownership and not just throwing problems over the wall. Teams and individuals are expected to collaborate with specialised tools that encourage collaboration, improve problem solving and allow solutions to problems to be implemented faster.

Conclusion 

Successful implementation of the DevOps strategy requires an organisation-wide culture shift. It’s not just about using “DevOps” tools and processes but getting all the stakeholders of a project involved and collaborating to produce the best product possible.

I hope you find this overview of DevOps informative and useful.

Share this

More from StatusCake

A Notification List Is Not a Team

3 min read In the previous post, we looked at how alert noise is rarely accidental. It’s usually the result of sensible decisions layered over time, until responsibility becomes diffuse and response slows. One of the most persistent assumptions behind this pattern is simple. If enough people are notified, someone will take responsibility. After more than fourteen years

Alert Noise Isn’t an Accident — It’s a Design Decision

3 min read In a previous post, The Incident Checklist: Reducing Cognitive Load When It Matters Most, we explored how incidents stop being purely technical problems and become human ones. These are moments where decision-making under pressure and cognitive load matter more than perfect root cause analysis. When systems don’t support people clearly in those moments, teams compensate.

The Incident Checklist: Reducing Cognitive Load When It Matters Most

4 min read In the previous post, we looked at what happens after detection; when incidents stop being purely technical problems and become human ones, with cognitive load as the real constraint. This post assumes that context. The question here is simpler and more practical. What actually helps teams think clearly and act well once things are already

When Things Go Wrong, Systems Should Help Humans — Not Fight Them

3 min read In the previous post, we explored how AI accelerates delivery and compresses the time between change and user impact. As velocity increases, knowing that something has gone wrong before users do becomes a critical capability. But detection is only the beginning. Once alerts fire and dashboards light up, humans still have to interpret what’s happening,

When AI Speeds Up Change, Knowing First Becomes the Constraint

5 min read In a recent post, I argued that AI doesn’t fix weak engineering processes; rather it amplifies them. Strong review practices, clear ownership, and solid fundamentals still matter just as much when code is AI-assisted as when it’s not. That post sparked a follow-up question in the comments that’s worth sitting with: With AI speeding things

Make Your Engineering Processes Resilient. Not Your Opinions About AI

4 min read Why strong reviews, accountability, and monitoring matter more in an AI-assisted world Artificial intelligence has become the latest fault line in software development.  For some teams, it’s an obvious productivity multiplier.  For others, it’s viewed with suspicion.  A source of low-quality code, unreviewable pull requests, and latent production risk. One concern we hear frequently goes

Want to know how much website downtime costs, and the impact it can have on your business?

Find out everything you need to know in our new uptime monitoring whitepaper 2021

*By providing your email address, you agree to our privacy policy and to receive marketing communications from StatusCake.