DevOps Practical Assignment
Overview
You are required to complete a hands-on DevOps automation assignment that simulates a real-
world deployment pipeline. The objective is to demonstrate your practical skills across:
• Infrastructure as Code (Terraform)
• Kubernetes (EKS on AWS)
• Helm (Application Deployment)
• Jenkins CI/CD Automation
• End-to-end automation mindset
This assignment is designed to evaluate your ability to build, deploy, automate, troubleshoot, and
document a complete DevOps workflow.
Task Summary
You must build an automated pipeline that:
1. Provisions AWS Infrastructure using Terraform
Create a fully functional cloud environment that includes:
• A VPC network
• Public subnets
• Private subnets
• Internet Gateway, NAT Gateway, route tables
• A Kubernetes EKS Cluster running in the private subnets
• Managed node group(s)
• Required IAM roles and policies
2. Deploy a Sample Web Application to EKS using Helm
The application can be:
• Nginx
• Simple [Link] app
• Python Flask app
• Any lightweight web application
Deployment must be done using a custom Helm chart created by you and it must include:
• Deployment
• Service
• Ingress
• ConfigMaps
• VolumeMounts
• Environment variables
• Liveness & Readiness probes
• Customizable values in [Link]
3. Automate Everything Through Jenkins (One-Button Execution)
Create a single Jenkins pipeline that:
• Checks out the code from your Git repository
• Runs Terraform commands to provision infra
• Builds the Docker image for your sample app
• Pushes the Docker image to a container registry (ECR preferred)
• Deploys the application to the EKS cluster using Helm
End result:
A single "Build Now" click in Jenkins deploys Infra + EKS + App automatically.
Expected Deliverables
You must submit the following:
• Provide Public Git repo link(s) for:
• Terraform code, Helm charts, Jenkins pipeline, Application code
• Screenshot of the deployment
• Jenkins Pipeline Output
• Application validation output.
Clarifications
For any queries, contact:
Arun Reddy
Email: [Link]@[Link]
Phone: +91-9701626037