Boost Your DevOps Skills with 2600+ Hands-On Exercises from GitHub’s Top Repository

Hobie Cunningham
8 min readAug 6, 2023

--

Boost Your DevOps Skills with 2600+ Hands-On Exercises from GitHub’s Top Repository

Introduction:

The tech landscape evolves at a dizzying pace. To stay competitive, engineering teams need to constantly level up their skills and absorb new tools and best practices. This rapid change is especially apparent in DevOps, where new innovations seem to emerge daily. So how can you keep your knowledge sharp amidst this ever-shifting terrain?

The answer is practice through targeted technical exercises curated by the DevOps community itself. And the leading resource providing that is the wildly popular bregman-arie/devops-exercises repository on GitHub. With over 2600 exercises spanning everything from Kubernetes to Redis, this repository has become the go-to destination for hands-on interview prep and self-guided learning.

In this comprehensive post, we’ll dig deep on why the devops-exercises repo resonates with so many engineers, how you can effectively use it to advance your DevOps mastery, and key ways to get the most value from its wealth of content.

The Rise and Reach of Devops-Exercises

Created in 2019 by DevOps practitioner Arie Bregman, the devops-exercises repository has attracted over 50,000 stars on GitHub and hundreds of contributors. It taps into a few fundamental needs:

  1. Interview Practice — Many of the exercises mimic or expand upon questions frequently asked during DevOps-related technical interviews. The repo provides candidates a way to test their skills across a broad spectrum of topics and tools.
  2. Fundamentals Refresher — Even experienced infrastructure engineers appreciate the refresher on core conceptual areas like networking, operating systems, algorithms, and distributed systems. The exercises serve as a knowledge audit.
  3. Self-Guided Learning — With detailed exercises and accompanying solutions, readers can teach themselves new technologies like Ansible, Prometheus, and Kafka at their own pace by practicing hypothetical real-world usage.
  4. Community Wisdom — No one engineer can be an expert in every DevOps-related technology. The collective knowledge contributed makes devops-exercises a valuable centralized resource to expand experience.

In the three years since its launch, a vibrant global community has developed around the project. Over 150 contributors have submitted interview questions, new exercises, enhancements, and translations. This “crowdsourcing” of DevOps knowledge from practitioners themselves gives the resource unmatched breadth and relevance.

Navigating 2600+ Exercises Spanning Dozens of Topics

The devops-exercises repository organizes its content into a series of files covering technical categories that make up the DevOps landscape:

  • OS Internals — processes, memory, kernel, filesystems, threads
  • Networking — protocols, routing, load balancing, troubleshooting, SDN
  • Containers — Docker, Kubernetes, OpenShift, CRI-O
  • Monitoring — Prometheus, Grafana, metrics, logging
  • Cloud — AWS, Azure, OpenStack, GCP architecture and services
  • Infrastructure — storage, caching, queues, databases, hardware
  • CI/CD — Jenkins, TravisCI, GitHub Actions, build pipelines
  • Config Management — Ansible, Puppet, Chef, Salt, Terraform
  • Testing — unit, integration, end-to-end, load, performance, chaos
  • Programming — Python, Go, Bash, Groovy exercises and snippets
  • Architecture — scalability, resilience, decoupling, migrations
  • Security — certificates, secrets management, RBAC, encryption
  • Big Data — Hadoop, Spark, Kafka stream processing
  • Misc — regular expressions, licenses, APIs, git, design patterns

And more niche topics are added regularly based on community contributions.

The exercises within each file come in a variety of formats to support different learning styles:

  • Self-assessments — Short questions that gauge your familiarity with concepts
  • Code challenges — Programming problems focused on language mastery
  • Design exercises — Architectural diagrams to critique and enhance
  • Scenario-based — Real-world DevOps situations described to analyze
  • Tool-specific — Exercises centered around hands-on usage of tools like Docker

Solutions are provided for most exercises so you can validate your answers and grasp core principles. And extensive contributions mean most topics feature dozens of hands-on activities to work through.

Making the Most of This Massive Resource

With so much content, how do you focus your efforts? Here are 5 tips to use the repo effectively:

1. Identify Weak Areas and Spend Time There

The first step is taking an honest inventory of your skill gaps. Maybe you struggle with low-level networking concepts. Or perhaps Kubernetes YAML configurations trip you up. Rather than jumping randomly around exercises, strategically target those topics in need of reinforcement. The breadth of devops-exercises means you likely don’t need to focus on everything. Analyze weak points and devote time accordingly.

2. Sort Exercises by Difficulty Level and Ramp Up

The exercises within each topic often have an implicit progression from basic to more advanced. Try re-ordering them from simple quizzes to complex troubleshooting scenarios. Then work your way up in difficulty. This builds foundational knowledge before tackling thornier concepts and multi-layered problems. Don’t jump into the deep end too quickly.

3. Time Yourself When Answering Questions

To simulate interview pressure, use a stopwatch to time how long it takes completing certain exercises. The goal is to build speed in reaching sound technical conclusions. Be careful not to sacrifice learning for raw timing though. Finding the solutions still remains the priority.

4. Explain Concepts Out Loud to Reinforce Them

The best way to truly grasp something is to teach it. After completing several exercises around a topic, practice explaining key ideas out loud to an imaginary colleague. This forces you to structure your knowledge and simplifies complex topics. The metric is not whether you sound eloquent, but rather that you can break down ideas into simple components.

5. Relate Exercises to Real Work Experiences

Technical knowledge locked in a vacuum quickly fades. When working through exercises, take time to actively connect concepts back to real challenges faced on projects. Think about how Ansible roles could have simplified deployments or cases where Kafka was the right data pipeline choice. These mental links between abstract skills and practical usage cement retention.

Bottom line — passive reading of exercises won’t cut it. You need repetitions through active recall, verbalization, and applications to real-world systems. Devops-exercises provides endless fodder to hone your skills, but you must put in the work.

High-Value Topic Areas to Know

While exercises exist for dozens of DevOps technologies, certain topics appear more frequently during interviews. Here are 5 high-yield areas worth focusing on:

Kubernetes

Deploying and managing containers at scale is a must-have skillset. Make sure you can:

  • Explain Kubernetes architecture
  • Create YAML configs for pods, deployments, services, ingresses
  • Understand rollout strategies and health checks
  • Work with config maps, secrets, volumes for storage
  • Debug common issues like crash loops

CI/CD Pipelines

Moving code from repo to production is fundamental. Know:

  • The difference between continuous integration and delivery
  • How to model build stages and triggers
  • Common CI/CD tools like Jenkins, GitHub Actions, TravisCI
  • Testing and validation strategies
  • Deployment patterns like blue-green and canary

Monitoring

Observability is mandatory. Have experience with:

  • Metrics collection with Prometheus
  • Building Grafana dashboards
  • Logging with Elasticsearch and Kibana
  • Tracing distributed requests with Jaeger
  • Writing alerts based on metric thresholds
  • Data visualization and anomaly detection

Cloud Architecture

AWS and Azure concepts appear regularly including:

  • Core services — EC2, S3, SQS, Lambda, CosmosDB
  • Scalability and high availability patterns
  • Serverless computing pros and cons
  • Cost management and analysis

Networking

Questions on network fundamentals come up in interviews such as:

  • OSI model layers
  • Common protocols — TCP, UDP, HTTP
  • Load balancing algorithms
  • Firewall and proxy usage
  • Troubleshooting latency, throughput issues

The above represent areas where hands-on practice through exercises pays major dividends in separating yourself as a candidate.

Real-World Examples of Using Devops-Exercises for Learning

To better illustrate the real-world benefits of bregman-arie/devops-exercises, here are a few examples of how readers are using the GitHub repo for self-guided upskilling:

The Jenkins Beginner

Akshay is a junior DevOps engineer who was tasked with creating a Jenkins CI/CD pipeline for a new microservices application. He has no prior Jenkins experience but learns quickly from hands-on exercises. Akshay forks the devops-exercises repo and focuses on the Jenkins-specific exercises:

  • He starts by taking the Jenkins self-assessment quiz to establish baseline knowledge
  • Next Akshay works through pipeline syntax exercises using Groovy and snippets
  • He provisions a local Jenkins instance and goes through setup exercises
  • Plugin configuration exercises give him practice with realistically integrating unit testing, artifact management, notifications
  • Advanced exercises around scheduling, authentication, and integrations prep him for production concerns

In just one evening of targeted practice with devops-exercises, Akshay gains the Jenkins skills needed to be productive in his new role.

The Prometheus Newbie

Sarah recently joined a platform team using Prometheus and Grafana but has no prior monitoring experience. To skill up quickly, she turns to bregman-arie/devops-exercises:

  • The Prometheus overview explains core concepts like metrics, labels, and exporters
  • Exercises using the Prometheus CLI teach her querying skills
  • Dashboard exercises help Sarah gain visibility into metrics and alerts
  • Troubleshooting exercises let her validate outage and latency scenarios
  • Prometheus architecture exercises reinforce scaling for volume and high availability

After several nights practicing real-world monitoring use cases from the exercises, Sarah can now instrument apps with exporters, write PromQL queries, and build dashboards with confidence.

The Kubernetes Certification Seeker

Andres is preparing to take the Certified Kubernetes Administrator exam. He uses devops-exercises to supplement his studying:

  • He takes the self-assessments to identify weak Kubernetes areas
  • Exercises creating pods, deployments and services give him hands-on practice
  • Network policy, config map, and secrets exercises improve his YAML fluency
  • Troubleshooting exercises let him diagnose and fix common failures
  • Design questions test his ability to critique and architect Kubernetes setups

The focused, practical Kubernetes exercises in devops-exercises provide the real-world experience Andres needs to pass his certification exam.

As these examples illustrate, devops-exercises can scaffold and accelerate your learning around the technologies critical to a DevOps role.

Conclusion

Mastering DevOps requires continuous upskilling across a sprawling landscape of tools and practices. For self-motivated engineers, the bregman-arie/devops-exercises GitHub repository represents an invaluable resource to level up your hands-on skills efficiently through deliberate practice.

With over 2600 exercises crowdsourced from hundreds of practitioners, it offers unmatched breadth and real-world relevance. The repository has resonated with the DevOps community precisely because it provides focused, practical content directly from peers in the field.

Just passively reading exercises produces no learning though. You must engage actively through techniques like recall, vocalization, and real-world application. Used consistently over time, devops-exercises provides endless opportunities to refine your expertise.

The bottom line is this: star the repo, focus on your weak areas, apply concepts to your current work, revisit and repeat. These 2600+ exercises represent community-sourced wisdom to continually advance your DevOps journey.

--

--

Hobie Cunningham

Versatile Blogger and Content Creator All things Tech | Life | Society