Objective
Train interns in modern DevOps practices: Linux fundamentals, containerization, Infrastructure as Code, CI/CD pipelines, basic orchestration, monitoring, and automation using industry tools. Tasks are hands-on and aligned with Alfido Tech workflows.
Features
- Practical labs on Docker, CI/CD and GitHub Actions
- Infrastructure as Code (IaC) using Terraform or similar
- Basic Kubernetes concepts (optional)
- Monitoring, logging & alerting basics
- Automation & scripting with Bash / Python
Tools
Beginner Level Tasks
- Install and use basic Linux commands: navigation, permissions, process management.
- Write simple Bash/Python scripts for file backup and log rotation.
- Build and run a simple Docker container (Dockerfile + run).
- Create a GitHub repository and push a sample project (README + code).
Note: Out of the 4 main tasks below, you are required to complete any 3 tasks.
Tasks (4)
Goal
Containerize a simple web application (Node/Python/Java) and run it using Docker.
Requirements
- Create a Dockerfile with multi-stage build if applicable
- Provide docker-compose.yml to run app + DB (if any)
- Document build & run commands
Deliverables
- GitHub repo with Dockerfile, docker-compose.yml, and README
- Screenshot of running container and exposed endpoint
Goal
Create an automated CI/CD pipeline that builds, tests, and optionally deploys the containerized app.
Requirements
- Write GitHub Actions workflow(s) for build and test
- Deploy to a simple environment (Docker Hub + remote host or GitHub Pages for static sites)
- Include status badges in README
Deliverables
- GitHub repo with .github/workflows/*.yml
- Workflow run screenshots and explanation
Goal
Use Terraform to provision basic infrastructure (e.g., a VM, network resources, or a managed service) in a cloud or local provider (use localstack or provider of choice).
Requirements
- Write Terraform configuration for simple resources
- Show plan & apply steps (ideally in a disposable test account)
- Explain state handling and variables
Deliverables
- Terraform code in GitHub repo and README with commands
- Screenshot of resources provisioned (or plan output)
Goal
Implement basic monitoring and logging for your app and create a small incident response / runbook.
Requirements
- Use Prometheus + Grafana, or a lightweight alternative (or mock screenshots)
- Collect logs (ELK stack optional) or show how logs are aggregated
- Prepare a short runbook for a common incident (e.g., service down, high CPU)
Deliverables
- Monitoring screenshots/dashboards, sample alert rule
- Incident runbook (DOC/PDF) with steps for detection, mitigation, and post-mortem
How to Submit Your Tasks
-
For each task:
- Create a separate document (DOC, DOCX or PDF) describing the task, commands used, configs, and screenshots.
- Include links to the GitHub repository and any deployed endpoints.
-
Upload artifacts:
- Push code to GitHub (public or shared repo) and share links.
- Upload large artifacts (screenshots, dashboards) to Google Drive if needed.
-
Submit links:
- Go to the Task Submission page.
- Paste your GitHub and document links clearly mentioning task numbers.
Tip: Use clear READMEs, include exact commands, and provide reproducible steps — reviewers will run your commands.