DevOps Explained

Oussema Miled
4 min readJul 23, 2022

In this article, we’ll get to understand what is DevOps and why do we need it.

Prerequisites

To get the most out of this article, it’s recommended that you have a basic software development and deployment processes knowledge.

The story

Before DevOps, the software department in a company was comprised of two teams: the Development team that develops the plan, designs and builds the software and the Operations team that tests and deploys (puts online) the product.

The ops team gives feedback to the dev team about the bugs found and the changes needed after every iteration of the development cycle. Which means that the timeline will be extended and the software will take more time to be finally released. What can also happen is that the dev team moves on to work on the next project and then receive feedback about the one they thought they finsihed it, so a developer needs to remember and understand again what’s needed and so on. Long story short, a lot of time is wasted going back and fourth to the development and now the dev team hates the ops team since it’s annoying.

Now imagine that we fill that gap between both teams and we make it easier for them to work together. The solution is DevOps, so instead of waiting for a dev cycle to end to be able to test and deploy the changes, now theses phases are IN the cycle.

What is DevOps?

DevOps is the combination of anything (mindset, practices and tools) that creates the process of releasing a software fast and with high quality. It highlights the need for the collaboration between the dev and ops teams and focuses on a constant cycle of rapid iteration, measurement,assessment, and reevaluation. That was the theoritical definition.

DevOps as a role is automating the process from building the software to getting it online while assuring the quality. This process is what’s known as the CI/CD pipeline.

Unoffical DevOps Logo

You can see that the logo is an infinite cycle because the application improvement is infinite, new features and bug fixes get added over time that need to be deployed.

CI/CD stages

The standard of building a successful CI/CD pipeline is to go through 8 different phases as shown earlier in the logo. Let’s go through these again while keeping in mind why devops exists:

  1. The Plan phase is all about what happens before starting to code anything, it’s when the project manager gathers all information from stakeholders and customers and used it to build a product roadmap.
  2. The Code phase focuses on core development tasks from within IDEs and appropriate sandboxing and frameworks.
  3. The Build phase starts when a developer creates a pull request (PR) to add his new code to the old one. By creating a PR, an automated process starts which builds the codebase and runs a series of tests to identify any regressions.
  4. The Test phase consists of a manual and an automated testing for the software, it can be a user acceptance test, security scans and a lot of other forms of testing. This phase highlights any issues that should be addressed before deploying into production.
  5. The Release phase means that we are at a stage when it’s unlikely to catch any bugs or have any kind of issue. So the company can decide when she wants to deploy the changes to production.
  6. The Deploy phase is when we actually release the new build into the production system.
  7. The Operate phase occurs once the code is made live, and consists of making sure that everything is running correctly. We check the configurations, the system environment capabilities and so on.
  8. The Monitor phase takes place parallel to the Operate phase and consists of data collection, analysis, and feedback to the start of the pipeline and to other phases as needed.

More DevOps goodies

We previously mentionned how DevOps improves the work environment for the developers, but it’s better that we focus more on other advantages on different levels so we can feel more the importance of it.

For IT managers, the focus is mostly on improving all the metrics: how fast the software is built and how well it’s performing. As a result, the full cycle and especially the monitor phase of DevOps govern the advantages from an IT manager’s point of view. The benefits are:

  • Less software defects
  • Lower cost and faster releases
  • Improved software performance and MTTR (Mean Time To Recovery)

The CTO / CIO of the organization focuses more on having an efficient team collaboration, a good working atmoshpere and also on ensuring product quality and availability. From the lens of a CTO/ CIO, DevOps offers the following benefits:

  • Individual improvement and cross-skilling
  • Greater flexibility, adaptability and engagement
  • Freedom to brainstorm and experiment
  • Cooperative and happier teams
  • Better process management
  • Reliable and faster fixes, along with enhanced operational support.

We can now notice that implementing DevOps practices within a company offers big benefits which will help the company to be more successful and to generate higher profits.

Conclusion

During this article, we talked about DevOps without digging deeper into details. In the upcoming articles, we’ll go through each stage and discuss how it’s done nowadays, the tools used and much more.

Hopefully you found this helpful 😄, seeya soon!

--

--

Oussema Miled

A Computer Science Engineer who loves to talk about Web Development and sometimes other stuff!