DevOps Roadmap (Detailed) - GitLab + Azure
Phase 1: Foundations
Week 1: Linux Basics
- Learn Linux file system structure (/, /home, /etc, /var, etc.).
- Practice basic commands: ls, cd, cp, mv, rm, mkdir, touch, cat, nano, chmod, chown, ps, top, kill.
- Understand file permissions and user/group management.
- Introduction to bash shell scripting: variables, if-else, loops.
Week 2: Git & GitLab Basics
- Understand version control and Git architecture.
- Practice git init, add, commit, push, pull, branch, merge.
- Use GitLab repositories, create and manage branches.
- Understand Merge Requests, Issues, and Wiki in GitLab.
Week 3: Networking Basics
- Learn IP addressing (IPv4), subnetting basics.
- Understand how DNS works and basics of HTTP/HTTPS.
- Use curl, wget to test API endpoints.
- Use ping, traceroute, and netstat to debug connections.
Phase 2: Python & GitLab Pipelines
Week 4: Python Fundamentals
- Variables, data types, operators, conditions, loops.
- Lists, dictionaries, sets, tuples, and string manipulations.
- Writing functions and importing modules.
Week 5: Python for Automation
- Work with files (open, read, write, JSON, CSV).
- Automate shell commands using subprocess.
- Use the requests module to interact with REST APIs.
Week 6: GitLab CI/CD
- Understand .gitlab-ci.yml syntax and stages.
- Create CI pipelines to build and test code automatically.
- Use shared and self-hosted GitLab runners.
- Implement environment variables and pipeline caching.
Phase 3: Docker & Azure
Week 7: Docker Essentials
- Understand containers vs. virtual machines.
- Build Docker images using Dockerfile.
- Manage containers using docker run, stop, exec, ps.
- Push images to DockerHub or Azure Container Registry (ACR).
Week 8: Azure Fundamentals
- Explore Azure portal and CLI.
- Learn about Azure resources: VMs, Resource Groups, App Services, Storage Accounts.
- Use Azure CLI to create and manage services.
Week 9: Deploy to Azure
- Containerize a Python/NodeJS app using Docker.
- Push the image to ACR.
- Deploy app to Azure App Service using Docker container.
Phase 4: Terraform & Azure DevOps
Week 10: Terraform Basics
- Install Terraform and understand providers and resources.
- Write Terraform config to deploy Azure VMs or App Service.
- Use variables, outputs, and resource dependencies.
Week 11: Terraform with Azure
- Manage Azure infrastructure: VMs, Storage, Networking.
- Use terraform init, plan, apply, destroy.
- Store Terraform state securely (local or remote backend).
Week 12: Azure DevOps Pipelines
- Create YAML-based pipelines in Azure DevOps.
- Build, test, and deploy app using Azure Pipelines.
- Integrate with GitLab repos using service connections.
Phase 5: Kubernetes & AKS
Week 13: Kubernetes Concepts
- Learn architecture: master, node, pods, services, volumes.
- Use kubectl to create and manage deployments.
- Create simple manifests for deployment, service.
Week 14: Helm
- Understand Helm charts, templates, values.yaml.
- Install Helm and deploy sample charts.
- Package your own Helm chart for an app.
Week 15: Azure Kubernetes Service (AKS)
- Create AKS cluster via portal or Terraform.
- Use ACR with AKS to pull Docker images.
- Deploy apps using Helm and monitor using kubectl.
Phase 6: Monitoring & Final Project
Week 16: Monitoring & Logging
- Use Azure Monitor for logs, metrics, alerts.
- Integrate with Grafana to visualize metrics.
- Learn Log Analytics queries (KQL) for debugging.
Week 17-18: Final DevOps Project
- End-to-end pipeline: Python app -> Docker -> GitLab CI -> Terraform -> Azure -> AKS.
- Implement monitoring and logging.
- Document and push to GitHub portfolio.