An open API service indexing awesome lists of open source software.

https://github.com/vedant-kakde/devops-roadmap

Step by step guide for DevOps
https://github.com/vedant-kakde/devops-roadmap

ansible devops devops-tools docker git github github-actions gitlab golang jenkins kubernetes prometheus python ruby

Last synced: 10 months ago
JSON representation

Step by step guide for DevOps

Awesome Lists containing this project

README

          

# πŸ›£ DevOps Roadmap




  • What DevOps concepts & tools to learn ?

  • Tasks & Responsibilities ?



## πŸ”° There are two Departments
πŸ”Ή **DEVELOPMENT** :-
- deploying of application
- testing of application

πŸ”Ή **OPERATIONS** :-
- deployment of application
- maintained on a server

## πŸ”° Concepts of Software Development
**Development**

βœ… Git

βœ… How developers work

βœ… Which git workflow

βœ… How application is configured

βœ… Automated testing

## πŸ”° Operating System & Linux Basics
πŸ”Ή Operations -> Server

πŸ”Ή Prepare the infrastructure

βœ… Linux Basics

βœ… Comfortable using CLI

βœ… Shell commands

βœ… Linux File System

βœ… Server Management

βœ… SSH Key Management

## πŸ”° Networking & Security
βœ… Firewall, Proxy Servers

βœ… Load Balancers

βœ… HTTP/HTTPS

βœ… IP, DNS Name Resolution

## πŸ”° Containers
βœ… Virtualization

βœ… Containers

βœ… Docker

## πŸ”° How to release the Operations?
**Build Automation & CI/CD**

βœ… Build Tools & Package Manager

(Maven & Gradle -> Java app. , npm -> JS app.)

βœ… Build Docker Images

βœ… Artifact Repository (Nexus, Docker Hub)

βœ… Build Automation (Jenkins, GitLab, GitHub Actions)

βœ… Configure complete CI/CD pipeline

## πŸ”° Cloud Providers
**Infrastructure as a Service**

AWS, Google Cloud, Azure

πŸ”Ή Save costs

πŸ”Ή Offer a range of services - Load balancing, Backup, Clustering, Security, ...

πŸ”Ή Many services are Platform-specific services

πŸ”Ή There are too many services

πŸ”Ή Only learn services you actually need

## πŸ”° Container Orchestration

πŸ”ΉFor small containers -

βœ… Docker compose, Docker Swarm



πŸ”ΉIf we have lot more containers or Incase of big microservices

We need more powerful tool


βœ… Kubernetes

🚩 Learn Kubernetes

🚩 How it works, Administor & Manage the cluster, Deploy applications

## πŸ”° Monitoring
- Track Performance
- Discover Problems

βœ… Monitor Software

βœ… Monitor Infrastructure

Tools - Prometheus , Nagios, etc.

## πŸ”° Infrastructure as Code

πŸ”Ή For Production, Testing, Dvelopment

πŸ”Ή You need more than one environment

πŸ”Ή Manually creating & maintaining the environment :-

- Time consuming
- Error prone



πŸ”Έ Use code to :-


  • Create infrastructure

  • Configure to run & deploy your app





  • Infra. Provisioning (Terraform)

  • Config. management (Ansible, Chef, Puppet)




πŸ”ΉYou should know one of these tools to be:-


  • More efficient

  • Transparent

  • Easy to replicate & recover

## πŸ”° Scripting Language
πŸ”Ή Automating tasks for development & operations :-

Backups, cron jobs, system monitoring



βœ… Know a Scripting Language

🚩 OS-specific - bash, shell

🚩 OS-independent - Python, Ruby, Go

🌟 Python is most popular

🚩 Easy to read

🚩 Easy to learn

🚩 Many Libraries for most of Databases, OS Tasks & Cloud Platforms

## πŸ”° Version Control
βœ… Git

βœ… GitHub

## ❗ How many tools to learn?

πŸ”Ή One tool in each category

πŸ”Ή Most popular / widely used