Tech & Software90 DaysBeginner

Beginner DevOps Learning Roadmap

This roadmap guides beginners through foundational Linux, scripting, Git, CI/CD, Docker, Kubernetes, IaC, and monitoring, providing a balanced approach to theory and hands-on practice over 90 days.

Curated by@peteriishakverified
  1. Phase 1

    Days 1-9: Linux & Networking Fundamentals

    Days 1-9

    Establish a strong foundation in Linux command-line operations and basic networking concepts essential for DevOps.

    Learn

    • What is Linux? Introduction to Operating Systems
    • Common Linux distributions (Ubuntu, CentOS)
    • Basic Linux commands (ls, cd, pwd, mkdir, rm, cp, mv, cat, less, grep)
    • Linux file system hierarchy (/, /bin, /etc, /var, /home)
    • User management and permissions (chmod, chown)
    • Package management (apt, yum) and software installation
    • Introduction to Networking: IP addresses, DNS, ports, firewalls
    • SSH (Secure Shell) for remote access

    Practice & build

    • Set up a Linux Virtual Machine (e.g., using VirtualBox or WSL2)
    • Practice core Linux commands and navigate the file system
    • Create/manage users and assign file permissions
    • Install and update software packages using apt/yum
    • Connect to a remote server using SSH

    Milestone

    Proficiency in basic Linux commands and secure remote access.

  2. Phase 2

    Days 10-18: Scripting Essentials & Basic Tools

    Days 10-18

    Develop fundamental scripting skills in Python and Bash for automation, and become familiar with common text processing tools.

    Learn

    • Introduction to Python for scripting: variables, data types, control flow (if/else, loops), functions
    • Working with files in Python
    • Introduction to Bash scripting: variables, conditionals, loops, functions
    • Executing Bash scripts and setting permissions
    • Text processing tools: grep, sed, awk
    • Environment variables and their use

    Practice & build

    • Write simple Python scripts to automate file operations or data manipulation
    • Create Bash scripts for system maintenance tasks (e.g., backup, log rotation)
    • Use grep, sed, and awk to parse and manipulate text files
    • Automate a basic task by combining Python and Bash scripts

    Milestone

    Ability to write basic automation scripts in Python and Bash.

  3. Phase 3

    Days 19-27: Version Control with Git

    Days 19-27

    Master Git for version control, including branching, merging, and collaborating with remote repositories like GitHub.

    Learn

    • What is Version Control? Why Git?
    • Git architecture: working directory, staging area, local repository
    • Basic Git commands: init, add, commit, status, log, diff
    • Branching and Merging: creating, switching, deleting branches
    • Handling merge conflicts
    • Working with remote repositories (GitHub/GitLab): clone, pull, push, fetch
    • Introduction to Pull Requests/Merge Requests

    Practice & build

    • Initialize a local Git repository and track changes
    • Create and manage branches for new features
    • Perform merges and resolve merge conflicts manually
    • Push local changes to a remote GitHub repository
    • Collaborate on a small project using branches and pull requests

    Milestone

    Proficient use of Git for individual and collaborative version control.

  4. Phase 4

    Days 28-36: Introduction to CI/CD & Automation

    Days 28-36

    Understand the core concepts of Continuous Integration/Continuous Delivery and get an initial exposure to CI/CD tools.

    Learn

    • What is CI/CD? Benefits and principles
    • Phases of a CI/CD pipeline (build, test, deploy)
    • Introduction to Continuous Integration (CI): automated builds and testing
    • Introduction to Continuous Delivery/Deployment (CD): automated releases
    • Overview of popular CI/CD tools (Jenkins, GitLab CI, GitHub Actions)
    • Basic concepts of build automation tools (e.g., Maven, npm – conceptual only)
    • Webhooks and basic integrations

    Practice & build

    • Explore the UI of a CI/CD platform (e.g., GitHub Actions web interface)
    • Set up a basic CI pipeline to automatically build and test a simple application (e.g., Python script)
    • Trigger builds automatically on code pushes to a Git repository
    • Interpret CI/CD pipeline logs and identify failures

    Milestone

    Conceptual understanding of CI/CD principles and basic interaction with a CI/CD platform.

  5. Phase 5

    Days 37-45: Review & Catch-up

    Days 37-45
    Buffer phase — time to catch up

    Consolidate learning from previous phases, reinforce challenging concepts, and address any gaps in understanding.

    Learn

    • Review of Linux fundamentals and advanced commands
    • Revisiting Python and Bash scripting challenges
    • Deep dive into complex Git scenarios (rebase, cherry-pick - conceptual)
    • Re-evaluation of CI/CD concepts and chosen tool

    Practice & build

    • Re-do challenging exercises from previous phases
    • Work on a small personal project integrating Git and a simple CI script
    • Read official documentation for chosen tools
    • Engage in online forums for clarification
    • Take a planned break to prevent burnout

    Milestone

    Solidified understanding of initial DevOps foundations; refreshed and ready for new challenges.

  6. Phase 6

    Days 46-54: Containerization with Docker

    Days 46-54

    Learn to containerize applications using Docker, manage images and containers, and orchestrate multi-container setups with Docker Compose.

    Learn

    • What are containers? Introduction to containerization vs. VMs
    • Docker architecture: Daemon, Client, Images, Containers, Registries (Docker Hub)
    • Installing Docker Engine
    • Docker commands: run, ps, stop, start, rm, rmi, images, pull, push
    • Dockerfile: syntax, instructions (FROM, RUN, CMD, ENTRYPOINT, EXPOSE, ENV, WORKDIR)
    • Building custom Docker images
    • Docker volumes for persistent data
    • Docker networking basics
    • Introduction to Docker Compose: defining multi-service applications

    Practice & build

    • Install Docker on your system
    • Run various official Docker images (e.g., Nginx, Redis)
    • Create Dockerfiles to containerize simple web applications (e.g., Python Flask app)
    • Build, tag, and push custom images to Docker Hub
    • Use Docker Compose to run a multi-container application (e.g., web app with a database)

    Milestone

    Ability to containerize applications and manage them with Docker and Docker Compose.

  7. Phase 7

    Days 55-63: Infrastructure as Code (Terraform & Ansible)

    Days 55-63

    Grasp the principles of Infrastructure as Code and gain practical experience with Terraform for provisioning and Ansible for configuration management.

    Learn

    • What is Infrastructure as Code (IaC)? Benefits and principles
    • Declarative vs. Imperative IaC
    • Introduction to Terraform: HCL (HashiCorp Configuration Language)
    • Terraform basics: providers, resources, variables, outputs, state file
    • Terraform commands: init, plan, apply, destroy
    • Introduction to Ansible: agentless configuration management
    • Ansible architecture: control node, managed nodes, inventory
    • Ansible playbooks: tasks, modules, variables, handlers
    • Basic Ansible roles and command-line ad-hoc commands

    Practice & build

    • Install Terraform and configure a cloud provider (e.g., AWS Free Tier)
    • Write Terraform configurations to provision basic cloud resources (e.g., EC2 instance, VPC)
    • Apply and destroy infrastructure using Terraform
    • Install Ansible and create an inventory file
    • Write Ansible playbooks to configure a web server (e.g., Nginx) on a provisioned EC2 instance
    • Run ad-hoc Ansible commands to manage remote hosts

    Milestone

    Capability to provision cloud infrastructure with Terraform and configure it with Ansible.

  8. Phase 8

    Days 64-72: Container Orchestration with Kubernetes

    Days 64-72

    Understand the fundamentals of Kubernetes and deploy, manage, and scale containerized applications on a basic cluster.

    Learn

    • What is Kubernetes? Benefits of container orchestration
    • Kubernetes architecture: Master and Worker Nodes, Pods, Deployments, Services, Namespaces
    • kubectl: The Kubernetes command-line tool
    • YAML for Kubernetes manifests
    • Key Kubernetes objects: Pods, Deployments, ReplicaSets
    • Services: exposing applications within and outside the cluster
    • Basic networking in Kubernetes
    • Setting up a local Kubernetes cluster (Minikube or Kind)

    Practice & build

    • Set up a local Kubernetes cluster using Minikube or Kind
    • Use kubectl to interact with the cluster (get nodes, pods, services)
    • Write YAML manifests for a simple Pod and Deployment
    • Deploy a containerized application to Kubernetes
    • Expose the application using a Kubernetes Service
    • Scale a deployment up and down

    Milestone

    Basic understanding of Kubernetes concepts and ability to deploy and manage simple applications.

  9. Phase 9

    Days 73-81: Monitoring, Logging & Security Basics

    Days 73-81

    Learn the importance of monitoring and logging, explore basic tools, and understand fundamental security practices in a DevOps context.

    Learn

    • Importance of Monitoring and Logging in DevOps
    • Metrics vs. Logs vs. Traces (conceptual)
    • Introduction to Prometheus: architecture, exporters, basic querying (PromQL)
    • Introduction to Grafana: creating dashboards for visualization
    • Basic concepts of centralized logging with ELK Stack (Elasticsearch, Logstash, Kibana)
    • DevOps Security (DevSecOps) principles: 'Shift Left'
    • Secrets management (e.g., environment variables, basic vaults - conceptual)
    • Least privilege principle and basic network security

    Practice & build

    • Set up Prometheus to monitor a basic application or system metrics
    • Create simple dashboards in Grafana to visualize metrics from Prometheus
    • Explore basic log collection and viewing using a tool like rsyslog or a simple ELK setup
    • Implement basic security best practices for your containerized applications (e.g., non-root user in Dockerfile)

    Milestone

    Ability to implement basic monitoring, logging, and foundational security practices.

  10. Phase 10

    Days 82-90: Final Project Integration & Advanced Concepts Preview

    Days 82-90
    Buffer phase — time to catch up

    Integrate learned tools into a cohesive project, reinforce understanding, and identify next steps for advanced learning.

    Learn

    • Review of all learned concepts: Linux, Git, CI/CD, Docker, IaC, Kubernetes, Monitoring
    • Project planning and architectural considerations
    • Troubleshooting common issues across the toolchain
    • Introduction to advanced topics: Service Mesh (Istio), Serverless, Cloud-Native security, FinOps (conceptual)

    Practice & build

    • Design and implement a final project that integrates: Git, CI/CD for a Dockerized application, deployed to Kubernetes via IaC, with basic monitoring.
    • Document the project architecture and deployment process.
    • Troubleshoot and debug issues encountered during project integration.
    • Present the final project and discuss design choices and challenges.
    • Research and outline a personal learning path for the next 3-6 months based on interests.

    Milestone

    Successful completion of an end-to-end DevOps project and a clear path for continued learning.

Want one built around you?

Turn any learning goal into a clear, actionable plan in seconds.

Create your roadmap