What do DevOps engineers do?

What do DevOps engineers do?

The word "DevOps" is relatively new in the tech world however their work is quite impactful in the way they help reduce the burden on software engineers. DevOps engineers help in deploying software solutions to the cloud and managing cloud based infrastructures. What this means for software engineers is that we can focus simply on writing code that works while the DevOps engineers focus on ensuring that the product of our code is available on the internet.

The process of packaging and deploying code to the internet can be quite stressful when working with a team of software engineers, imagine a beautiful painting like Mona Lisa, now imagine three painters working on it simultaneously, the first painter paints the head, the second painter paints the hands, chest and belly region and the third paints everything below. Without proper technical guidance it's highly unlikely those painters will create a masterpiece while working simultaneously.

When one is writing code professionally and building enterprise applications you quickly realize that not all code can be hosted by the same web hosting infrastructure. There's a virtual machine that reads and interprets codeand uses it to create something that users can enjoy looking at and also interact with (eg. Hashnode isn't this pretty, it's just a bunch of code, the virtual machine is what reads the code and generates all the beauty you see).

There are servers that store data obtained from the client, there are a ton of other business decisions to be made before purchasing a domain name, a web hosting service and a web hosting plan (depending on scale and other factors). The virtual machine and server are more picky than one would expect. If a the virtual machine receives code it's not compatible with, you can expect that it will not be able to read it and by extension the clients won't see anything.

After registering a domain name, there comes the process of web hosting, deciding whether to host on Linux based server or window based server can be quite the issue (I'll leave out WordPress here). Cpanel is a web hosting application that works with code that is compatible with Linux based Server, Plesk works with windows based servers. What this means is that when writing code with programming languages that belong to the .Net universe (eg. Visual basic, C#, etc.) or ASP (active server pages), you're advised to host them on Plesk. This is just one of the many things DevOps engineers handle. Having worked on deploying some code online, I can tell you for free that a software engineer should always let the DevOps engineers handle the business of deploying code to the cloud.