DevOps

Nathan Boulet
Texidi: Your Journey Into Tech
3 min readSep 30, 2019

To best understand this post, it’s best to read our posts about software development first.

Very formally, Len Bass, Ingo Weber, and Liming Zhu — three computer science researchers from the CSIRO and the Software Engineering Institute — suggested defining DevOps as “a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality”.

Say what now?

In human terms, one important responsibility of DevOps is to make sure that when developers make changes to applications (such as a website or a mobile application), these changes can go ‘in production’ quickly and without any problems.

What does it mean to go in production?

Imagine you find a bug on your Spotify playlist: your favourite playlist cannot be played anymore. You report the bug to Spotify and they immediately recognize the importance. They ask their developers to fix the code asap, which they do. However, these changes need to ‘go in production’. This is where the DevOps team comes in. They are responsible for making sure that these changes are quickly ‘uploaded’ in the real environment, so you have access to your playlist again. This is called ‘deployment’.

Just think about a port. The goal of the port is to stack containers with cargo and then load it up to ships to export it to other ports. The developers will stack the containers with cargo (or the content of the app). When the content is ready, we need to ship it. This means we need to load the containers as efficient as possible on the ships and transport it to the next port, where we need to offload (or deploy) it.

The DevOps engineers are responsible for this whole process. They will make sure that when developers deliver code. It can go in production (to the actual application) without problems.

Another important responsibility of DevOps engineers is to make sure that there is close to zero ‘downtime’. This is a time when applications, websites, computers or other machines are out, unavailable for use. On the website https://www.isitdownrightnow.com/ you can see which of your favourite applications have experienced some downtime.

Another responsibility is to create so called ‘testing environments’. Remember the ports? We basically need to ship code from the developer (home port) to the end user (client port). DevOps will make sure that we create intermediate stations or ports where the content can be checked. These ports are called ‘testing environments’. So DevOps engineers will manage these testing environments for the developers.

A final responsibility of DevOps is to create (and automate) the infrastructure. This means that DevOps will be responsible for making sure that the different ports are well set up and that nobody can break into the containers to steal or put data. In reality, this means that DevOps will provide developers with the necessary setup of their operating systems and make sure that they can ship their containers safely.

So in short, the 4 most important responsibilities of DevOps engineers are:

  1. Making sure that changes are quickly added to the real time application.
  2. Making sure that the application always keeps running.
  3. Managing the whole pipeline from development to deployment.
  4. Creating and automating the development infrastructure

This blogpost is part of Texidi’s mission to make tech understandable for non-tech profiles. Check out other blogposts explaining tech terms in an easy and fun way.

Follow us on LinkedIn and Instagram to be the first to receive the latest news about our new podcast Recs & Devs, our blogposts and much more!

Download now the new Texidi app to learn and reinforce your tech knowledge and tech jargon! Available for Android and iOs.

--

--