devops-roadmap icon indicating copy to clipboard operation
devops-roadmap copied to clipboard

DevOps Roadmap for Learning

DevOps-Roadmap

DevOps-Logo

Introduction

📌 DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary with Agile software development; several DevOps aspects came from the Agile methodology.

Table of Contents

  • Programing Language
    • Python
    • Golang
  • Step 0: Basic requirements
    • Linux (LPIC-1)
    • Docker (Mandatory)
    • Containerd or LXC (Optional)
    • Bash-Script
    • Git
  • Step 1: IaC (Infrastructure as Code)
    • Hashicorp Terraform (Strongly Recommended)
    • Pulumi (Normal)
  • Step 2: Configuration Managment
    • Ansible (Strongly Recommended)
    • Puppet (Important)
    • SaltStack (Normal)
    • Chef (Normal)
  • Step 2.5: End-to-End Automation
    • End-to-End Automation on VMware vsphere with Ansible and Terraform
    • Build all instance images with Hashicorp Packer
  • Step 3: CI/CD (Continuous Integration and Continuous Delivery)
    • Jenkins (Suitable for CI and CD in ALl infrastructure)(Free) (Strongly Recommended)
    • CircleCI (Paid)(Important)
    • Teamcity (Paid)
    • Bamboo (Paid)
    • GitLab (Suitable for CI and CD in ALl infrastructure)(Paid)
    • GitHub (GitHub Actions)(Paid)
  • Step 4: Container Orchestration
    • Kubernetes
    • Helm (Kubernetes Package manager)
  • Step 4.5: GitOps Implementation
    • Jenkins-X (CI/CD) (Free)
    • ArgoCD (CD) (free)
    • Spinnaker (CD) (free)
    • Helm (Kubernetes Package manager)
  • Step 5: Monitoring and Logging
    • Prometheous + Grafana (Free)
    • Telegraf + InfluxDB + Grafana (Free)
    • Datadog (Paid)
    • ELK Stack (Free)
    • NewRelic (Paid)
  • Step 6: Public Clouds
    • Amazon Web Services (AWS)
    • Microsoft Cloud (Azure)
    • Google Cloud (GCP)
  • Step 7: Getting familiar with Agile software development

Programing Language

📌 Consider this as your benefit. A good DevOps engineer know at least one popular programming language.

Step 0: Basic requirements

Step 1: IaC (Infrastructure as Code)

Step 2: Configuration Managment

Step 2.5: End-to-End Automation

on this step you need to learning End-to-End automation with Ansible and Terraform on infrastruture. Please follow bottom repos.

Step 3: CI/CD (Continuous Integration and Continuous Delivery)

Step 4: Container Orchestration

Step 4.5: GitOps Implementation

Step 5: Monitoring and Logging

Step 6: Public Clouds

Step 7: Getting familiar with Agile software development

📌 If you made yourself through here, it means that you are now a capable DevOps Engineer. from now on, we need to focus on something furthur than using technologies. in order to become a senior, you need to be aware of all the aspects.