In the DevOps internship program, you’ll gain hands-on experience in both development and operations by learning how to integrate them seamlessly. This internship will focus on the automation of software development processes, continuous integration (CI), continuous delivery (CD), and infrastructure management. You will get to work with some of the most popular DevOps tools, including Git, Jenkins, Docker, Kubernetes, and more.
Notice: Complete a minimum of 2 tasks from the tasks listed below.
Task 1: Installing and Setting Up Git for Version Control
Problem Statement:
Install and configure Git for version control to manage source code versions and collaborate on projects.
Steps to Complete:
- Download and install Git on your local machine.
- Configure Git with your user details (name, email) and set up a new repository.
- Initialize a repository and commit a simple project (e.g., a basic HTML page).
- Push the project to GitHub or GitLab.
Tools/Datasets/Platforms:
- Git
- GitHub or GitLab
You can use any tool/data.
How to Submit:
- Record a video or screen recording (10-15 seconds) of the repository setup and the first commit.
- Upload the video to LinkedIn or YouTube.
- Tag the following in your post:
- Submit the link in the submission form.
Task 2: Setting Up Jenkins for Continuous Integration
Problem Statement:
Set up Jenkins to automate the build and testing process.
Steps to Complete:
- Install Jenkins on your machine or use a cloud-based Jenkins instance.
- Create a simple pipeline for a project (e.g., building a Python or Java application).
- Set up Jenkins to trigger a build after each commit.
- Run a build and analyze the results.
Tools/Datasets/Platforms:
- Jenkins
You can use any tool/data.
How to Submit:
- Record a video or screen recording of the Jenkins setup and pipeline execution.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 3: Implementing Docker for Containerization
Problem Statement:
Containerize an application using Docker and run it on your local machine.
Steps to Complete:
- Install Docker on your local machine.
- Write a Dockerfile to containerize a sample application (e.g., a Python or Node.js app).
- Build the Docker image and run the container.
- Test the application inside the container.
Tools/Datasets/Platforms:
- Docker
You can use any tool/data.
How to Submit:
- Record a video or screen recording of the Dockerfile creation and container running.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 4: Managing Containers with Kubernetes
Problem Statement:
Use Kubernetes to manage multiple containers in a cluster.
Steps to Complete:
- Install Minikube or use a cloud provider to run Kubernetes.
- Deploy a containerized application with Kubernetes.
- Use kubectl to manage and scale the application.
- Monitor the application’s performance in the Kubernetes cluster.
Tools/Datasets/Platforms:
- Kubernetes
You can use any tool/data.
How to Submit:
- Record a video or screen recording of the Kubernetes setup and container deployment.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 5: Automating Infrastructure with Terraform
Problem Statement:
Use Terraform to automate infrastructure deployment on the cloud.
Steps to Complete:
- Install Terraform and configure it with a cloud provider (AWS, GCP, or Azure).
- Write a Terraform script to deploy infrastructure (e.g., virtual machines or storage).
- Apply the Terraform script and create infrastructure.
- Verify and destroy the infrastructure using Terraform.
Tools/Datasets/Platforms:
- Terraform
You can use any tool/data.
How to Submit:
- Record a video or screen recording of Terraform deploying infrastructure.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 6: Creating CI/CD Pipeline with GitLab
Problem Statement:
Create a CI/CD pipeline using GitLab to automate the deployment process.
Steps to Complete:
- Set up a project on GitLab.
- Write a .gitlab-ci.yml file to create a pipeline for building a containerized application.
- Deploy the containerized application to a cloud platform using the pipeline.
- Monitor the pipeline’s execution and troubleshoot issues.
Tools/Datasets/Platforms:
- GitLab
You can use any tool/data.
How to Submit:
- Record a video or screen recording of the GitLab pipeline execution.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 7: Monitoring with Prometheus and Grafana
Problem Statement:
Monitor a containerized application using Prometheus and Grafana.
Steps to Complete:
- Install Prometheus and Grafana.
- Set up Prometheus to monitor container metrics (CPU, memory, etc.).
- Visualize the metrics in Grafana by creating a custom dashboard.
- Set up alerts for performance degradation.
Tools/Datasets/Platforms:
- Prometheus, Grafana
You can use any tool/data.
How to Submit:
- Record a video or screen recording of Prometheus and Grafana setup.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 8: Configuration Management with Ansible
Problem Statement:
Automate configuration management using Ansible to manage multiple servers.
Steps to Complete:
- Install Ansible and write a playbook to install software (e.g., NGINX) on multiple servers.
- Run the playbook to automate the configuration process.
- Verify that the software was installed successfully on all servers.
Tools/Datasets/Platforms:
- Ansible
You can use any tool/data.
How to Submit:
- Record a video or screen recording of the Ansible playbook execution.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 9: Securing CI/CD Pipeline with Vault
Problem Statement:
Secure sensitive credentials in a CI/CD pipeline using Vault.
Steps to Complete:
- Install and configure Vault to store sensitive credentials.
- Integrate Vault into a CI/CD pipeline to securely retrieve credentials during a build process.
- Demonstrate the secure retrieval of credentials.
Tools/Datasets/Platforms:
- Vault
You can use any tool/data.
How to Submit:
- Record a video or screen recording of Vault integration in the CI/CD pipeline.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 10: Building Infrastructure as Code with AWS CloudFormation
Problem Statement:
Create and manage cloud resources using AWS CloudFormation.
Steps to Complete:
- Write a CloudFormation template to provision an AWS resource (e.g., EC2 instance, S3 bucket).
- Deploy the template to create the resource.
- Verify that the resource was created successfully.
Tools/Datasets/Platforms:
- AWS CloudFormation
You can use any tool/data.
How to Submit:
- Record a video or screen recording of CloudFormation deployment.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 11: Automated Security Scans in DevOps
Problem Statement:
Integrate automated security scans into a CI/CD pipeline to identify vulnerabilities.
Steps to Complete:
- Integrate a security scanning tool (e.g., Snyk or OWASP ZAP) into an existing CI/CD pipeline.
- Run the pipeline to scan the application for security vulnerabilities.
- Analyze the results and suggest fixes.
Tools/Datasets/Platforms:
- Snyk, OWASP ZAP
You can use any tool/data.
How to Submit:
- Record a video or screen recording of the security scan results.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
Task 12: Logging and Monitoring with ELK Stack
Problem Statement:
Use the ELK Stack (Elasticsearch, Logstash, and Kibana) to log and monitor an application.
Steps to Complete:
- Install the ELK Stack on your local machine or a cloud provider.
- Configure the stack to log data from a containerized or web-based application.
- Use Kibana to visualize the logs and monitor application performance.
Tools/Datasets/Platforms:
- ELK Stack (Elasticsearch, Logstash, Kibana)
You can use any tool/data.
How to Submit:
- Record a video or screen recording of ELK Stack setup and log visualization.
- Upload the video to LinkedIn or YouTube.
- Tag TechnoHacks and Mentor Sandip Gavit.
- Submit the link in the submission form.
By completing these tasks, you will gain practical experience with DevOps tools and processes. This internship will help you automate development workflows, streamline deployment processes, and manage infrastructure efficiently.