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