π DevOps in 180 Days β A Day-by-Day Learning Plan
Are you looking to break into the world of DevOps but donβt know where to start? Iβve crafted a comprehensive 180-day DevOps learning roadmap to guide you from beginner to advanced levels. This plan covers everything from Linux basics to cloud platforms and Kubernetes, ensuring you gain the skills necessary to thrive as a DevOps or Platform Engineer.
Whether youβre a student, an IT professional looking to switch careers, or someone wanting to sharpen their skills, this plan is structured to provide daily progress with hands-on exercises and project ideas.
π― Why DevOps?
DevOps is one of the most in-demand skills in tech, blending development and operations for seamless CI/CD and infrastructure management. If you love automation, troubleshooting, and scaling, DevOps is the path to go!
π How the Plan Works:
- Daily Breakdown: Each day focuses on a specific topic.
- Hands-on Practice: Youβll implement real-world projects to solidify your knowledge.
- Certifications: The plan aligns with certifications like Terraform Associate, CKA, and AWS DevOps Engineer.
π‘ What Youβll Learn:
- Linux, Networking, and Automation
- Docker & Kubernetes
- Terraform & Ansible for IaC
- CI/CD Pipelines with Jenkins, GitLab CI, and GitHub Actions
- Monitoring & Logging with Prometheus and ELK Stack
- AWS, Secrets Management, and Cloud Security
π₯ Day-by-Day Breakdown:
The detailed breakdown of each dayβs activities can be found below.
This plan will cover everything from basic scripting to cloud deployments:
Days 1β45: Strengthen Core Skills (Linux, Networking, Scripting, Git, Python)
Day 1β10:
- Linux Basics: Shell commands, file management, users, and permissions.
- Practice: Set up a Linux VM (Ubuntu/CentOS).
Day 11β15:
- Linux Networking: TCP/IP, DNS, IP Tables, and basic networking tools (ping, netstat, traceroute).
- Practice: Configure a basic web server (Nginx/Apache).
Day 16β25:
- Scripting with Bash: Loops, conditions, and functions.
- Practice: Automate basic Linux tasks with Bash scripts.
Day 26β35:
- Python Basics: Variables, loops, functions, and file handling.
- Practice: Write Python scripts to automate simple tasks.
Day 36β40:
- Python Libraries and advanced python i.e. classes, modules.
- Practice: Build a simple Python automation project using libraries.
Day 41β45:
- Git: Basic commands (clone, commit, push, pull, merge). Branching and merging strategies.
- Practice: Contribute to a GitHub repository.
Days 46β75: Containerization with Docker
Day 46β50:
- Docker Fundamentals: Images, containers, Dockerfile, volumes.
- Practice: Build a Docker image for a Python/Node.js app.
Day 51β55:
- Docker Networking: Bridge networks, host mode, container linking.
- Practice: Set up multiple containers communicating over a network.
Day 56β60:
- Docker Compose: Define multi-container applications.
- Practice: Deploy a simple web app + database with Docker Compose.
Day 61β65:
- Docker Volumes & Secrets: Manage data and sensitive information.
- Practice: Use volumes to persist database data.
Day 66β70:
- Docker Swarm (Optional): Cluster management and orchestration.
- Practice: Deploy a basic Docker Swarm cluster.
Day 71β75:
- Debugging and Best Practices: Docker logs, resource limits, and Docker security.
- Practice: Optimize existing Docker containers.
Days 76β105: Kubernetes
Day 76β80:
- Kubernetes Basics: Pods, Deployments, Services.
- Practice: Deploy a simple Nginx pod.
Day 81β85:
- Kubernetes Networking: ClusterIP, NodePort, Ingress.
- Practice: Expose services externally.
Day 86β90:
- Kubernetes Storage: Persistent Volumes and PVCs.
- Practice: Deploy a pod with persistent storage.
Day 91β95:
- Helm Charts: Package management for Kubernetes.
- Practice: Deploy an app using Helm.
Day 96β100:
- Kubernetes Troubleshooting: Logs, describe, and kubectl commands.
- Practice: Debug failing pods and deployments.
Day 101β105:
- Kubernetes Security: RBAC, secrets, and namespaces.
- Practice: Implement role-based access control.
Days 106β135: Infrastructure as Code (Terraform & Ansible)
Day 106β110:
- Terraform Basics: Providers, resources, and variables.
- Practice: Deploy an AWS EC2 instance using Terraform.
Day 111β115:
- Terraform Modules: Reusable configurations.
- Practice: Create modules for S3, VPC, and EC2.
Day 116β120:
- Ansible Basics: Playbooks, inventories, ad-hoc commands.
- Practice: Automate Nginx deployment using Ansible.
Day 121β125:
- Ansible Roles: Structuring playbooks for reusability.
- Practice: Create roles for web server deployment.
Day 126β130:
- Terraform & Ansible Integration.
- Practice: Deploy infrastructure with Terraform and configure it with Ansible.
Day 131β135:
- IaC Best Practices.
- Practice: Implement a production-ready IaC workflow.
Days 136β165: CI/CD Pipelines
Day 136β140:
- Jenkins Basics: Installation, pipelines, and jobs.
- Practice: Create a basic CI pipeline.
Day 141β145:
- GitLab CI/CD: Pipelines, stages, and jobs.
- Practice: Automate deployments with GitLab.
Day 146β150:
- GitHub Actions: Workflow automation.
- Practice: Create a GitHub Action to deploy Docker containers.
Day 151β155:
- Blue-Green Deployments: Deployment strategies.
- Practice: Implement blue-green deployment with Jenkins.
Day 156β160:
- Canary Deployments: Gradual rollouts.
- Practice: Implement canary deployment using GitLab.
Day 161β165:
- Load Balancers: Nginx, HAProxy.
- Practice: Deploy Nginx as a load balancer.
Days 166β195: Monitoring, Logging, and Cloud Focus
Day 166β170:
- Prometheus & Grafana: Metrics collection and visualization.
- Practice: Monitor a Kubernetes cluster.
Day 171β175:
- ELK Stack (Elasticsearch, Logstash, Kibana): Centralized logging.
- Practice: Deploy ELK stack for log aggregation.
Day 176β180:
- AWS Basics: EC2, S3, IAM, and VPC.
- Practice: Launch EC2 instances and configure security groups.
Day 181β185:
- AWS DevOps Tools: CodePipeline, CodeDeploy.
- Practice: Implement CI/CD with AWS tools.
Day 186β190:
- HashiCorp Vault: Secrets management.
- Practice: Store sensitive data securely.
Day 191β195:
- Security Auditing: CIS benchmarks, compliance.
- Practice: Conduct security checks on AWS infrastructure.
βοΈ Follow My Progress:
Iβll be tracking my progress on this journey and sharing insights, struggles, and lessons learned along the way. I invite you to follow along and join me on this DevOps adventure. Letβs learn and grow together!
π Follow me on Medium for updates and project showcases!
If youβre ready to embark on this transformative journey, bookmark this post and letβs dive in! π