Skip to content

bijaykumarpun/devops-internship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

devops-internship

DevOps Internship Outcome

What?

DevOps is a philosophy, a movement, and a culture. It is essentially the coming together of IT operations and applications development that leads to the better operation of the entities. Whenever these two distinct regions collaborate, the computer software can be constructed, tested, and published quicker and better.

Why?

To be a better software professional.


Syllabus

Facilitator: Webpoint LLC

Duration: 7-8 Weeks

1. DevOps Introduction [week 1] (day 1, day2)

  • Software Development Life Cycle (SDLC)

  • Traditional Models of SDLC

  • What is DevOps/SRE and the Difference between DevOps and SRE?

  • DevOps Lifecycle & Tools

  • What is IaC (Infrastructure as Code)

  • IaC Tools

2. Linux for DevOps [week 1] (day 3 - day 5)

  • Install Virtualbox Software

  • Create a Virtual Machine (VM) & Installing Ubuntu/CentOS/RHEL OS

  • Creating Clone of a Virtual Machine

  • Fundamental Linux Commands

  • Managing Users And Groups

  • Managing Permission on a File/Directory

  • Managing Packages

  • Scheduling a Task

  • Viewing Logs

  • Configuring Network

  • Managing Services/Firewall

  • Remote Login Using SSH

  • Creating a Bash / Shell Script

  • Downloading Files From FTP/HTTP Server Using wget etc

3. Git - Version Control System [week 2] (day 1m day2)

  • What is Git?

  • What is GitHub?

  • Installing Git & Installing Git Plugin and working with Jenkins combined

  • Configuring Jenkins for Git and working with Jenkins combined

  • Creating an Account on GitHub

  • Configuring Git to Submit Commit Information

  • Creating a Local Git Repository

  • Link the local Git Repository with Remote GitHub Repository

  • Pull Codes from GitHub Repository to Local Repository

  • Cloning a Remote Repository

  • Making Changes in the Working Directory and Registering the Changes into

  • Staging Area and Local Repository

  • Push Commits in the Local Repository to Remote (GitHub) Repository

  • Branching strategies

  • Merging Branches

  • To Create New Branch into the GitHub

  • To Delete a Local & Remote Branch

  • Git Tag Release.

  • Developer’s Collaboration in GitHub.

4. AWS/Azure/GCP Cloud – IaaS [week 2] (day 3 - day 5)

  • Virtualization Vs Cloud

  • What is Cloud Computing

  • Features of Cloud Computing

  • Types of Cloud Computing

  • Benefits and Risks of Cloud

  • Why DevOps on Cloud?

  • Launching Cloud Instance in AWS or any other cloud.

  • Working with Terraform and Ansible.

5. Server Installation on one of the IaaS [week 3] (day 1- day 3)

  • Basics of Web servers

  • Apache/Nginx, MySQL, PHP

  • Basic Security

  • What is Vagrant? Importance of Vagrant.

  • Setup Vagrant with Virtualbox.

  • Cluster node setup in Vagrantfile.

6. Apache & Nginx - Web Server for PHP/Python/Node/Static Applications [week 3] (day 3 - day5)

  • Installing & Configuring Apache HTTP Web Server to Host PHP/Node/Static/Python-based Applications

  • Installing & Configuring Nginx Web Server to Host PHP/Python/Nodejs based Applications

7. Continuous Integration & Continuous Deployment (CI/CD) [week 4] (day 1 - day 2)

  • What is CI/ What is CD?

  • Available options

8. Creating CI/CD Pipeline [week 4] (day 3 - day 5)

  • Create and Automate CI/CD Pipeline to Deploy PHP/Python/Nodejs/static Application on Apache HTTPD & Nginx Web Servers.

9. Ansible – Automation Tool [week 5] (day 1 - day 2)

  • What is Ansible?

  • Ansible Architecture

  • Installing Ansible

  • Setting Up Environment for Ansible

  • YAML Basics

  • Executing ad hoc command

  • Writing Ansible Playbook

  • Write a Playbook On Ansible Server.

  • Server configuration through Ansible.

10. Docker – Containerization Platform [week 5] (day 3 - day 5)

  • What is Docker & What is Container

  • Containers Vs Virtual Machine

  • Benefits of Using Containers

  • Installing Docker

  • Typical Docker Operations (Search Image, Download Image, List Image,

  • Create Container from Image, Expose an Application on a Port, Run a

  • Container, Start/Stop a Container, Remove a Container & Image, etc)

  • Provisioning Containerized Services

  • Attaching Persistent Storage to Containers

  • Creating a Dockerfile and Building a Custom Image

  • Deploy an Application on Docker Container Using CI/CD Pipeline

  • Docker Swarm.

10. Continuous Testing [week 6] (day 1, day 2)

  • Overview of Continuous Testing

  • Software Testing Life cycle

  • Different Types of Testing

  • Test-Driven Development Approach

11. Kubernetes - Scaling & Managing Containerized Applications [week 6, week 7]

  • Basics of Kubernetes container orchestration

  • What are other orchestration tools

  • Differences between Docker Swarm/Kubernetes/rancher etc

  • Kubernetes Architecture

  • Installing Kubernetes using Kubeadm and Kubectl

  • Creating Pods and Deployments using YAML

  • Selectors & Labels in Kubernetes

  • Working with Jobs

  • Using ReplicaSets & Rolling Updates

  • Scheduling the applications on the container

  • Services in Kubernetes

  • Hands-on workshop description:

  • Installing Kubernetes

  • Creating Pods and Deployments

  • Working with Jobs

  • Using ReplicaSets & Rolling Updates

  • Scheduling the applications on the container

  • Services in Kubernetes

12. Final Assignment

  • Complete setup of DevOps lifecycle

  • Repository setup -> CI/CD setup -> infrastructure setup -> logging & monitoring-> bug fix -> deploy

After completing this

  • Knowledge of development operations

  • Basic of AWS

  • Able to automate deployment

  • Basics of container and container orchestration

About

DevOps Internship Outcome

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published