Howdy Everyone! Let’s dive into DevOps.

My name is Monica. I have many years of tech expertise under my belt. For the past 5 years, I have been a DevOps Engineer. I’ve been volunteering with AnitaB.org since 2019. I hope you leave here today with a better understanding of DevOps and gain actionable steps to work through a step-by-step lab. Let’s get started!

To save time for the level-up lab:

What the H-E-Double L is DevOps Anyway?

Before DevOps existed in 2007

To understand what DevOps is today, it helps to understand how applications were used to be deployed and hosted back in the day- keep in mind “back in the day”, was not that long ago. The DevOps movement started around 2007, making it barely 18 years old — not even old enough to legally drink in the USA.

Let’s rewind to 2007; there was a development team and an operations team. The development team was the software developers who actually coded the application. The operations team consisted of infrastructure engineers/linux engineers/security engineers/etc, who were responsible for hosting, monitoring, and securing the newly coded application. These teams tended to be separated and siloed. During this time, an outage usually meant there would be a lot of blame going around and a lot of people being thrown under the bus. “It works on my laptop” was probably the most common phrase at the time.

Before I get into what DevOps is, I should explain what DevOps IS NOT:

  • IS NOT a set of tools.
  • IS NOT a company reorganization.
  • IS NOT a one-size-fits-all.

This is what DevOps IS:

  • DevOps is a mindset and a culture shift.
  • DevOps is about sharing responsibility for the application across all teams.
  • DevOps is about leveraging the concepts of Agile, Continuous Improvement, and automation.
  • DevOps is about breaking down those silos.
  • DevOps is forever improving and evolving.

DevSecOps Infinity Loop

You might’ve already seen the popular DevOps Infinity Loop. Everything starts with a plan. “Failing to plan, is a plan to fail.” There are hundreds of tools to help you but I’ve listed some of the most popular ones.

Now, we need a developer to actually code the solution. Code is no longer stored on just laptops and random servers in garages. It used to be difficult for developers to code at the same time but now we have code repositories for that. There are hundreds of vendors for code repositories too. I listed a few trending ones, however we’ll use Bitbucket in this lab.

Developers often have to do repetitive tasks, like compressing files or optimizing fonts. Build tools help automate this. The build tool depends on the language being used. I’ve listed some for Java and Javascript. We’re not using a build tool in this lab since it’s really only HTML. Sticking with just the basics first.

“Failing to plan, is a plan to fail.”

Now that the code has been packaged and built, it’s time for some testing. There are many types of tests: functional testing, regression testing, UI testing, API testing, and syntax testing, to name a few.

After testing approval it’s time for deployment or delivery. We’re on the OPS side of DevOps now. I like to deploy to a staging environment first, then if the staging environment looks good, it’s time to deploy to production. Cloud computing really helps here. I’ve listed the big 3.

Our work does not end at delivery. We need to make sure the application stays online and stays secure the entire time. We need to make sure the application scales to handle peak traffic times. We need to make sure any configuration changes get deployed in a consistent and safe manner. Containerization, Infrastructure as Code, and Configuration Management really help here.

“Monitor” is the next phase. We want to be the first ones to know if our site goes down.

In the middle of everything is “Integrate”, we’ll be using Bitbucket Pipelines as our CI/CD tool.

Notice how “communication & security” forms the foundation and happens throughout the infinity loop.

Lab Scenario

  • A student needs to host their resume.
  • The student has very little $$.
  • The website will be static — only HTML.
  • Web traffic is expected to be low.
  • No sensitive data such as SSN or CC will be stored on this website.
  • The student must demonstrate the principles of DevOps and CI/CD with this website.

Ready to work through this pipeline challenge? Listen to the Level-Up Lab recording and access the free PDF Step-by-Step Guide here. This workshop was originally created for AnitaB.org Members on March 19, 2024.

With the support of AnitaB.org, I hope to continue teaching DevOps skills to the next generation of technologists like you! AnitaB.org offers both free and paid Memberships. Join today!


Leave a Reply

Your email address will not be published. Required fields are marked *