The Week-by-Week Syllabus
This syllabus is designed to build your knowledge progressively, ensuring each concept is well understood before moving on to the next.
Week 1: Understanding CI/CD Pipelines
What to learn: Concepts of CI/CD, tools like Jenkins, GitLab CI.
Why this comes before the next step: CI/CD is the backbone of effective DevOps; it highlights the importance of automation and frequent releases.
Mini-project/Exercise: Set up a simple CI/CD pipeline with Jenkins that automatically tests and deploys a basic web application.
Week 2: Infrastructure as Code with Terraform
What to learn: Terraform basics, state management, and writing HCL configurations.
Why this comes before the next step: Understanding infrastructure definition allows for consistent environments and seamless deployments.
Mini-project/Exercise: Create a Terraform script to provision basic AWS resources.
Week 3: Containerization and Orchestration
What to learn: Docker fundamentals, creating Dockerfiles, and using Kubernetes for orchestration.
Why this comes before the next step: Containerization is key for consistency across development and production environments.
Mini-project/Exercise: Dockerize the application from Week 1 and deploy it to a local Kubernetes cluster using Minikube.
Week 4: Monitoring and Observability with Prometheus and Grafana
What to learn: Setting up Prometheus and Grafana to monitor applications and infrastructure.
Why this comes before the next step: Effective monitoring leads to better performance tuning and quicker incident responses.
Mini-project/Exercise: Integrate monitoring for the application running in Kubernetes with Prometheus.
Week 5: Configuration Management with Ansible
What to learn: Ansible for automation of system configurations, writing playbooks.
Why this comes before the next step: Configuration management is crucial for reproducibility and minimizing drift in environments.
Mini-project/Exercise: Write an Ansible playbook to automate the setup of the application environment.
Week 6: Security in DevOps (DevSecOps)
What to learn: Integrating security practices in DevOps, tools for static and dynamic analysis.
Why this comes before the final stage: Security must be embedded in every stage of DevOps to ensure compliance and safeguard sensitive data.
Mini-project/Exercise: Conduct a security assessment of your CI/CD pipeline and implement fixes based on findings.