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
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.
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 primarily influences the application lifecycle. Broken down into four sections, which work in a continuous loop.
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:
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.
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
4 min read Want to know how you can pass Core Web Vitals with the do’s and don’ts of front end development? Find out everything you need to know here!
2 min read Do you know about the new Google Analytics 4 coming in 2023? Read everything you need to know about the changes in this blog!
3 min read Read how Status Pages can help you communicate website downtime or website and app issues with your customers clearly & efficiently!
3 min read Website downtime affects all websites, large or small. We break the common misconceptions in this post by telling you some of the biggest, and most shocking, websites that have experienced downtime in 2022 already!
5 min read In this blog post I want to go over some of the software I use alongside my IDE/version control tools during my day-to-day work. These tools allow me to cut down on wasted time spent doing things inefficiently, track my work, take notes, and generally make my life easier.
3 min read Here’s everything you might need to know about StatusCake that might just surprise you! From the range of customers, to our check rates, this is a list that you should definitely be reading.
Find out everything you need to know in our new uptime monitoring whitepaper 2021