DEV Community

Cover image for DevOps: Learn what it IS by what it ISN'T
Toul
Toul

Posted on • Edited on

DevOps: Learn what it IS by what it ISN'T

The DevOps Engineer role is a relatively new role that has come into existence during the past decade in I.T. and seems hard to define.
Part of what makes the position challenging to understand is that it is continually changing due to new technologies.

However, a good start at understanding it is to realize that it is a mix of several different roles; software engineer, sysadmin, network engineer, and more.

Of the roles, the two with the most massive influence are software engineering and sysadmin. I think the Dev piece of DevOps is Software Engineering, and the Ops is sysadmin.

With that mindset, then the following will make sense.

A DevOps Engineer is responsible for building software that automates the developer experience and sysadmin responsibilities.

This post demonstrates what a DevOps engineer does and what DevOps culture is and isn't using Azure and Azure DevOps.

Skillset

Typically a DevOps Engineer has the following experience with technology:

  • Containers like Docker
  • Container Orchestration like Kubernetes
  • Infrastructure as Code like Terraform
  • Configuration of Servers through code like Ansible, Puppet, Salt, or Packer
  • Proficiency in a programming language like Python or GO
  • Familiarity with shell scripting awk/bash
  • Familiar with Linux and User Management
  • Networking
  • Software Development
  • Familiarity with a cloud host provider like AWS, GCP, Azure, Digital Ocean, etc.

Not DevOps

To better understand, let's establish what a culture of Not DevOps looks like in an organization.

Dunder Mifflin Paper Company

Suppose we're at a Fortune 500 company like Dunder Mifflin Paper Company. The leaders decide they want to build a new web application to take paper orders. And you have been hired as a fresh graduate of a Bootcamp or college to make it happen. So you get work, which might look like this.
(1) You write and push code to GitHub -> (2) Code is tested by QA / Security -> (3) Code is Deployed -> (4) Users visit website
Let's look at a technical example to understand the workflow better.

Azure - Technical Example

We'll use the free Azure App Service to deploy a Python Django Web App.

continue reading...

Top comments (0)