Course Outline

PREREQUISITES:

  • Basic IT (Information Technology) Knowledge
  • An understanding of networking concepts
  • Hardware /Software required
  • PC /Laptop with minimum 08 GB RAM and Virtualisation features
  • Oracle Virtual Box or VMWare

WHO CAN JOIN:

  • This course is for people and teams who want to learn DevOps foundation from basics to intermediate level.
  • Developers / Operations Engineers
  • IT Project Team
  • IT Students

FUNDAMENTAL INTRODUCTION

  • IAC
  • CICD
  • Containerization
  • Orchestration

CONTINUOUS INTEGRATION CONTINUOUS DELIVERY (CICD)

A) GIT INTRODUCTION

  • Version Control System
  • Git Introduction
  • Installation of Git
  • Configuration of Git
  • Local Repository
  • Initializing Git Repository
  • Git Basic Example
  • Git branch, Git Merge
  • Git Diff
  • Git Clone
  • securing Git using ssh-keys
  • Git Remote Repository
  • Git Logs

B) JENKINS

  • Introduction
  • Download and Install Jenkins
  • Jenkins Configuration
  • Jenkins Plugins
  • Security Management
  • Freestyle jobs
  • Integration of Jenkins with GIT
  • Build Web via Code
  • Building a Jenkins Pipeline (CI/CD)

CONTAINERIZATION

A) DOCKER

  • Introduction to Docker
  • Install & Setup Docker on Linux
  • Remove, Downgrade, and Upgrade
  • Storage & Logging driver
  • Docker Registry
  • Docker Images
  • Docker Containers
  • Docker Diagnose
  • Docker file
  • Docker Compose
  • Docker Swarm
  • Docker Stack
  • Docker Networking
  • Docker Services
  • Docker Volume
  • Docker Swarm vs Kubernetes

B) ELASTIC CONTAINER SERVICE (ECS)

  • Introduction
  • Security
  • Monitoring
  • Capacity Provider
  • Dynamic Port mapping
  • Container Insight

ORCHESTRATION

A) KUBERNETES

MODULE 1: INTRODUCTION TO KUBERNETES

  • Introduction to containerization
  • Overview of Kubernetes and its Features
  • Understanding Kubernetes architecture
  • Setting up a Kubernetes cluster

MODULE 2: KUBERNETES PODS AND DEPLOYMENTS

  • Understanding Kubernetes Pods
  • Working with container images
  • Creating and managing Kubernetes Deployments
  • Managing replicas and scaling applications

MODULE 3: KUBERNETES SERVICES AND NETWORKING

  • Understanding Kubernetes Services
  • Working with Kubernetes networking
  • Configuring load balancing for applications
  • Creating Kubernetes Ingress resources

MODULE 4: KUBERNETES STORAGE

  • Understanding Kubernetes Pods
  • Working with container images
  • Creating and managing Kubernetes Deployments
  • Managing replicas and scaling applications

MODULE 5: KUBERNETES CONFIGURATION AND SECRETS

  • Working with Kubernetes ConfigMaps
  • Using Kubernetes Secrets for sensitive information
  • Managing configuration for applications
  • Deploying applications with different configurations

MODULE 6: KUBERNETES SECURITY

  • Understanding Kubernetes security features
  • Configuring Kubernetes Network Policies
  • Using Kubernetes Secrets for secure data management

MODULE 7: KUBERNETES MONITORING AND LOGGING

  • Understanding Kubernetes logging
  • Troubleshooting Kubernetes applications

MODULE 8: KUBERNETES ADVANCED TOPICS

  • Using Kubernetes Horizontal Pod Autoscaling (HPA)
  • Configuring Kubernetes Cluster Autoscaling
  • Running stateful applications with Stateful Sets
  • Using Kubernetes Operators for application management

ELASTIC KUBERNETES SERVICE

  • Introduction
  • Security
  • Logs
  • Hierarchy

HELM

MODULE 1: INTRODUCTION TO HELM

  • Introduction to package managers and why they are useful
  • Overview of Helm and its features
  • Understanding the structure of a Helm chart
  • Installing and setting up Helm

MODULE 2: HELM CHARTS

  • Creating and managing Helm charts
  • Understanding chart dependencies
  • Working with chart values and templates
  • Managing chart upgrades and rollbacks

MODULE 3: CHART REPOSITORIES

  • Understanding chart repositories
  • Creating and managing local chart repositories
  • Using public chart repositories

MODULE 4: HELM IN KUBERNETES

  • Using Helm to deploy applications to Kubernetes
  • Understanding Helm releases and their lifecycle
  • Using Helm hooks to execute pre- and post-deployment actions

INFRASTRUCTURE AS CODE (IAC):

A) TERRAFORM:

MODULE 1: INTRODUCTION TO TERRAFORM

  • Introduction to Infrastructure as Code
  • Overview of Terraform and its features
  • Understanding Terraform syntax and configuration files
  • Setting up Terraform on your computer

MODULE 2: TERRAFORM BASICS

  • Defining infrastructure with Terraform
  • Working with Terraform providers
  • Creating and managing Terraform resources
  • Understanding Terraform state management

MODULE 3: TERRAFORM MODULES

  • Creating and using Terraform modules
  • Managing Terraform module dependencies
  • Using Terraform modules from public repositories

MODULE 4: TERRAFORM IN THE CLOUD

  • Deploying infrastructure with Terraform in AWS
  • Working with Terraform workspaces for multi-environment deployments
  • Using Terraform remote state for sharing state across teams

MODULE 5: TERRAFORM BEST PRACTICES

  • Understanding Terraforms best practices
  • Using Terraform CLI commands effectively
  • Writing reusable Terraform code with modules and variables
  • Working with Terraform output values

B) CLOUD FORMATION:

  • Introduction to JSON/YAML, how to use Visual Studio, Working on Parameters & Resource Section using a given template
  • How to find Resource Property in AWS, write 1st template using CFT
  • Drift Detection, Change Stack, Update Stack
  • Parameter Section with S3 & VPC
  • How to deploy VPC using Cloud Formation
  • How to deploy EC2 using Cloud Formation
  • Nested Stack
  • Output with Import/Export
  • Condition Section

6. CONFIGURATION MANAGER

A) ANSIBLE

  • About Ansible
  • How to Install Ansible
  • Configuring SSH and Sudo for Ansible
  • The Ansible Configuration File
  • Setting Up the Ansible Inventory
  • The Ansible Command
  • The Shell and Command Modules
  • Ansible course summary

B) CHEF

MODULE 1: INTRODUCTION TO CHEF

  • Introduction to configuration management
  • Overview of Chef and its features
  • Understanding the Chef’s architecture
  • Setting up Chef on your computer

MODULE 2: CHEF COOKBOOKS

  • Creating and managing Chef cookbooks
  • Understanding Chef resources and their properties
  • Writing Chef recipes and using Chef templates
  • Using Chef cookbooks to manage system configurations

MODULE 3: CHEF NODES AND ROLES

  • Understanding Chef nodes and their properties
  • Working with Chef roles for defining system configurations
  • Using Chef search to discover nodes in your infrastructure
  • Managing node attributes with Chef

MODULE 4: CHEF IN THE CLOUD

  • Using Chef to manage infrastructure in Aws
  • Creating and managing Chef server instances in the cloud

MODULE 5: CHEF BEST PRACTICES

  • Understanding Chef best practices
  • Using Chef CLI commands effectively
  • Writing reusable Chef code with cookbooks and templates

C) PUPPET

MODULE 1: INTRODUCTION TO PUPPET

  • Introduction to configuration management
  • Overview of Puppet and its Features
  • Understanding the Puppet architecture
  • Setting up Puppet on your computer

MODULE 2: PUPPET MANIFESTS

  • Creating and managing Puppet manifests
  • Understanding Puppet resources and their attributes
  • Writing Puppet classes and using Puppet templates
  • Using Puppet to manage system configurations

MODULE 3: PUPPET NODES AND ENVIRONMENTS

  • Understanding Puppet nodes and their properties
  • Working with Puppet environments for defining system configurations
  • Using Puppet Hiera for managing configuration data
  • Managing node attributes with Puppet

MODULE 4: PUPPET IN THE CLOUD

  • Using Puppet to manage infrastructure in AWS
  • Creating and managing Puppet master instances in the cloud

MODULE 6: PUPPET BEST PRACTICES

  • Understanding Puppet best practices
  • Using Puppet CLI commands effectively
  • Writing reusable Puppet code with classes and templates