...

DevOps Topics

  • Introduction to DevOps
  • Course Overview

  • Introduction to Version Control and Git
  • Basic Concepts of Git
  • Setup Git Repository Remote and Local
  • Working with Git
  • Initialize a Git project locally
  • Concept of Branches
  • Merge Requests
  • Deleting Branches
  • Resolving Merge Conflicts
  • Gitignore
  • Git stash
  • Git history
  • Undoing commits
  • Merging branches
  • Git for Devops

  • Introduction to Build Tools
  • Install Build Tools
  • Build on Artifact
  • Build Tools for Development
  • Run the Application
  • Build JS Applications
  • Common Concepts and Differences of Build Tools
  • Publish an Artifact
  • Build Tools & Docker
  • Build Tools for DevOps

  • Intro to Cloud & IaaS
  • Setup Server on Digital Ocean
  • Deploy and run application artifact on Droplet
  • Create and configure a Linux user on a cloud server

  • Intro to Artifact Repository Manager
  • Install and Run Nexus on a cloud server
  • Introduction to Nexus
  • Repository Types
  • Publish Artifact to Repository
  • Nexus REST API
  • Blob Store
  • Component vs Asset
  • Cleanup Policies and Scheduled Tasks

  • What is a Container
  • Container vs Image
  • Docker vs. Virtual Machine
  • Docker Architecture and components
  • Main Docker Commands
  • Debug Commands
  • Docker Demo - Project Overview
  • Developing with Docker
  • Docker Compose - Run multiple Docker containers
  • Dockerfile - Build your own Docker Image
  • Private Docker Repository
  • Deploy docker application on a server
  • Docker Volumes - Persisting Data
  • Docker Volumes Demo
  • Create Docker Hosted Repository on Nexus
  • Deploy Nexus as Docker Container

  • Intro to Build Automation
  • Install Jenkins
  • Introduction to Jenkins UI
  • Install Build Tools in Jenkins
  • Jenkins Basics Demo - Freestyle Job
  • Docker in Jenkins
  • Freestyle to Pipeline Job
  • Intro to Pipeline Job
  • Jenkinsfile Syntax
  • Create complete Pipeline
  • Intro to Multibranch Pipeline
  • Jenkins Jobs Overview
  • Credentials in Jenkins
  • Jenkins Shared Library
  • Webhooks - Trigger Pipeline Jobs automatically
  • Dynamically Increment Application version in Jenkins Pipeline

  • Introduction to AWS
  • Create an AWS account
  • IAM - Manage Users, Roles and Permissions
  • Regions & Availability Zones
  • VPC - Manage Private Network on AWS
  • CIDR Blocks explained
  • Introduction to EC2 Virtual Cloud Server
  • eploy to EC2 server from Jenkins Pipeline
  • Introduction to AWS CLI
  • Container Services on AWS

  • Intro to Kubernetes
  • Main Kubernetes Components
  • Kubernetes Architecture
  • Minikube and kubectl - Local Kubernetes Cluster
  • Main kubectl commands
  • YAML Configuration File
  • Complete Demo Project - Deploying Application in Kubernetes Cluster
  • Namespaces - Organizing Components
  • Services - Connecting to Applications inside cluster
  • Ingress - Connecting to Applications outside cluster
  • Volumes - Persisting Application Data
  • ConfigMap & Secret Volume Types
  • StatefulSet - Deploying Stateful Applications
  • Managed Kubernetes Services
  • Helm - Package Manager for Kubernetes
  • Helm Demo - Managed K8s cluster
  • Deploying Images in Kubernetes from private Docker repository
  • Kubernetes Operators for Managing Complex Applications
  • Helm and Operator Demo

  • Container Services on AWS
  • Create EKS cluster with AWS Management Console
  • Configure Autoscaling in EKS cluster
  • Create Fargate Profile for EKS Cluster
  • Create EKS cluster with eksctl command line tool
  • Deploy to EKS Cluster from Jenkins Pipeline
  • Jenkins Credentials Note on Best Practices
  • Complete CICD Pipeline with EKS and DockerHub
  • Complete CICD Pipeline with EKS and ECR

  • Introduction to Terraform
  • Install Terraform & Setup Terraform Project
  • Providers in Terraform
  • Resources & Data Sources
  • Change & Destroy Terraform Resources
  • Terraform commands
  • Terraform State
  • Output Values
  • Variables in Terraform
  • Environment Variables in Terraform
  • Create Git Repository for local Terraform Project
  • Automate Provisioning EC2 with Terraform
  • Provisioners in Terraform
  • Modules in Terraform
  • Automate Provisioning EKS cluster with Terraform
  • Complete CICD with Terraform
  • Remote State in Terraform

  • Introduction to Ansiblev
  • Install Ansible
  • Setup Managed Server to Configure with Ansible
  • Ansible Inventory and Ansible ad-hoc commands
  • Configure AWS EC2 server with Ansible
  • Managing Host Key Checking and SSH keys
  • Introduction to Playbooks
  • Ansible Modules
  • Collections in Ansible
  • Project Deploy Nodejs application
  • Ansible Variables
  • Project Deploy Nexus
  • Ansible Configuration Default Inventory File
  • Project Run Docker applications
  • Project Terraform & Ansible
  • Dynamic Inventory for EC2 Servers
  • Project Deploying Application in K8s
  • Project Run Ansible from Jenkins Pipeline
  • Ansible Roles