Skip to content

Learn DevOps the practical way with industry-aligned approach, work on real-world projects. Join a community of learners and profesisonals. Start your journey towards DevOps expertise today, at no cost.

License

Notifications You must be signed in to change notification settings

aradhyabundela/DevOpsTheHardWay

Β 
Β 

Repository files navigation

♾️ DevOps The Hard Way

With ❀️ to all our students

Learn the DevOps methodologies as closely as possible to real-world practices.

No fancy "learning environments", no endless "learning paths", no "hello world" labs that leave you with nothing at hands. Neither about, nor near.

Here you'll get real-world experience, work on outstanding projects as if you were already a DevOps engineer!

  • πŸ’― High quality and updated tutorials with exercises and job-interview questions!
  • 🧩 Dive into hands-on projects that paint the big picture of DevOps, with each project building upon the last to form your projects portfolio.
  • πŸ’ͺ Join a community of learners, help each other, get feedback from other students and professionals.
  • 🏧 Free.

Getting started β€’ Studying Guide β€’ Contribution and contact

Getting Started

First, please complete the course Onboarding tutorial.

In order to be a good DevOps engineer, having a solid base of a programming language is essential. Python is the language used throughout our course, we'll use it to write automations, interact with Amazon Web Services (AWS), and build simple API backends.

If you are not already familiar with Python, we strongly encourage you to start practicing as early as possible, in parallel to progressing through the below studying table.

Studying Guide

Below you'll find a content table created from years of experience teaching this material.

The content doesn't cover ALL DevOps topics. Instead, it provides a very solid baseline, equips you with the foundation needed to continue learning independently and confidently. We emphasize strong troubleshooting skills and production-oriented thinking.

Each tutorial is designed to be completed in approximately 1-1.5 hours of lesson time, followed by around 1-3 hours of exercises and job interview questions.

After progressing through several tutorials, there is a time-consuming project.

You are highly encouraged to complete the tutorials and projects by order, as each is built upon the preceding ones.

#TopicTutorialΒ Β Β ResourcesΒ Β Β Project
1 Intro What is DevOps?
2 Linux and Bash Linux intro
3 Linux and Bash Linux file management
4 Linux and Bash IO redirection
5 Linux and Bash Processes Linux mini project
6 Linux and Bash Environment variables
7 Linux and Bash Package management
8 Linux and Bash Bash and other shells
9 Linux and Bash Bash commands techniques
10 Linux and Bash Bash variables
11 Linux and Bash Bash conditional statements
12 Linux and Bash Bash loops brief Bash project
13 Networking The OSI model
14 Networking Linux sockets
15 Networking Computer networks
16 Networking HTTP protocol
17 Networking Networks security
18 Networking SSH protocol
19 Cloud (AWS) Intro to cloud computing Networking project
20 Cloud (AWS) AWS Virtual Private Cloud (VPC)
21 Networking DNS protocol
22 Cloud (AWS) AWS DNS service - Route53
πŸ“ Milestone Simple app deployment
23 Version control Git basics
24 Version control Git branches
25 Version control Git remotes Git project
26 Version control Git workflows (slides only)
πŸ“ Milestone GitHub Actions and the simple CI/CD pipeline
27 Webservers Nginx webserver
28 IaC Ansible brief
πŸ“ Milestone Configuration as code with Ansible
πŸ›ƒ The boundary for required knowledge in Python
29 Monitoring Grafana and Prometheus The PolybotService: Python project + Basic CI/CD project
30 Containers Intro to containers
31 Containers Docker containers
32 Containers Docker images
33 Containers Docker networks
34 Containers Docker volumes
35 Containers Docker compose The PolybotService: Docker project
πŸ“ Milestone Containerize an app and run a Compose project
36 Cloud (AWS) Elastic Cloud Compute (EC2) and Elastic Block Storage (EBS)
37 Cloud (AWS) Simple Storage Service (S3)
38 Cloud (AWS) DynamoDB
39 Cloud (AWS) Identity and Access Management (IAM)
40 Cloud (AWS) Elastic Load Balancer (ELB) and Auto Scaling Group (ASG)
πŸ“ Milestone High availability (HA) and Autoscaling
41 Cloud (AWS) Lambda functions
42 Cloud (AWS) Simple Queue Service (SQS) and Simple Notifications Service (SNS) The PolybotService: AWS project
43 IaC Terraform basics
44 IaC Terraform variables
45 IaC Terraform modules
πŸ“ Milestone Disaster recovery plan using IaC techniques The PolybotService: Terraform project
46 Orchestration (K8S) Kubernetes setup and intro
47 Orchestration (K8S) Kubernetes core objects
48 Orchestration (K8S) ArgoCD
49 CI/CD Jenkins setup and intro
50 CI/CD Build and deploy pipelines
51 CI/CD Test pipeline
52 CI/CD Nexus artifacts management
πŸ“ Milestone Full CI/CD workflow
53 Orchestration (K8S) Kubernetes pod design
54 Orchestration (K8S) Kubernetes Statefulset and storage
55 Orchestration (K8S) Helm
56 Orchestration (K8S) Kubernetes cluster observability
57 Orchestration (K8S) AWS Elastic Kubernetes Service (EKS)
58 Orchestration (K8S) Kubernetes networking The PolybotService: Kubernetes project
59 Cloud (AWS) Relational Databases (RDS)
60 Monitoring Elasticsearch and Kibana

Contribution

If you have ideas, improvements, or find any issues, feel free to open an issue or submit a pull request.

Looking for innovative DevOps content and training?

LinkedIn

About

Learn DevOps the practical way with industry-aligned approach, work on real-world projects. Join a community of learners and profesisonals. Start your journey towards DevOps expertise today, at no cost.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 57.7%
  • C 13.8%
  • JavaScript 11.3%
  • Shell 9.7%
  • Dockerfile 7.5%