Skip to content

olaoluwasalami/Devops-Learning-Plan

Repository files navigation

Learn Devops using free Resources 📝

This is a step-by-step guide on how to become a DevOps engineer, with links to free resources.

Resources include Books, Videos, Articles and Interactive Sessions

Don't forget to leave a star on our repository! ⭐

DevOps roadmap

Navigation

Linux

Linux is an operating system. In fact, one of the most popular platforms on the planet, Android, is powered by the Linux operating system. An operating system is software that manages all of the hardware resources associated with your desktop or laptop. To put it simply, the operating system manages the communication between your software and your hardware. Without the operating system (OS), the software wouldn’t function.

Books 📖

The Ultimate Linux Newbie Guide

The Linux Command Line

Linux Fundamentals

Introduction to Bash Scripting by Bobby Iliev

Bash Notes for Professionals

Videos ▶️

The “Start From Scratch” Linux Course

LinuxFoundationX: Introduction to Linux

RedHat: Fundamentals of Red Hat Enterprise Linux

Bash Scripting Tutorial for Beginners

Advanced Bash Scripting Tutorial

Interactive Tutorial 💻

Linux Journey

Linux Survival

Webminal

https://web.mit.edu/mprat/Public/web/Terminus/Web/main.html

OverTheWire bandit

Git

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different computers).

Books 📖

Pro Git book, written by Scott Chacon and Ben Straub

A Hacker’s Guide to Git by Joseph Wynn

Conversational Git by Alan Hohn

Git In the Trenches by Peter Savage

Getting Git right

Videos ▶️

Version Control with Git by Atlassian

Git and GitHub for Beginners - Crash Course

Git Tutorial for Beginners: Learn Git in 1 Hour

Git Tutorial By GitKraken

Interactive Tutorial 💻

Interactive Guide to Git Branching

Learn a Programming Language

DevOps promotes teamwork, communication, and continual improvement. As a result, DevOps engineers must master specialized programming and scripting languages in order to expedite enhanced product releases and deliver them more frequently.

This means that a skilled DevOps engineer must be fluent in numerous programming or scripting languages. Furthermore, the more coding languages you know, the better you'll be at optimizing procedures and efficiently constructing software.

We have opted for Python and Go as our preferred programming languages for this purpose.

Books 📖

Python 🐍

Python101

Slither Into Python + Slither Into Data Structures and Algorithms

The Python Coding Book

Go drawing

Go Bootcamp by Matt Aimonetti

An Introduction to Programming in Go by Caleb Doxsey

Go for DevOps By John Doak , David Justice

Videos ▶️

Python

Python Tutorial - Python Full Course for Beginners by Programming with Mosh

Python for Beginners – Full Course [Programming Tutorial]

Go drawing

Learn Go Programming - Golang Tutorial for Beginners

Go Programming – Golang Course with Bonus Projects

Programming with Google Go Specialization

Go / Golang Crash Course

Learn Go

Interactive Tutorial 💻

Python

Learn Python

Learn Python with Olof Paulson

Python Tutorial by W3schools

Google's Python Class

Go drawing

A Tour of Go

https://www.learn-golang.org/

Learn a Cloud Provider

Learning a cloud provider like AWS is essential for aspiring DevOps engineers, as it enables them to leverage cloud services for scalability, automation, and efficient infrastructure management. AWS offers a wide range of tools and services that align perfectly with DevOps principles, allowing professionals to streamline software development and deployment processes. By mastering AWS, DevOps engineers can harness the power of the cloud to build resilient, agile, and highly available systems, crucial for modern software development and deployment practices.

Books 📖

Videos ▶️

AWS Certified Cloud Practitioner 2023

AWS Cloud Practitioner Essentials

Interactive Tutorial 💻

Cloud Quest: Cloud Practitioner

AWS Builder Labs

Infrastructure As Code

Infrastructure as code (IaC) with Terraform is pivotal for cloud computing because it enables automated, version-controlled provisioning of cloud resources. Learning Terraform is crucial as it fosters agility, scalability, and consistency, empowering teams to swiftly deploy, manage, and modify infrastructure with code, reducing human errors and ensuring reproducibility in dynamic cloud environments. This proficiency is a linchpin for modern cloud operations, enhancing efficiency and resource utilization, making it an essential skill for cloud practitioners.

Books 📖

Terraform: Up & Running By Yevgeniy Brikman

Harshicorp Terraform

Terraform Beginner’s Guide: Everything You Should Know

Terraform Course Intro - SkillMix

Videos ▶️

Terraform Course - Automate your AWS cloud infrastructure

Complete Terraform Course - From BEGINNER to PRO! (Learn Infrastructure as Code)

Interactive Tutorial 💻

DevOps School - Terraform Labs

Networking and Security

Books 📖

What is CIDR?

Networking for DevOps – a Complete Guide

Hands-On Security in DevOps

Networking for Dummies

Videos ▶️

Intro to DevOps Bootcamp - Networking and Security

Essential Computer Networking & Security for Cloud

Interactive Tutorial 💻

Containers

Books 📖

The Docker Handbook – Learn Docker for Beginners

Docker Curriculum

Videos ▶️

Docker Crash Course for Absolute Beginners

Interactive Tutorial 💻

Play with Docker

Container orchestration

Books 📖

Learn Kubernetes Basics

Videos ▶️

Kubernetes Tutorial for Beginners

Docker Containers and Kubernetes Fundamentals

kubernetes fundamentals

Interactive Tutorial :play:

CI/CD

Books 📖

Videos ▶️

Interactive Tutorial 💻

Licence

License