DevOps Learning Path
Published: 2024-01-11 15:39:09

This is my proposed learning curriculum for DevOps, and I am dropping this after extensive research on the best, free and paid resources that can be used to achieve this goal.

DevOps is a software engineering methodology that aims to integrate the work of development and operations teams by facilitating a culture of collaboration and shared responsibility.

It is a set of practices, tools, and a cultural philosophy that automate and integrate the processes between software development and IT teams. DevOps emphasizes team empowerment, cross-team communication and collaboration, and technology automation.

It began some years back when the software development and IT operations communities raised concerns about the traditional software development model, where developers who wrote code worked apart from operations who deployed and supported the code.
DevOps is an approach to culture, automation, and platform design intended to deliver increased business value and responsiveness through rapid, high-quality service delivery.

## What you will learn:-

- Continuous Integration and Delivery (CI/CD) practices, tools, concepts and how to set up a CI/CD pipeline using Jenkins or GitHub Actions.
- Cloud computing platforms like AWS, Azure, Google Cloud Platform and its pros and cons.
- Use of containerization technologies such as Docker & Kubernetes
- Monitoring and Logging Tools: Prometheus, Grafana.
- Microservices architecture principles and best practices
- Version Control Systems - Git, Github and/or Gitlab.
- Automated deployment using CI/CD tools like Jenkins etc.
- Infrastructure as Code (IaC) tools like Terraform, Ansible etc.
- Learn Linux OS and its CLI: Although Windows OS and MacOS can be used via virtual machine, most tools such as Ansible, Terraform, Graffana - - etc  were developed using Linux OS as the preferred OS.

## End Goals

- Become a DevOps Engineer or SRE(Site Reliability Engineer)
- Understand the core concepts of cloud computing and infrastructure management.
- Earn cerification in any cloud computing platform.
- Gain hands on experience with monitoring tools, logging systems, version control systems, automation tools
- Learn a programming language:- Python, Java, Go, Rust, JavaScript. Although several languages can be used to learn DevOps, I will suggest - -  Python because of its simplicity, since it easy to pick-up and learn, readable syntax and it is the moost widely adopted language for DevOps - and SRE.
- Linux certification can also be acquired, although this is not necessary.
- Become a sought after DevOps Engineer and be job ready.

## Learning Path

**Note: This learning path is designed to provide a comprehensive understanding of the skills.

- DevOps Fundamentals
  - [VevOps for Beginners](https://www.youtube.com/watch?v=j5Zsa_eOXeY)
  - [Cloud Computing Platforms](https://www.youtube.com/watch?v=M988_fsOSWo)
  - [Infrastructure as a Code](https://www.youtube.com/watch?v=POPP2WTJ8es)

- Version Control System
  - [Introduction to Github](https://www.youtube.com/watch?v=apGV9Kg7ics&list=PL9gnSGHSqcnoqBXdMwUTRod4Gi3eac2Ak&index=2&t=2s)
  - [Gitlab CI/CD Tutorial for Beginner](https://www.youtube.com/watch?v=qP8kir2GUgo&t=15s)
  - [Introduction to Github for DevOps](https://resources.github.com/devops/)
  - [GitLab CI: Pipelines, CI/CD and DevOps for Beginners](https://www.udemy.com/course/gitlab-ci-pipelines-ci-cd-and-devops-for-beginners/)

- Linux Fundamentals
  - [Introduction to Linux](https://www.youtube.com/watch?v=sWbUDq4S6Y8)
  - [Linux and Linux SysAdmin for DevOps](https://zerotomastery.io/courses/devops-bootcamp/)
  - [Linux Cloud DevOps Course](https://www.coursera.org/learn/linux-cloud-devops)

- Python Programming Language
  - [Free Python Course](https://www.youtube.com/watch?v=8DvywoWv6fI&t=40735s)
  - [Python Bootcam](https://www.udemy.com/course/100-days-of-code/)
  - [Python Docs](https://www.python.org/)

- Shell and Bash Scripting
  - [Introduction to Bash - Shell Scripting](https://www.coursera.org/projects/introduction-to-bash-shell-scripting)
  - [Bash scripting for Beginners](https://www.youtube.com/watch?v=tK9Oc6AEnR4)
  - [Bash - Shell Script for DevOps](https://devdocs.io/bash/)
  - [Linux Shell Scripting: A Project-Based Approach to Learning](https://www.udemy.com/course/linux-shell-scripting-projects/)

- Jenkins
  - [Jenkins Tutorial For Beginners](https://www.youtube.com/watch?v=FX322RVNGj4)
  - [Jenkins, From Zero To Hero: Become a DevOps Jenkins Master](https://www.udemy.com/course/jenkins-from-zero-to-hero/)
  - [Jenkins User Guide and Implementation](https://www.jenkins.io/doc/book/)

- Docker
  - [Docker Tutorial for Beginners](https://www.youtube.com/watch?v=pTFZFxd4hOI)
  - [Google Cloud: Introduction to Docker Course](<https://www.coursera.org/>     projects/googlecl   ud-introduction-to-docker-2zs0k)
  - [Docker docs and guides](https://docs.docker.com/?_gl=1*tulpnu*_ga*MTgzODUzOTQ3Mi4xNzA0OTcxNDU5*_ga_XJWPQMJYHQ*MTcwNDk3MTQ1OC4xLjEuMTcwNDk3MTYwOC42MC4wLjA.)

- Kubernetes
  - [Kubernetes: Architecture Simplified](https://www.youtube.com/watch?v=KVBON1lA9N8&t=14s)
  - [Certified Kubernetes Administrator with Practise Tests](https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/)
  - [Docker Containers and Kubernetes](https://www.youtube.com/watch?v=kTp5xUtcalw)

- Prometheus
  - [Prometheus and Grafana](https://www.youtube.com/playlist?list=PLVx1qovxj-anCTn6um3BDsoHnIr0O2tz3)
  - [Monitoring with Prometheus And Grafana](https://www.youtube.com/watch?v=7gW5pSM6dlU)

- TerraForm
  - [Terraform for Beginners](https://kodekloud.com/courses/terraform-for-beginners/)

- Ansible
  - [Ansible Basics](https://www.ansible.com/overview/how-ansible-works)
  - [Ansible Tutorial For Beginners](https://www.youtube.com/watch?v=EcnqJbxBcM0)

## Learning and Cloud Certification

- AWS
  - [AWS Cloud Practioner](https://aws.amazon.com/certification/certified-cloud-practitioner/)
  - [Coursera Cloud Practitioner Certification](https://www.coursera.org/learn/aws-cloud-practitioner-essentials?)

- AZURE
  - [Introduction to Microsoft Azure Cloud Services](https://www.coursera.org/learn/microsoft-azure-cloud-services?specialization=microsoft-azure-fundamentals-az-900)

- Google Cloud
  - [Professional Cloud DevOps Engineer](https://cloud.google.com/learn/certification/cloud-devops-engineer)
  - [Google Cloud Fundamentals: Core Infrastructure](https://www.coursera.org/learn/gcp-fundamentals?specialization=sre-devops-engineer-google-cloud)

## Subscriptions

- [Zero To Mastery](https://zerotomastery.io/)
- [KodeCloud](https://kodekloud.com/)

## Project

- [TutorialsPoint](https://www.tutorialspoint.com/devops-projects-20-real-time-devops-projects/index.asp)