DevOps Roadmap

This DevOps Roadmap is a free, full-text syllabus of 137 lessons in 22 stages, starting with Learn a Programming Language and ending with Cloud Design Patterns. It suits anyone working towards a DevOps role, from a first-year student to a working developer changing tracks. There is no fixed length: every lesson is open from the start, so you go at your own pace and skip what you already know.

Last updated

Getting Started0%
Halfway
Almost There
Complete

Reading is open to everyone. Sign in to join this roadmap and track what you finish.

Continue learning

1. Learn a Programming LanguageLearn a Programming Language

0%

Learn a Programming Language

6 topics · 5 sub-topics · 0 completed

0%
  1. Full Python course →
  2. Full Ruby course →
  3. Full Go course →
  4. Full Rust course →
  5. Full JavaScript course →

Full syllabus: every lesson in the DevOps roadmap

22 stages and 137 lessons, in the order the roadmap suggests. Every lesson is free to read and open from the start.

  1. Stage 1: Learn a Programming Language

    • Learn a Programming Language

      Learning a programming language is a valuable skill in today's world, opening doors to various opportunities, including automation, web development, data analysis, and more. Choosing the right language depends on your specific goals and interests. For beginners, Python is often recommended due to its easy-to-read…

    • Python

      Python is a high-level, interpreted programming language known for its clear syntax and readability. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming, making it highly versatile for various tasks. Because of its extensive standard library and broad…

    • Ruby

      Ruby is a dynamic, open-source programming language with a focus on simplicity and productivity. It features an elegant syntax that is natural to read and easy to write, making it a popular choice for web development, particularly through the Ruby on Rails framework. Its object-oriented design and powerful standard…

    • Go

      Go, also known as Golang, is a statically typed, compiled programming language developed by Google. It emphasizes simplicity, efficiency, and built-in concurrency support. Go features fast compilation, garbage collection, and a robust standard library. Its syntax is clean and concise, promoting easy readability and…

    • Rust

      Rust is a multi-paradigm programming language designed for performance and safety, particularly safe concurrency. It achieves memory safety without a garbage collector by using a unique ownership model that checks references at compile time. Because of its efficiency and ability to manage low-level resources…

    • JavaScript / Node.js

      JavaScript is a high-level, interpreted programming language primarily used for client-side web development. It enables interactive and dynamic content on web pages, allowing developers to create responsive user interfaces and complex web applications. JavaScript is a core technology of the World Wide Web,…

  2. Stage 2: Operating System

    • Operating System

      An operating system is the foundational software that manages a computer's hardware and software resources, providing common services for various programs. It acts as an intermediary between users and hardware, handling tasks like process scheduling, memory management, file systems, and device control. By…

    • Windows

      Windows is a series of operating systems developed by Microsoft, widely used across personal, business, and server environments. It provides a graphical user interface (GUI) that simplifies interaction with the computer, featuring a desktop environment with icons, windows, and menus. Key versions include Windows…

  3. Stage 3: Terminal Knowledge

    • Terminal Knowledge

      The terminal is a command-line interface that allows you to interact with your computer's operating system by typing text commands instead of using a graphical user interface. By mastering basic shell commands, you can perform tasks like navigating through file systems, managing processes, manipulating files, and…

    • Bash

      Bash is a command language interpreter that allows users to interact with an operating system by executing text-based commands. It serves as the default shell for most Linux distributions and provides a scripting environment for automating repetitive tasks through shell scripts. By using Bash, you can navigate file…

    • Power Shell

      PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. It allows users to execute commands and scripts to manage systems, automate repetitive administrative tasks, and interact with various cloud services or local…

    • Process Monitoring

      Process monitoring involves tracking the execution, resource usage, and health of programs running on an operating system. By using command-line utilities, you can identify which processes are consuming significant CPU or memory, inspect their status, and manage their lifecycles by starting, stopping, or…

    • Performance Monitoring

      Performance monitoring involves tracking and analyzing the resource usage and health of a computer system in real-time. By using command-line tools like top, htop, vmstat, and iostat, you can observe how CPU, memory, disk I/O, and network bandwidth are being consumed by various processes. This practice helps in…

    • Networking Tools

      Networking tools are command-line utilities used to monitor, diagnose, and troubleshoot network connections between computers and servers. These tools allow you to verify connectivity via ping, inspect active network sockets, trace the route of data packets, and analyze traffic passing through specific network…

    • Text Manipulation

      Text manipulation involves using command-line tools to search, filter, transform, and extract data from text files or streams. These utilities, such as grep, sed, awk, and cut, allow you to process large amounts of output, reformat configuration files, or parse logs directly within the terminal. By chaining these…

    • Vim / Nano / Emacs

      Vim, Nano, and Emacs are text editors designed to be used directly within the command-line interface. Nano provides a user-friendly, beginner-oriented experience with simple keyboard shortcuts, while Vim and Emacs are highly powerful, extensible tools that rely on complex commands and configurations to allow…

  4. Stage 4: Version Control Systems

    • Version Control Systems

      Version control systems (VCS) are tools that track changes to code and files over time, enabling multiple users to collaborate on projects, maintain history, and manage different versions of codebases. They help in tracking modifications, merging changes, and resolving conflicts. There are two main types of VCS:…

    • Git

      Git is a distributed version control system that tracks changes in source code during software development. It allows multiple developers to work on the same project simultaneously by maintaining a history of modifications, enabling easy collaboration, branching, and merging of code. Every developer has a full copy…

    • FreeBSD

      FreeBSD is an open-source Unix-like operating system known for its high performance, stability, and advanced networking capabilities. It is developed as a complete operating system rather than just a kernel, providing a robust environment for servers, embedded systems, and network appliances. Known for its distinct…

    • Ubuntu / Debian

      Ubuntu and Debian are Linux-based operating systems that serve as the foundation for running applications and managing server infrastructure. Debian is known for its stability and commitment to free software, while Ubuntu is built on top of Debian and focuses on ease of use, frequent updates, and broad hardware…

    • OpenBSD

      OpenBSD is a free, multi-platform, Unix-like operating system that focuses heavily on security, correctness, and code purity. It is developed by a global community that prioritizes proactive security measures, such as extensive code auditing and the implementation of advanced memory protection features. Beyond its…

    • SUSE Linux

      openSUSE is a Linux-based operating system known for its stability, versatility, and focus on user-friendly system management. It offers two main distributions: openSUSE Leap, a stable, enterprise-grade version with regular point releases, and openSUSE Tumbleweed, a rolling release version with the latest software…

    • NetBSD

      NetBSD is a free, fast, and secure Unix-like operating system known for its emphasis on code clarity, portability, and clean design. It is designed to run on a vast range of hardware architectures, from embedded devices and handhelds to large-scale servers and workstations. By maintaining a highly modular and…

    • RHEL / Derivatives

      RHEL (Red Hat Enterprise Linux) is a commercial open-source operating system designed for enterprise environments, providing a stable and secure foundation for running applications at scale. Its derivatives, such as AlmaLinux, Rocky Linux, and CentOS Stream, are community-driven projects that maintain high binary…

  5. Stage 5: VCS Hosting

    • VCS Hosting

      When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. This remote place is called a repository, and these services often include issue tracking, code review, and continuous integration features. A few popular…

    • GitHub

      GitHub is a cloud-based platform that uses Git to store, manage, and track changes to software code. It provides a collaborative environment where developers can host repositories, review code, manage projects, and automate workflows using integrated tools. By offering a centralized space for version control, it…

    • GitLab

      GitLab is a web-based platform that provides a complete software development lifecycle tool, including a Git repository manager, issue tracking, and CI/CD pipelines. It allows teams to manage their codebase, collaborate on code reviews, and automate the process of building, testing, and deploying applications…

    • Bitbucket

      Bitbucket is a web-based version control repository hosting service owned by Atlassian that supports both Git and Mercurial. It provides teams with a centralized platform to store code, track issues, and manage project workflows through pull requests and branch permissions. Built to integrate seamlessly with other…

    • Forward Proxy

      A forward proxy is an intermediary server that sits between a client and the internet to act on behalf of the client. When a request is made, the client sends it to the proxy, which then forwards the request to the destination server, receives the response, and passes it back to the client. This setup is commonly…

    • Reverse Proxy

      A reverse proxy is a server that sits in front of one or more web servers and intercepts requests from clients. Instead of a client connecting directly to an application server, it connects to the reverse proxy, which then forwards the request to the appropriate backend server and returns the response back to the…

    • Caching Server

      A caching server is a dedicated system or software service that stores copies of frequently accessed data in temporary storage to speed up information retrieval. By keeping this data closer to the user or application, it reduces the need to repeatedly fetch the same information from the primary source or origin…

    • Firewall

      A firewall is a network security device that monitors and filters incoming and outgoing network traffic based on an organization's previously established security policies. It acts as a barrier between a trusted internal network and untrusted external networks, such as the internet, by analyzing data packets to…

    • Load Balancer

      A load balancer is a device or software application that acts as a traffic cop, sitting in front of your servers and routing incoming client requests across all servers capable of fulfilling those requests. By distributing the workload, it prevents any single server from becoming overwhelmed, which increases the…

  6. Stage 6: Containers

    • Containers

      Containers are lightweight, standalone, and executable software packages that include everything needed to run an application, such as code, runtime, system tools, libraries, and settings. By isolating software from its environment, they ensure that applications run consistently regardless of where they are…

    • Docker

      Docker is an open-source platform that automates the deployment, scaling, and management of applications using containerization technology. It enables developers to package applications with all their dependencies into standardized units called containers, ensuring consistent behavior across different environments.…

    • LXC

      LXC, or Linux Containers, is an operating-system-level virtualization method for running multiple isolated Linux systems on a single control host. It works by utilizing kernel features like cgroups and namespaces to partition resources, allowing applications to run in distinct environments without the overhead of a…

  7. Stage 7: What is and how to setup X ?

  8. Stage 8: Networking & Protocols

    • Networking & Protocols

      Networking and protocols refer to the rules and systems that allow computers and servers to communicate with each other over a network. Networking involves the hardware and software used to connect machines, such as routers, switches, and firewalls, while protocols like HTTP, TCP/IP, DNS, and SSH act as…

    • Nginx

      Nginx is a high-performance web server that also functions as a reverse proxy, load balancer, and HTTP cache. It is designed to handle a large number of concurrent connections with low memory usage, making it an efficient tool for serving static content or distributing incoming traffic across multiple backend…

    • Caddy

      Caddy is an open-source web server that automatically manages HTTPS certificates for your websites and applications. It is written in Go and is designed to be easy to configure using a simple file format called the Caddyfile. By default, it handles the complexities of TLS/SSL, meaning it automatically provisions…

    • Tomcat

      Apache Tomcat is an open-source web server and servlet container that implements Java Servlet, JavaServer Pages (JSP), and Java Expression Language (EL) specifications. It is widely used to deploy and manage Java-based web applications. Tomcat provides a robust platform for running Java web applications with…

    • Apache

      Apache HTTP Server is an open-source web server software that powers a significant portion of the websites on the internet. It works by processing incoming requests from clients and delivering the requested web content, such as HTML files or images, over the HTTP protocol. To set it up, you typically install the…

    • IIS

      Internet Information Services (IIS) is a flexible and secure web server created by Microsoft for hosting anything on the web. It runs on Windows operating systems and allows you to host websites, web applications, and services using technologies like ASP.NET and PHP. Setting up IIS involves enabling the "Web Server…

  9. Stage 9: Cloud Providers

    • Cloud Providers

      Cloud providers provide a layer of APIs to abstract infrastructure and provision it based on security and billing boundaries. The cloud runs on servers in data centers, but the abstractions cleverly give the appearance of interacting with a single “platform” or large application. The ability to quickly provision,…

    • FTP / SFTP

      FTP (File Transfer Protocol) is a standard network protocol used to transfer computer files between a client and a server on a computer network. SFTP (SSH File Transfer Protocol) is a secure version of this process that uses the SSH (Secure Shell) protocol to encrypt both commands and data, ensuring that sensitive…

    • DNS

      DNS, or Domain Name System, is a hierarchical naming system that functions like a phonebook for the internet by translating human-readable domain names, such as www.example.com, into numerical IP addresses that computers use to identify each other on a network. When you enter a web address into a browser, the…

    • HTTP

      HTTP (Hypertext Transfer Protocol) is the foundational protocol used for transmitting data across the web, enabling communication between web browsers and servers. It operates on a request-response model where a client sends a request to a server, and the server returns a response containing the requested resource…

    • HTTPS

      HTTPS (Hypertext Transfer Protocol Secure) is an extension of the HTTP protocol that uses encryption to provide secure communication over a computer network. It works by layering the HTTP protocol over the TLS (Transport Layer Security) or SSL (Secure Sockets Layer) protocol, which encrypts data packets to ensure…

    • SSL / TLS

      Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are cryptographic protocols used to provide security in internet communications. These protocols encrypt the data that is transmitted over the web, so anyone who tries to intercept packets will not be able to interpret the data. One difference that is…

    • SSH

      SSH (Secure Shell) is a cryptographic network protocol used to securely access and manage remote machines over an unsecured network. It provides encrypted communication, ensuring confidentiality and integrity, and allows for secure file transfers, command execution, and tunneling. SSH is widely used for remote…

    • OSI Model

      The OSI (Open Systems Interconnection) model is a conceptual framework that standardizes the functions of a telecommunication or computing system into seven abstraction layers. These layers, from bottom to top, are: Physical, Data Link, Network, Transport, Session, Presentation, and Application. Each layer serves a…

  10. Stage 10: Serverless

    • Serverless

      Serverless is a cloud-computing execution model where the cloud provider dynamically manages the infrastructure, allowing developers to focus solely on writing code. In this model, resources are automatically allocated and scaled based on demand, and billing is based on actual usage rather than pre-purchased…

  11. Stage 11: Configuration Management

    • Configuration Management

      Configuration Management is the process of systematically handling changes to a system in a way that ensures it maintains its integrity over time. It involves automating the setup, maintenance, and versioning of software and infrastructure settings to ensure that environments remain consistent across development,…

    • Chef

      Chef is a configuration management tool that uses Ruby-based scripts called "recipes" and "cookbooks" to automate the process of configuring and maintaining servers. It follows a client-server architecture where nodes pull their configuration from a central Chef server, ensuring systems stay in their desired state.

    • Ansible

      Ansible is an open-source automation tool used for configuration management, application deployment, and task orchestration. It operates as an agentless system, connecting to remote servers via SSH or WinRM to execute tasks defined in human-readable YAML files called playbooks. It allows users to describe the…

    • Salt

      Salt is an open-source configuration management and remote execution tool. It uses a push and pull model to manage and automate the configuration of servers and applications. Salt allows you to define the desired state of your infrastructure and then automatically enforce that state across your systems.

    • Puppet

      Puppet is a configuration management tool that lets you define the desired state of your infrastructure using its own declarative language. It uses a client-server model where a Puppet agent runs on each managed node and periodically checks in with the Puppet master to apply any defined configurations.

    • White / Grey Listing

      White listing is a security practice that involves creating a list of trusted entities, such as IP addresses or applications, that are explicitly permitted to access a network or system while blocking everything else by default. In contrast, grey listing is a temporary restriction method that rejects requests from…

    • SMTP

      Simple Mail Transfer Protocol (SMTP) is a standard communication protocol used for sending and relaying electronic mail between servers. It operates on a client-server model where a client sends an email message to a mail server, which then uses the protocol to route the message to the recipient's mail server. SMTP…

    • DMARC

      DMARC (Domain-based Message Authentication, Reporting, and Conformance) is an email authentication protocol that helps protect a domain from being used for email spoofing and phishing attacks. It works by building upon the existing SPF (Sender Policy Framework) and DKIM (DomainKeys Identified Mail) standards to…

    • IMAP

      IMAP (Internet Message Access Protocol) is a standard email protocol used by email clients to retrieve messages from a mail server over a TCP/IP connection. It allows users to access and manage their emails directly on the server, meaning messages remain synchronized across multiple devices. Because it stores mail…

    • SPF

      Sender Policy Framework (SPF) is used to authenticate the sender of an email. With an SPF record in place, Internet Service Providers can verify that a mail server is authorized to send email for a specific domain. An SPF record is a DNS TXT record containing a list of the IP addresses that are allowed to send…

    • POP3S

      POP3 (port 110) or POP3s (port 995) stands for The Post Office Protocol. It's an Internet standard protocol used by local email software clients to retrieve emails from a remote mail server over a TCP/IP connection. Email servers hosted by Internet service providers also use POP3 to receive and hold emails intended…

    • Domain Keys

      DomainKeys is an email authentication system designed to verify that an email message was sent by an authorized sender and has not been altered during transit. It works by attaching a digital signature to the header of an email, which the receiving mail server can then cryptographically validate using a public key…

    • AWS Lambda

      AWS Lambda is a serverless compute service that allows you to run code without provisioning or managing servers. It automatically scales, executes code in response to triggers, and charges only for the compute time consumed. Lambda supports multiple programming languages and integrates seamlessly with other AWS…

    • Cloudflare

      Cloudflare is a internet company that provides a range of services to help protect and accelerate websites and applications. At its core, Cloudflare is a content delivery network (CDN) and a reverse proxy cloud provider. This means that it acts as an intermediary between a website's origin server and its visitors,…

    • Azure Functions

      Azure Functions is a serverless compute service in Microsoft Azure that enables developers to run event-triggered code without managing infrastructure. It supports multiple programming languages and integrates seamlessly with other Azure services, allowing for scalable, on-demand execution of small, focused pieces…

    • Vercel

      Vercel is a provider of front-end cloud that provides the infrastructure to build, scale, and secure a faster, more personalized web. In other words, it is a cloud platform designed to simplify the deployment process for web applications, particularly those built with modern frameworks like React, Next, etc. where…

    • Netlify

      Netlify Functions are serverless functions that allow developers to run server-side code in a JAMstack environment without managing servers. They are built on AWS Lambda and automatically deploy alongside your Netlify site. These functions can handle tasks like API requests, form submissions, and database…

    • GCP Functions

      GCP Functions is a serverless execution environment that allows you to run your code in the cloud without the need to provision or manage underlying server infrastructure. It automatically scales based on the incoming request volume and executes your functions in response to specific events, such as HTTP requests,…

    • AWS

      Amazon Web Services has been the market-leading cloud computing platform since 2011, ahead of Azure and Google Cloud. AWS offers over 200 services with data centers located all over the globe. AWS is an online platform that provides scalable and cost-effective cloud computing solutions. It is a broadly adopted…

    • Azure

      Azure is a comprehensive cloud computing platform offered by Microsoft that provides a wide range of services including computing, analytics, storage, and networking. It allows users to build, deploy, and manage applications through a global network of data centers. Organizations use this platform to host their…

    • Google Cloud

      Google Cloud is a suite of cloud computing services offered by Google that runs on the same infrastructure used internally for its end-user products, such as Google Search and YouTube. It provides a wide range of modular services including computing, data storage, data analytics, and machine learning, allowing…

    • Digital Ocean

      DigitalOcean is a cloud infrastructure provider that offers simple, affordable, and developer-friendly virtual private servers, known as "Droplets." It focuses on providing straightforward cloud computing services, including virtual machines, managed databases, object storage, and Kubernetes clusters. DigitalOcean…

    • Hetzner

      Hetzner is a professional web hosting provider and data center operator that offers a variety of infrastructure solutions, including dedicated servers, cloud instances, and colocation services. It provides users with high-performance hardware at competitive prices, making it a popular choice for hosting…

    • Render

      Render is a cloud platform for deploying and hosting web applications, APIs, databases, and background workers. It supports a range of runtimes including Node.js, Python, Ruby, Go, and Docker containers. Deployments are triggered automatically from a Git repository, and Render handles scaling, SSL certificates, and…

    • Alibaba Cloud

      Alibaba Cloud is a global cloud computing platform that provides a comprehensive suite of services, including elastic computing, database management, networking, and security solutions. It operates a vast infrastructure of data centers worldwide, allowing businesses to deploy applications, store data, and scale…

    • Heroku

      Heroku is a cloud platform as a service (PaaS) that enables developers to build, run, and scale applications entirely in the cloud. It manages the underlying infrastructure and servers, allowing you to deploy code using standard Git commands while it automatically handles tasks like environment configuration,…

  12. Stage 12: Provisioning

    • Provisioning

      Provisioning is the process of setting up and configuring the infrastructure, software, and services required to make a system ready for use. It involves automating the deployment of servers, databases, and network components so that environments can be created consistently and efficiently. By using code to define…

    • AWS CDK

      The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework used to provision cloud infrastructure resources in a safe, repeatable manner through AWS CloudFormation. AWS CDK offers the flexibility to write infrastructure as code in popular languages like JavaScript, TypeScript, Python,…

    • CloudFormation

      CloudFormation is an infrastructure-as-code service that allows you to define and provision AWS cloud resources using templates written in JSON or YAML. By describing your desired state in a text file, the service automatically handles the creation, updating, and deletion of the necessary resources in the correct…

    • Pulumi

      Pulumi is an open-source infrastructure-as-code tool that allows you to create, deploy, and manage cloud infrastructure using familiar programming languages like Python, JavaScript, TypeScript, Go, and C. It enables developers to utilize standard software engineering practices such as loops, conditionals, classes,…

    • Terraform

      Terraform is an open-source infrastructure as code tool that allows you to define and manage your data center infrastructure using a declarative configuration language. By writing infrastructure requirements in human-readable files, you can automate the creation, update, and versioning of cloud resources across…

  13. Stage 13: CI / CD Tools

    • CI / CD Tools

      CI/CD tools automate the process of building, testing, and deploying software. CI (Continuous Integration) focuses on automatically integrating code changes and running tests, while CD (Continuous Delivery/Deployment) takes that further by automating the release of validated code to staging or production environments.

    • Railway

    • Buildkite

    • TeamCity

      TeamCity is a CI/CD server developed by JetBrains that automates building, testing, and deploying software. It offers a web-based interface, deep integration with version control systems, and strong support for a wide range of build tools and languages, making it popular in enterprise environments.

    • Jenkins

      Jenkins is an open-source automation server widely used to build, test, and deploy software. It has a large ecosystem of plugins that integrate with virtually every tool in the development lifecycle, and supports both simple pipelines and complex distributed build configurations.

    • GitLab CI

      GitLab CI is an integrated continuous integration and delivery platform within the GitLab ecosystem. It automates the process of building, testing, and deploying code changes through pipelines defined in YAML files. GitLab CI offers features like parallel execution, container registry integration, and auto-DevOps,…

    • Circle CI

      CircleCI is a cloud-based CI/CD platform that automates the software build, test, and deployment process. It uses a YAML configuration file to define pipelines and is known for its speed, parallelism support, and tight integration with GitHub and Bitbucket.

    • Octopus Deploy

      Octopus Deploy is an automated deployment and release management server designed to simplify the process of pushing software updates to various environments. It allows teams to orchestrate complex deployments across multiple servers, cloud platforms, and on-premises infrastructure using a visual interface or…

    • GitHub Actions

      GitHub Actions is a CI/CD and automation platform built into GitHub. It lets you define workflows in YAML files that trigger on repository events, such as pushes or pull requests, to automatically build, test, and deploy your code without leaving the GitHub ecosystem.

  14. Stage 14: Logs Management

    • Logs Management

      Log management is the process of handling log events generated by all software applications and infrastructure on which they run. It involves log collection, aggregation, parsing, storage, analysis, search, archiving, and disposal, with the ultimate goal of using the data for troubleshooting and gaining business…

    • Papertrail

      Papertrail is a cloud-hosted log management service that aggregates logs from servers, applications, and network devices in real time. It offers a simple interface for tailing, searching, and archiving logs, and is popular for smaller teams looking for a straightforward hosted logging solution.

    • Splunk

      Splunk is a data platform for searching, monitoring, and analyzing machine-generated data, including logs, metrics, and events. It is widely used in enterprise environments for security monitoring, IT operations, and business analytics, offering powerful search capabilities and a rich ecosystem of apps and…

    • Loki

      Loki is a log aggregation system developed by Grafana Labs, designed to be cost-effective and easy to operate. Unlike other log systems, it indexes only metadata labels rather than the full log content, making it lightweight and well-suited for use alongside Prometheus and Grafana.

    • Elastic Stack

      The Elastic Stack (formerly known as the ELK Stack) is a collection of open-source tools — Elasticsearch, Logstash, and Kibana — used together for searching, analyzing, and visualizing log and event data at scale. Elasticsearch stores and indexes the data, Logstash ingests and transforms it, and Kibana provides the…

    • Graylog

      Graylog is an open-source log management platform that collects, indexes, and analyzes log data from a variety of sources. It provides a web interface for searching and visualizing logs, supports alerting based on log patterns, and is built on top of MongoDB and Elasticsearch.

  15. Stage 15: Infrastructure Monitoring

    • Infrastructure Monitoring

      Monitoring refers to the practice of making the performance and status of infrastructure visible. This section contains common tools used for monitoring. This is a very vendor-heavy space, use caution when studying materials exclusively from a given product or project, as there are many conflicting opinions and…

    • Prometheus

      Prometheus is an open-source monitoring and alerting toolkit originally developed at SoundCloud. It collects metrics by scraping HTTP endpoints at defined intervals, stores them in a time-series database, and provides a powerful query language called PromQL to analyze and alert on that data.

    • Grafana

      Grafana is an open-source data visualization and dashboarding tool that connects to a wide range of data sources, including Prometheus, Elasticsearch, and cloud databases, to display metrics and logs in customizable, real-time dashboards. It is commonly paired with Prometheus for infrastructure and application…

    • Zabbix

      Zabbix is an open-source enterprise monitoring platform that tracks the availability and performance of networks, servers, and applications. It supports agent-based and agentless monitoring, offers flexible alerting, and provides built-in visualization tools for tracking metrics over time.

    • Datadog

      Datadog is a monitoring and analytics platform for large-scale applications. It encompasses infrastructure monitoring, application performance monitoring, log management, and user-experience monitoring. Datadog aggregates data across your entire stack with 400+ integrations for troubleshooting, alerting, and graphing.

  16. Stage 16: Secret Management

    • Secret Management

      Secret management refers to the practices and tools used to securely store, access, and distribute sensitive information such as passwords, API keys, tokens, and certificates. Rather than hardcoding secrets in code or config files, secret management systems provide a controlled way to inject credentials into…

    • Sealed Secrets

      Sealed Secrets is a Kubernetes-focused tool developed by Bitnami that lets you encrypt Kubernetes secrets so they can be safely stored in version control. A controller running in the cluster holds the decryption key and is the only entity able to decrypt and create the actual secrets at runtime.

    • ESO

      External Secrets Operator (ESO) is a Kubernetes operator that pulls secrets from external secret management systems, such as AWS Secrets Manager, Vault, or GCP Secret Manager, and automatically creates Kubernetes Secret objects from them. This allows teams to manage secrets in a central store while still making…

    • Vault

      Vault is a secrets management tool developed by HashiCorp that provides a secure, centralized store for sensitive data such as API keys, passwords, and certificates. It supports dynamic secrets, fine-grained access policies, secret leasing and renewal, and integrates with a wide range of cloud providers and…

    • SOPs

      SOPS (Secrets OPerationS) is an open-source tool developed by Mozilla for encrypting the values within structured files such as YAML, JSON, and ENV files. It integrates with key management services like AWS KMS, GCP KMS, and PGP, allowing encrypted secrets to be safely committed to version control.

    • Cloud Specific Tools

      Major cloud providers offer their own native secret management services, such as AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager. These services allow applications running in those clouds to securely store and retrieve secrets with built-in access controls, audit logging, and automatic rotation…

  17. Stage 17: Container Orchestration

    • Container Orchestration

      Container orchestration refers to the automated management of containerized applications across clusters of machines. It handles tasks such as scheduling containers, scaling workloads up and down, managing networking between containers, and ensuring that failed containers are automatically restarted.

  18. Stage 18: Observability

    • Observability

      Observability is the ability to understand the internal state of a system by examining the data it produces, such as primarily logs, metrics, and traces, often referred to as the "three pillars of observability." A highly observable system makes it easier to diagnose unexpected behavior, track performance over…

    • Jaeger

      Jaeger is an open-source distributed tracing platform originally developed by Uber. It tracks requests as they flow through microservices, capturing timing and dependency information to help engineers identify latency bottlenecks and understand how services interact with each other.

    • New Relic

      New Relic is a cloud-based observability platform that provides monitoring for applications, infrastructure, and user experience in a single interface. It offers APM (Application Performance Monitoring), distributed tracing, log management, and dashboards, and is widely used by engineering teams to diagnose…

    • Datadog

      Datadog is a monitoring and analytics platform for large-scale applications. It encompasses infrastructure monitoring, application performance monitoring, log management, and user-experience monitoring. Datadog aggregates data across your entire stack with 400+ integrations for troubleshooting, alerting, and graphing.

    • Prometheus

      Prometheus is a free software application used for event monitoring and alerting. It records real-time metrics in a time series database built using a HTTP pull model, with flexible queries and real-time alerting.

    • OpenTelemetry

      OpenTelemetry is an open-source observability framework that provides standardized APIs, SDKs, and tools for collecting traces, metrics, and logs from applications. It is vendor-neutral and supported by most major observability platforms, making it the emerging standard for instrumenting cloud-native applications.

    • Dynatrace

      Dynatrace is an AI-powered observability and application performance monitoring platform. It automatically discovers and maps all components of your environment, collects metrics, traces, and logs, and uses its AI engine (called Davis) to detect anomalies and identify root causes without requiring manual configuration.

  19. Stage 19: Artifact Management

    • Artifact Management

      Artifact management refers to the storage, versioning, and distribution of build artifacts, such as compiled binaries, container images, libraries, and packages, produced during the software development lifecycle. A dedicated artifact repository ensures that build outputs are reliably stored, traceable, and…

    • Artifactory

      Artifactory is a universal artifact repository manager developed by JFrog that supports virtually every major package format. It integrates deeply with CI/CD tools, provides fine-grained access controls, and includes features like artifact promotion across environments, dependency caching, and vulnerability scanning.

    • Nexus

      The Nexus Repository Manager is a widely used repository manager software developed by Sonatype. It's designed to manage binary components such as Java libraries, Docker images, npm packages, NuGet packages, and more. Nexus Repository Manager allows organizations to store, manage, and distribute software components…

    • Cloud Smith

      Cloudsmith is a cloud-native artifact management service that supports a wide range of package formats, including Docker images, npm, PyPI, Maven, and more. It provides a centralized, hosted repository for storing and distributing artifacts with fine-grained access controls and integration with popular CI/CD pipelines.

  20. Stage 20: GitOps

    • GitOps

      GitOps is a way of managing infrastructure and application deployments by storing the desired state in a Git repository and using automation to apply changes. It treats Git as the single source of truth, so updates are made by committing changes to the repo, and automated tools reconcile the actual system state…

    • ArgoCD

      Argo CD is a declarative GitOps continuous delivery tool for Kubernetes. It monitors Git repositories for changes to application manifests and automatically syncs those changes to the target cluster, providing a visual dashboard to track the state and health of all deployed applications.

    • FluxCD

      Flux is an open-source GitOps tool that automatically synchronizes the state of a Kubernetes cluster with configuration stored in a Git repository. It watches for changes in Git and applies them to the cluster, supporting Helm charts, Kustomize overlays, and multi-tenancy out of the box.

  21. Stage 21: Service Mesh

    • Service Mesh

      A service mesh is a dedicated infrastructure layer that manages communication between microservices in a distributed application. It provides features like load balancing, service discovery, encryption, observability, and traffic management, allowing services to communicate securely and efficiently. By abstracting…

    • Istio

      Istio is an open source service mesh platform that provides a way to control how microservices share data. It includes APIs that let Istio integrate into any logging platform, telemetry, or policy system. Istio is designed to run in a variety of environments: on-premise, cloud-hosted, in Kubernetes containers, in…

    • Consul

      Consul is a service mesh solution providing a full-featured control plane with service discovery, configuration, and segmentation functionality. Each of these features can be used individually as needed, or they can be used together to build a full-service mesh. Consul requires a data plane and supports both a…

    • Linkerd

      Linkerd is a lightweight, open-source service mesh for Kubernetes focused on simplicity and low resource overhead. It automatically adds mutual TLS, observability, and traffic management to services without requiring complex configuration, making it one of the easier service meshes to adopt.

    • Envoy

      Envoy is a high-performance, open-source edge and service proxy originally developed at Lyft. It is designed for cloud-native applications and serves as the data plane in many service mesh implementations, including Istio, handling tasks like load balancing, service discovery, circuit breaking, and observability.

  22. Stage 22: Cloud Design Patterns

    • Cloud Design Patterns

      Cloud design patterns are reusable solutions to common architectural challenges that arise when building applications for cloud environments. They address concerns such as scalability, resilience, security, and operational efficiency, providing proven approaches that architects and developers can apply when…

    • Availability

      Availability patterns are design approaches that ensure a system remains operational and accessible even in the face of failures. They include techniques such as health endpoint monitoring, queue-based load leveling, and the throttling pattern, all aimed at preventing downtime and gracefully handling spikes or…

    • Data Management

      Data management patterns address the challenges of storing, accessing, and maintaining data in distributed cloud systems. They cover strategies for handling data consistency, partitioning large datasets, separating read and write workloads, and keeping data synchronized across services that may each maintain their…

    • Design and Implementation

      Design and implementation patterns guide structuring cloud applications for maintainability, flexibility, and scalability. They include approaches like the Strangler Fig pattern for migrating legacy systems, the Sidecar pattern for extending service functionality, and the Anti-Corruption Layer for integrating with…

    • Management and Monitoring

      Management and monitoring patterns focus on keeping cloud applications observable, configurable, and operable at scale. They include patterns such as externalized configuration, health endpoint monitoring, and the Ambassador pattern, helping teams gain visibility into running systems and manage them effectively…

    • GKE / EKS / AKS

      GKE (Google Kubernetes Engine), EKS (Amazon Elastic Kubernetes Service), and AKS (Azure Kubernetes Service) are managed Kubernetes offerings from the three major cloud providers. They handle the provisioning and maintenance of the Kubernetes control plane, letting teams focus on deploying and managing their…

    • AWS ECS / Fargate

      ECS is a container orchestration service that allows you to run Docker containers on a cluster of EC2 instances. ECS is a good choice if you want to run Docker containers on EC2 instances and have full control over the underlying infrastructure. Fargate is a serverless container orchestration service that allows…

    • Docker Swarm

      A Docker Swarm is a group of either physical or virtual machines that are running the Docker application and that have been configured to join together in a cluster. Once a group of machines have been clustered together, you can still run the Docker commands that you're used to, but they will now be carried out by…

    • Kubernetes

      Kubernetes is an open-source container orchestration platform originally developed by Google. It automates the deployment, scaling, and management of containerized applications across clusters of nodes, and has become the de facto standard for running containers in production environments.

    • OpenShift

      OpenShift is a platform as a service (PaaS) built around Docker containers and the Kubernetes container orchestration system. It provides a comprehensive environment for developing, deploying, and managing containerized applications. OpenShift adds developer-centric tools and features on top of Kubernetes to…

Questions about the DevOps Roadmap

Is the DevOps Roadmap free?

Yes. All 137 lessons in this roadmap are free to read on Bibha AI Learning Labs, with no account and no payment. Signing in is optional: it lets you mark lessons as done and keep your progress, and it opens the AI tutor, which runs on your own API key.

How long does the DevOps Roadmap take?

There is no fixed duration. It has 137 lessons in 22 stages, and the time it takes depends on how many hours you give it each week. Nothing is locked, so you can skip what you already know, and your progress is saved once you sign in.

Where should I start the DevOps Roadmap?

Start with stage 1, Learn a Programming Language, and work down in order. The stages are numbered in the order the roadmap suggests, but every lesson is open, so if you already know Learn a Programming Language you can go straight to Operating System or anything after it. Each lesson links to free resources for going deeper.

Can I learn DevOps in Hindi?

The lessons are written in English. Once you sign in, you can ask the AI tutor on any lesson to explain it in Hindi or Hinglish. It answers from that lesson’s own text, so the explanation stays on the syllabus. The tutor runs on your own Google, OpenAI or Anthropic key.

Still confused? Ask me