DevOps Roadmap
Learn Devops using free Resources :memo:
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! :star:

Navigation
1. Linux and Bash Scripting
2. Version Control - Git
3. Learn a Programming Language
4. Cloud
5. Infrastructure As Code
6. Networking and Security
7. Containers
8. Container orchestration
9. CI/CD
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 :book:
The Ultimate Linux Newbie Guide
Introduction to Bash Scripting by Bobby Iliev
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 :computer:
https://web.mit.edu/mprat/Public/web/Terminus/Web/main.html
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 :book:
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
Videos ▶️
Version Control with Git by Atlassian
Git and GitHub for Beginners - Crash Course
Git Tutorial for Beginners: Learn Git in 1 Hour
Interactive Tutorial :computer:
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 :book:
Python :snake:
Slither Into Python + Slither Into Data Structures and Algorithms
Go ![]()
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]](https://www.youtube.com/watch?v=eWRfhZUzrAc "Python for Beginners – Full Course [Programming Tutorial]")
Go ![]()
Learn Go Programming - Golang Tutorial for Beginners
Go Programming – Golang Course with Bonus Projects
Programming with Google Go Specialization
Interactive Tutorial :computer:
Python
Learn Python with Olof Paulson
Go ![]()
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 :book:
Videos ▶️
AWS Certified Cloud Practitioner 2023
AWS Cloud Practitioner Essentials
Interactive Tutorial :computer:
Cloud Quest: Cloud Practitioner
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 :book:
Terraform: Up & Running By Yevgeniy Brikman
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 :computer:
DevOps School - Terraform Labs
Networking and Security
Books :book:
What is CIDR? "What is CIDR?")
Networking for DevOps – a Complete Guide
Videos ▶️
Intro to DevOps Bootcamp - Networking and Security
Essential Computer Networking & Security for Cloud
Interactive Tutorial :computer:
Containers
Books :book:
The Docker Handbook – Learn Docker for Beginners
Videos ▶️
Docker Crash Course for Absolute Beginners
Interactive Tutorial :computer:
Container orchestration
Books :book:
Videos ▶️
Kubernetes Tutorial for Beginners
Docker Containers and Kubernetes Fundamentals