DevOps Tools That Recruiters Should Know

DevOps recruitment may seem really technical — and well, it is. But we’re here to help break it down into understandable pieces, demystifying what these engineers do and the systems that support them.

The goal: for you to confidently read resumes, conduct interviews, and have more knowledgeable conversations with your technical candidates, hiring managers, and colleagues. Let’s dive in!

Overview of Tool Categories

The landscape of DevOps tools and skills is vast. When you look at the Periodic Table of DevOps below, you’ll have a glimpse at the many categories and specialities that make up this field (and it’ll explain why reading their resumes is so challenging!).

While no one can be proficient in all of these tools, the good engineers are likely to be experts in at least a couple areas. We’ll cover five primary categories, their uses, and a few specific examples of each:

  1. Configuration Management
  2. Containerization
  3. CI/CD Build Pipelines
  4. Infrastructure as Code
  5. Logging/Monitoring (These are often complementary or packaged together, so we’ll keep it simple by talking about them in tandem.)

1. Configuration Management

What is it?

Let’s begin with Configuration Management. This is one of the most powerful and necessary pieces of automation for a DevOps Engineer. In order for a given website or system to handle thousands or even millions of users at the same time, there’s a need for a lot of servers to handle all that traffic. This calls for scaling up server capacity, either in the cloud or on premise — all with the same type of configuration. Without a tool to handle this, it’d require going into each server manually, one by one. As you can imagine, this can be extremely time consuming, and is prone to human error, despite how good someone might be at their job.

Uses & Benefits

With automated Configuration Management, an engineer can put together a specific set of instructions for how the server should be configured and what should be installed. The tool then performs those instructions on every resource that’s assigned a certain grouping or tagging. Primary uses include releasing new code to production, auto-scaling, and deploying to test environments throughout the entire Software Development Life Cycle (SDLC).

A secondary use is managing internal users’ levels of access to different environments and servers. When developers, QA testers, or PMs are being on-boarded and off-boarded, Configuration Management can quickly add or remove them for security reasons.

Top Tools

Some of the most popular configuration management tools in the market today are: 

  • Packer
  • Puppet
  • Terraform
  • Ansible

To learn more about these DevOps tools and more to come from the following categories, sign up for our upcoming full DevOps course, coming soon!

2. Containerization

What is it?

Next up: Containerization. A container is a great way to consolidate an application to make it portable and reproducible. Prior to containers, system administrators would create virtual machines (which required configuration and maintenance). Then, they’d install the application through potentially very complicated deployment steps.

With containers, we have a very small unit of software that packages all code and dependencies just for that unit, and allows us to quickly start it, stop it, move it around, and re-deploy it with only a couple of commands.

Uses & Benefits

Containers are used all across the SDLC, as they help speed up development and production through their ease of use and portability. They also allow for scheduled jobs, so scripts don’t always have to be running. For example: Say there’s a data ingestion or migration script that runs once a week to load data into a database for Business Analysts. Instead of paying for a server that is always running, a container can be spun up to run the script, and a company just pays for the minimal computing time they’ve used.

Containers are very quickly becoming a standard, though many engineers are either wary or haven’t had the opportunity to learn to use them. Those who have made the switch can easily show how useful they are and all the problems they solve — a big plus for candidates in DevOps recruiting.

Top Tools

Top containerization tools today include:

  • Docker
  • Kubernetes
  • Amazon’s Elastic Kubernetes Service (EKS)
  • Google’s Google Kubernetes Engine (GKE)

3. CI/CD Pipeline

What is it?

There are three components that can make up CI/CD:

  • Continuous Integration (CI) — Developers are constantly making improvements on their software, and Continuous Integration is the strategy of immediately building and testing each change as soon as it’s made. Automating this work upfront prevents it from holding up the delivery step later.
  • Continuous Delivery (CD) — Continuous Delivery is the idea of constantly delivering your software to some sort of deployment setup, so that everything is ready when it’s time to release.
  • Continuous Deployment (CD) — Continuous Deployment goes a step further. Once  new code is added to a main git branch and passes automated tests, it will be automatically released to customers with no further interaction from a human.

Uses & Benefits

The big problem CI solves is that new builds are automatically tested, so you can be more certain at the time of release that there won’t be any integration issues.

Continuous Delivery solves the issue of having consistent, automated deployment processes that can be started with a simple click of a button.

The benefit of Continuous Deployment is that there’s no waiting for a specified release time or a particular person to deploy. If tests are well configured and engineers feel empowered to deploy their code, they have more sense of ownership.

All of these pipelines help create faster iteration, automate testing, and streamline build time. Many organizations have only implemented one or two of the three components, but those that have advanced through Continuous Deployment are able to iterate many times a day and fix bugs extremely quickly!

Top Tools

A few CI/CD pipeline tools to remember are:

  • Jenkins
  • CodeBuild and Code
  • Pipeline from AWS
  • Gitlab CI
  • Microsoft’s Azure DevOps

4. Infrasructure As Code (IaC)

What is it?

Similar to Configuration Management, Infrastructure as Code (IaC) is helpful to automate infrastructure and ensure it’s reproducible. Infrastructure can be anything from virtual servers, to managed services that depend on servers that a cloud provider manages. We can use IaC to spin up thousands of identical servers at the same time. The difference is that IaC is also used for lots of other managed services, not just servers. We can create an entire environment with thousands of services such as databases, data streaming services, and more in a matter of minutes.

Uses & Benefits

Manually configuring infrastructure is time-consuming and prone to human error. When the process is codified, those concerns are completely taken care of. IaC also allows for the ability to tear resources down quickly and automate their lifecycle based on resource consumption. The current industry opinion is that most forward-thinking organizations are attempting some type of IaC, because they recognize the power of it to scale and stay dynamic.

Top Tools

Here are a few IaC tools by name:

  • CloudFormation
  • Terraform
  • Puppet
  • Ansible

5. LOGGING & MONITORING 

What is it?

And finally, Logging and Monitoring. Engineers need some way of knowing if things are working well or if there’s a problem — and ideally it doesn’t just come from user complaints! Logs are configured to report back on what happened with our code. The old way of looking at them was to connect to a server, then download them all or search through via command line tools. This was extremely inefficient and needed an overhaul.

Uses & Benefits

Newer Logging and Monitoring tools give a window into application health, configuration, and server responses to user actions, in both development and production. They’re configured to generate insights into exactly what happened with the code, then log the data so it’s searchable for problems. In prod they can be used proactively to look for patterns and insights, and even be fed into an alert system that tells when certain things start to happen. A secondary use is for business intelligence. Logging and Monitoring can help understand a customer journey through the product, or the success/failures of a particular feature. While engineers look for errors, PMs might look at how often certain features are actually being used.

Top Tools

  • Splunk
  • ElasticSearch, LogStash and Kibana (ELK stack)
  • Datadog
  • CloudWatch Logs

6. Time to talk shop with DevOps candidates.

Whew! We understand that this may feel like a daunting amount of information. Now you can see why it only covers a fraction of the Periodic Table above! However, thanks to this DevOps hiring guide, you’ll not only understand the primary categories, but also have more familiarity with the DevOps tools used during conversations with candidates.

During interviews for DevOps recruitment, ask why they do or don’t like particular tools that they’ve used, and what they might prefer instead. Questions like these get to the heart of candidates’ analytical skills in evaluating tool options. Top engineers will go beyond what’s cool in their evaluation, weighing more heavily on business cases, requirements, and available resources. And what’s more — you’ll be able to pick them right out of the bunch.

IN THE MEANTIME, CONTINUE YOUR LEARNING

What we’ve just covered is merely the tip of the iceberg. We’ve created a handy DevOps Guide to be an additional resource for you. Our DevOps Guide goes more in depth on roles for recruiters & candidates.

Contact Us

Give us a call or fill in the form below and we will contact you. We endeavor to answer all inquiries within 24 hours on business days.