The Week-by-Week Syllabus
Each week you will tackle key concepts and practical exercises to build your understanding of DevOps from the ground up.
Week 1: Version Control with Git
What to learn: git init, git commit, git push, and git pull.
Why this comes before the next step: Version control is the backbone of any development process, enabling collaboration and tracking changes.
Mini-project/Exercise: Create a local repository for a simple website, track changes, and push it to GitHub.
Week 2: Understanding CI/CD Basics
What to learn: CI/CD concepts, GitHub Actions, and basic YAML syntax.
Why this comes before the next step: Knowing how CI/CD works is essential for automating the software development lifecycle.
Mini-project/Exercise: Set up a GitHub Action to run tests on your code each time you push changes to the repository.
Week 3: Infrastructure as Code with Terraform
What to learn: Basic Terraform commands, terraform init, terraform apply, and terraform destroy.
Why this comes before the next step: Managing infrastructure programmatically is key to scaling and managing deployments.
Mini-project/Exercise: Write a Terraform script to set up a simple web server on AWS.
Week 4: Containerization with Docker
What to learn: docker build, docker run, and docker-compose.
Why this comes before the next step: Containers simplify application deployment and ensure consistency across environments.
Mini-project/Exercise: Containerize your website from Week 1 using a Dockerfile and run it locally.
Week 5: Monitoring with Prometheus and Grafana
What to learn: Setting up Prometheus and Grafana, basic queries, and creating dashboards.
Why this comes before the next step: Monitoring is vital for understanding application health and performance.
Mini-project/Exercise: Set up a simple monitoring system for your web server using Prometheus and visualize it in Grafana.
Week 6: Deploying to the Cloud
What to learn: Basics of AWS or Azure, setting up cloud resources, and deploying a container.
Why this comes before the next step: Deployment knowledge is crucial for bringing applications to production.
Mini-project/Exercise: Deploy your Docker container to AWS Elastic Beanstalk or Azure App Service.