VCS/SCM using Git n GitHub

Version control and collaborative software development, track changes, manage code efficiently and foster seamless collaboration with centralized platform for code hosting, reviewing and sharing

USD 50

ONE WEEK

Linux fundamentals n Shell Scripting

Linux file systems, commands, permissions, users, groups, processes, and networking. Shell scripting for automating tasks and writing deployment scripts.

USD 50

ONE WEEK

Cloud and IaaS

On-demand access to scalable and virtualized computing resources, enabling business to offload infrastructure management, reduce costs and rapidly deploy and scale application with greater flexibility and agility.

USD 100

ONE WEEK

Package management using Maven

Build automation and project management tool for Java projects, simplifying dependency management, facilitating standardized project structure, and automating the build, test, and deployment processes to enhance development efficiency and maintain consistency 

USD 50

THREE DAYS

Configuration management automation using Ansible

Configuration management, application deployment, and orchestration of IT infrastructure, enabling teams to streamline tasks, achieve consistent system states, and accelerate the delivery of software with simplicity and ease.

USD 50

ONE WEEK

Enables CI/CD using Jenkins

Automation server that enabling continuous integration and continuous delivery (CI/CD) pipelines, automating software development processes and fostering collaboration across development and operations teams.

USD 50

ONE WEEK

Containerize packages using Docker

Containerization platform to package applications along with their dependencies into lightweight and portable containers, enabling consistent and efficient deployment, simplifying application management, and promoting scalability and flexibility.

USD 50

ONE WEEK

Containerization Orchestration using Kubernetes

Container orchestration platform that automates the deployment, scaling, and management of containerized applications, providing enhanced resilience, resource optimization, and seamless scaling, making it an indispensable tool for modernizing and efficiently managing complex microservices-based architectures in DevOps environments.

USD 150

10 DAYS

Declarative way of resource deployment using Terraform

IaC tool that empowers users to define, manage, and provision cloud resources and infrastructure using declarative configuration files, enabling consistent, scalable, and version-controlled infrastructure deployments and simplifying the management of complex cloud environments in DevOps practices.

USD 50

THREE DAYS

Open Source monitoring Tool Nagios

Monitoring tool that helps IT teams monitor and detect issues in their infrastructure, applications, and services, enabling proactive troubleshooting, minimizing downtime, and ensuring high availability and performance in DevOps environments.

USD 50

ONE WEEK

CI

Continuous Integration Practice of DevOps

Practice of automatically integrating code changes from multiple developers into a shared repository and running automated tests, promoting early detection of integration issues, enhancing collaboration, and enabling frequent and reliable software releases.

CD

Continuous Delivery/Deployment Practice of DevOps

Practice of automating the release process to deliver code changes from the repository to production environments, ensuring a smooth and reliable flow of software updates, reducing manual intervention, and enabling rapid and consistent delivery of new features and enhancements.

VERSION CONTROL SYSTEM/SCM WITH GIT

INTRODUCTION TO VERSION CONTROL

What is version control and its significance in software development

The role of version control in collaborative projects

GIT BASICS

Understanding Git’s distributed nature
Installing Git on various operating systems

Configuring Git with user details

GIT WORKFLOW

Overview of the typical Git workflow

Understanding the working directory, staging area, and repository

CREATING A REPOSITORY

Initializing a new Git repository

Cloning an existing repository

BASIC GIT COMMANDS

git init, git add, git commit, git status, git log, etc.

Undoing changes with git checkout and git reset

BRANCHING AND MERGING

Creating and managing branches in Git

Merging branches and resolving conflicts

REMOTE REPOSITORIES

 Understanding remote repositories and their role in collaboration
Adding and removing remote repositories
 

WORKING WITH REMOTE REPOSITORIES

Pushing and pulling changes to and from remote repositories

Fetching and syncing changes

COLLABORATIVE DEVELOPMENT WITH GIT

Setting up pull requests for code review
Resolving feedback and reviewing others’ code

GIT TAGS AND RELEASES

Creating lightweight and annotated tags

Managing project releases with Git tags

GIT WORKFLOW STRATEGIES

Git Flow, GitHub Flow, and other popular workflows

Selecting the right workflow for specific projects

GIT HOOKS

Introduction to Git hooks and their applications

Customizing hooks for specific project needs

ADVANCED GIT COMMANDS

git rebase, git cherry-pick, git stash, etc.

Practical use cases for advanced Git commands

GIT BEST PRACTICES

Guidelines for writing meaningful commit messages

Effective branching and merging strategies

GIT AND CONTINUOUS INTEGRATION (CI)

Integrating Git with CI/CD pipelines (e.g., Jenkins, GitLab CI)

Automating testing and deployment with Git

GIT TIPS AND TRICKS

Time-saving commands and shortcuts
Handling large repositories and dealing with performance issues

BASICS OF LINUX OS AND SHELL SCRIPTING

INTRODUCTION TO LINUX

History and evolution of Linux
Linux distributions and package management
Understanding the Linux file system hierarchy

COMMAND LINE INTERFACE (CLI) ESSENTIALS

Navigating the Linux file system
Basic commands (ls, cd, pwd, mkdir, rmdir, etc.)
File and directory manipulation (cp, mv, rm)

TEXT EDITORS IN LINUX

Introduction to text editors (nano, vim, etc.)
Editing files using different text editors
Useful keyboard shortcuts and commands

USERS, GROUPS, AND PERMISSIONS

Managing users and groups in Linux
Understanding file permissions (chmod, chown)
Implementing best practices for security

PACKAGE MANAGEMENT

Using package managers (apt, yum, dnf, etc.)
Installing, updating, and removing software packages
Handling dependencies and repositories

PROCESS MANAGEMENT

Viewing and managing processes (ps, top, kill, etc.)
Understanding background and foreground tasks
Monitoring system resources

FILE PERMISSIONS AND OWNERSHIP

Detailed understanding of Linux file permissions
Changing file permissions and ownership (chmod, chown)
Setting permissions for directories and files

INPUT/OUTPUT REDIRECTION AND PIPELINES

Redirecting input and output (>, >>, <)
Using pipelines to combine commands (|)

BASH SCRIPTING BASICS

Introduction to shell scripting
Creating and running bash scripts
Variables, conditionals, loops, and functions

NETWORKING AND REMOTE ACCESS

Configuring network settings (ifconfig, ip, netstat)

Remote access using SSH
Transferring files with SCP and SFTP

SYSTEM MONITORING AND LOGGING

Checking system logs (syslog, journalctl)
Monitoring system performance (top, free, df)
Analyzing log files for troubleshooting

MANAGING SERVICES AND PROCESSES

Starting, stopping, and restarting services (systemctl)
Enabling and disabling services at boot
Managing daemons and background processes

FILE COMPRESSION AND ARCHIVING

Compressing and decompressing files (tar, gzip, zip)
Creating and extracting archives

PRACTICAL LINUX UTILITIES

Introduction to commonly used utilities (grep, awk, sed)
Using these utilities for text processing and manipulation

SHELL CUSTOMIZATION

Customizing the shell environment (bashrc, aliases)
Installing and managing shell plugins and extensions

BASICS OF CLOUD AND IAAS USING AWS

INTRODUCTION TO CLOUD COMPUTING

Understanding the cloud computing paradigm
Advantages and benefits of cloud computing

CLOUD SERVICE MODELS

Overview of IaaS, PaaS, and SaaS
Focus on Infrastructure as a Service (IaaS)

INTRODUCTION TO AWS

Overview of Amazon Web Services (AWS)
AWS global infrastructure and regions

SETTING UP AWS ACCOUNT

Creating an AWS account and setting up billing
Understanding AWS Identity and Access Management (IAM)

AWS MANAGEMENT CONSOLE

Navigating the AWS Management Console
Overview of AWS services and resources

AMAZON EC2 (ELASTIC COMPUTE CLOUD)

Introduction to EC2 instances and instance types
Launching and configuring EC2 instances

AWS NETWORKING

Understanding Amazon Virtual Private Cloud (VPC)
Creating subnets, route tables, and security groups

AMAZON EBS (ELASTIC BLOCK STORE)

Working with Amazon EBS volumes and snapshots
Attaching and detaching EBS volumes to EC2 instances

AWS STORAGE SERVICES

Overview of Amazon S3 (Simple Storage Service)
Understanding Amazon Glacier for archival storage

AWS IDENTITY AND ACCESS MANAGEMENT (IAM)

Managing IAM users, groups, and roles
Assigning permissions using IAM policies

AWS SECURITY BEST PRACTICES

Securing EC2 instances with key pairs
Configuring security groups for inbound and outbound traffic

AWS CLOUDWATCH

Monitoring AWS resources with CloudWatch
Setting up alarms for automatic actions

AWS AUTO SCALING

Understanding Auto Scaling and its benefits
Configuring Auto Scaling groups

AWS ELASTIC LOAD BALANCING (ELB)

Overview of ELB and its types
Distributing incoming traffic to EC2 instances

AWS COMMAND LINE INTERFACE (CLI)

Introduction to AWS CLI and its usage
Automating tasks with AWS CLI scripts

AWS CLOUDFORMATION

Infrastructure as Code (IaC) using CloudFormation
Writing templates to provision AWS resources

AWS SERVERLESS SERVICES (OPTIONAL)

Brief overview of AWS Lambda, API Gateway, and other serverless offerings

COST MANAGEMENT AND BILLING

Monitoring and controlling AWS costs
Understanding AWS billing and pricing models

BUILD AND PACKAGE MANAGEMENT WITH MAVEN

INTRODUCTION TO BUILD MANAGEMENT AND MAVEN

Understanding the importance of build management in software development
Overview of Apache Maven and its features


INSTALLING AND CONFIGURING MAVEN

Installing Maven on different operating systems
Configuring Maven environment variables and settings


MAVEN PROJECT STRUCTURE

Understanding the standard Maven project directory structure
The role of the POM (Project Object Model) in Maven


MANAGING PROJECT DEPENDENCIES

Declaring dependencies in the POM
Working with transitive dependencies and dependency scopes


BUILDING PROJECTS WITH MAVEN

Running basic Maven commands (clean, compile, package, install)
Building specific modules and skipping tests


MANAGING PLUGINS IN MAVEN

Understanding Maven plugins and their role in build automation
Configuring plugins in the POM


CUSTOMIZING THE BUILD PROCESS

Adding custom build phases and goals
Using Maven profiles for different build configurations


DEPENDENCY MANAGEMENT BEST PRACTICES

Strategies for handling version conflicts
Using the Dependency Management section effectively


CONTINUOUS INTEGRATION (CI) WITH MAVEN

Integrating Maven with CI/CD pipelines (e.g., Jenkins, GitLab CI)
Automating testing, building, and deployment with Maven in CI


MAVEN REPOSITORY MANAGEMENT

Understanding local, remote, and central repositories
Setting up and using private repositories


MAVEN RELEASE MANAGEMENT

Preparing and performing a release with Maven
Versioning and tagging releases


MAVEN AND CODE QUALITY

Integrating Maven with code quality tools (e.g., SonarQube)
Enforcing code quality checks in the build process


WORKING WITH ASSEMBLIES

Creating custom distributions using Maven Assemblies
Building zip, tar, and other archive formats


MAVEN BUILD OPTIMIZATION AND PERFORMANCE

Techniques for speeding up Maven builds
Caching and incremental builds


MAVEN AND INTEGRATION TESTING

Running integration tests with Maven Failsafe Plugin
Configuring test execution and reporting


MAVEN BEST PRACTICES AND TIPS

Coding conventions for writing Maven POM files
Best practices for project organization and structure

CONFIGURATION MANAGEMENT WITH ANSIBLE

INTRODUCTION TO CONFIGURATION MANAGEMENT

Understanding the need for configuration management in DevOps
Overview of Ansible and its features

 

INSTALLING AND SETTING UP ANSIBLE

Installing Ansible on different operating systems
Configuring Ansible hosts file and inventory

 

ANSIBLE PLAYBOOKS AND ROLES

Writing Ansible playbooks for configuration management
Organizing tasks into roles for reusability

 

MANAGING INVENTORY AND HOSTS

Configuring inventory files for different environments
Using patterns and groups to target hosts

 

WORKING WITH ANSIBLE MODULES

Understanding Ansible modules for different tasks (file, package, service, etc.)
Using core and community modules

 

ANSIBLE VARIABLES AND FACTS

Declaring and using variables in Ansible playbooks
Gathering facts about managed hosts

 

MANAGING FILES AND TEMPLATES

Copying files to remote hosts with the “copy” module
Using Jinja2 templates for dynamic configuration

 

MANAGING PACKAGES AND SOFTWARE

Installing and updating packages using Ansible
Configuring package repositories

 

MANAGING SERVICES

Starting, stopping, and restarting services with Ansible
Managing service states and configurations

 

CONDITIONAL EXECUTION AND LOOPS

Using conditionals (when) and loops (with_items) in playbooks
Handling different scenarios based on conditions

 

HANDLING FILE PERMISSIONS AND OWNERSHIP

Managing file permissions and ownership with Ansible
Using the “file” module for file manipulation

 

ANSIBLE ROLES AND BEST PRACTICES

Structuring playbooks with reusable roles
Following best practices for Ansible playbook organization

 

ANSIBLE VAULT

Introduction to Ansible Vault for encrypting sensitive data
Managing encrypted files and variables

 

WORKING WITH ANSIBLE AND CLOUD PROVIDERS (OPTIONAL)

Automating cloud infrastructure with Ansible (e.g., AWS, Azure)
Using Ansible dynamic inventory for cloud environments

 

ANSIBLE AND CONFIGURATION DRIFT REMEDIATION (OPTIONAL)

Identifying and remediating configuration drift with Ansible
Implementing continuous compliance using Ansible

PROCESS (CI/CD) AUTOMATION USING JENKIN

INTRODUCTION TO CI/CD AND JENKINS

Understanding Continuous Integration (CI) and Continuous Deployment (CD) concepts
Overview of Jenkins and its importance in the DevOps pipeline

 

INSTALLING AND CONFIGURING JENKINS

Installing Jenkins on different operating systems
Initial setup and configuration of Jenkins

 

JENKINS DASHBOARD AND NAVIGATION

Navigating the Jenkins dashboard and understanding the user interface
Managing Jenkins plugins and configurations

 

CREATING AND CONFIGURING JENKINS JOBS

Creating new Jenkins jobs for different types of projects (e.g., Java, Node.js, Python)
Configuring build triggers and source code management in Jenkins jobs

 

BUILD AUTOMATION WITH JENKINS

Configuring build tools (e.g., Maven, Gradle) in Jenkins jobs
Running automated builds with Jenkins

 

CONTINUOUS INTEGRATION WITH JENKINS

Setting up CI pipelines for automatic code integration
Configuring build steps and post-build actions

 

AUTOMATED TESTING WITH JENKINS

Integrating unit tests and code quality checks in Jenkins jobs
Configuring test reporting and result visualization

 

JENKINS AND SOURCE CODE MANAGEMENT

Integrating Jenkins with version control systems (e.g., Git, SVN)
Using Jenkins with Git webhooks for automatic builds

 

ARTIFACT MANAGEMENT AND ARCHIVING

Configuring artifact management with Jenkins
Archiving build artifacts and intermediate files

 

CONTINUOUS DEPLOYMENT WITH JENKINS

Setting up CD pipelines for automatic deployment to different environments
Implementing blue-green deployments and canary releases

 

JENKINS PIPELINES

Introduction to Jenkins Pipeline as code
Defining declarative and scripted Jenkins pipelines

 

JENKINS AGENTS AND EXECUTORS

Configuring Jenkins agents for distributed builds
Managing executors and build queue

 

JENKINS SECURITY AND AUTHENTICATION

Securing Jenkins with user authentication and authorization
Managing user permissions and access controls

 

JENKINS PLUGIN MANAGEMENT

Overview of essential Jenkins plugins for CI/CD automation
Installing and configuring Jenkins plugins

 

JENKINS INTEGRATION WITH OTHER DEVOPS TOOLS

Integrating Jenkins with other DevOps tools (e.g., GitLab, JIRA)
Using Jenkins in conjunction with Docker and Kubernetes

CONTAINERIZATION WITH DOCKERS

INTRODUCTION TO CONTAINERIZATION

Understanding containerization and its benefits
Differences between containers and virtual machines

 

INTRODUCTION TO DOCKER

Overview of Docker and its architecture
Installing Docker on different operating systems

 

DOCKER IMAGES AND CONTAINERS

Understanding Docker images and their role in container creation
Running containers from Docker images

 

WORKING WITH DOCKER CONTAINERS

Managing Docker containers (start, stop, restart, remove)
Interacting with containers (exec, logs, inspect)

 

DOCKERFILE AND IMAGE CREATION

Creating Docker images using Dockerfile
Best practices for writing efficient Dockerfiles

 

DOCKER NETWORKING

Overview of Docker networking modes (bridge, host, overlay, etc.)
Exposing container ports and mapping to host ports

 

DOCKER VOLUMES

Understanding Docker volumes for persistent data storage
Managing data volumes and bind mounts

 

DOCKER COMPOSE

Introduction to Docker Compose for defining multi-container applications
Creating and managing multi-container applications with Compose

 

DOCKER REGISTRY

Overview of Docker Hub and private Docker registries
Pushing and pulling images from Docker registries

 

DOCKER AND CONTINUOUS INTEGRATION (CI)

Using Docker in CI/CD pipelines
Building and testing applications in Docker containers during CI

 

DOCKER ORCHESTRATION WITH KUBERNETES (OPTIONAL)

Brief introduction to Kubernetes and container orchestration
Deploying Docker containers on Kubernetes clusters

 

DOCKER SECURITY BEST PRACTICES

Securing Docker containers and images
Implementing container isolation and resource constraints

 

DOCKERIZING APPLICATIONS

Containerizing different types of applications (e.g., Java, Node.js, Python)
Building Docker images for web applications and databases

 

DOCKER AND MICROSERVICES (OPTIONAL)

Understanding how Docker facilitates microservices architecture
Deploying and managing microservices with Docker

 

DOCKER TIPS AND TRICKS

Useful Docker commands and shortcuts
Troubleshooting common Docker issues

CONTAINER ORCHESTRATION USING K8S

INTRODUCTION TO CONTAINER ORCHESTRATION

Understanding the need for container orchestration
Benefits and advantages of Kubernetes in container management

 

KUBERNETES ARCHITECTURE

Overview of Kubernetes components (Master and Nodes)
Understanding Kubernetes Pods, Services, and Controllers

 

INSTALLING AND SETTING UP KUBERNETES

Installing Kubernetes on different platforms (e.g., local, cloud)
Configuring Kubernetes cluster networking

 

MANAGING KUBERNETES RESOURCES

Deploying applications with Kubernetes YAML manifests
Understanding Deployments, StatefulSets, and DaemonSets

 

KUBERNETES SERVICES AND LOAD BALANCING

Exposing applications with Kubernetes Services
Load balancing traffic to application Pods

 

KUBERNETES VOLUMES AND STORAGE

Understanding Kubernetes Persistent Volumes and Persistent Volume Claims
Configuring data storage for stateful applications

 

KUBERNETES NETWORKING

Overview of Kubernetes networking concepts (e.g., Pods communication, Services)
Using Ingress controllers for external access to services

 

SCALING AND AUTO-SCALING

Scaling applications manually with Kubernetes commands
Implementing Horizontal Pod Autoscaling (HPA)

 

KUBERNETES CONFIGMAPS AND SECRETS

Managing configuration data with ConfigMaps
Storing sensitive data with Kubernetes Secrets

 

KUBERNETES DEPLOYMENT STRATEGIES

Understanding Rolling Updates and Blue-Green Deployments
Managing application versioning and rollbacks

 

KUBERNETES MONITORING AND LOGGING

Monitoring Kubernetes cluster and application health
Using Kubernetes Dashboard and Prometheus for monitoring

 

KUBERNETES SECURITY BEST PRACTICES

Securing Kubernetes components and APIs
Implementing RBAC (Role-Based Access Control)

 

KUBERNETES AND CI/CD INTEGRATION

Integrating Kubernetes with CI/CD pipelines (e.g., Jenkins, GitLab CI)
Automating deployments to Kubernetes clusters

 

KUBERNETES NETWORKING WITH CNI PLUGINS (OPTIONAL)

Brief introduction to Container Network Interface (CNI) plugins
Understanding network overlay for container networking

 

KUBERNETES MULTI-CLUSTER MANAGEMENT (OPTIONAL)

Managing multiple Kubernetes clusters with tools like Kubernetes Federation and Rancher

INFRASTRUCTURE AS CODE USING TERRAFORM

INTRODUCTION TO INFRASTRUCTURE AS CODE (IAC)

Understanding the concept and benefits of IaC
Overview of Terraform and its features

 

INSTALLING AND SETTING UP TERRAFORM

Installing Terraform on different operating systems
Configuring Terraform environment variables

 

TERRAFORM BASICS

Understanding Terraform configuration files (HCL language)
Initializing and validating Terraform configurations

 

MANAGING RESOURCES WITH TERRAFORM

Declaring resources in Terraform (e.g., virtual machines, networks, storage)
Understanding Terraform providers

 

TERRAFORM VARIABLES AND INPUT VARIABLES

Declaring and using variables in Terraform configurations
Using input variables for dynamic configurations

 

TERRAFORM STATE MANAGEMENT

Understanding Terraform state files and their importance
Configuring remote state storage

 

TERRAFORM MODULES

Organizing Terraform configurations into reusable modules
Best practices for writing Terraform modules

 

TERRAFORM DATA SOURCES

Querying and using data from external sources in Terraform
Retrieving information from cloud providers

 

TERRAFORM AND CLOUD PROVIDERS

Working with different cloud providers (e.g., AWS, Azure, GCP)
Defining infrastructure in multi-cloud environments

 

TERRAFORM PROVISIONERS

Using provisioners to execute scripts on provisioned resources
Configuring bootstrapping and initialization scripts

 

TERRAFORM AND INFRASTRUCTURE LIFECYCLE

Understanding resource creation, updating, and deletion in Terraform
Terraform plan and apply workflow

 

TERRAFORM AND VERSION CONTROL

Managing Terraform configurations in version control systems (e.g., Git)
Collaborating on Terraform configurations in teams

 

TERRAFORM BEST PRACTICES

Following best practices for writing maintainable and efficient Terraform code
Terraform code organization and structure

 

TERRAFORM AND CI/CD INTEGRATION (OPTIONAL)

Integrating Terraform with CI/CD pipelines (e.g., Jenkins, GitLab CI)
Automating infrastructure provisioning with Terraform

 

TERRAFORM STATE LOCKING (OPTIONAL)

Implementing state locking to prevent concurrent modifications
Using remote backends for safe state storage

MONITORING TOOL (NAGIOS)

INTRODUCTION TO MONITORING AND NAGIOS

Understanding the need for monitoring in DevOps
Overview of Nagios and its features

 

INSTALLING AND SETTING UP NAGIOS

Installing Nagios on different operating systems
Configuring Nagios for monitoring

 

NAGIOS CONFIGURATION FILES

Understanding Nagios configuration files and their roles
Configuring hosts, services, and commands

 

MONITORING HOSTS AND SERVICES

Defining hosts and services to monitor with Nagios
Setting up checks for different types of services (e.g., HTTP, SMTP, SSH)

 

NAGIOS PLUGINS

Understanding Nagios plugins and their importance
Installing and managing plugins for specific checks

 

NAGIOS NOTIFICATIONS AND ALERTING

Configuring notification methods (e.g., email, SMS, Slack)
Setting up alerting rules and thresholds

 

NAGIOS DASHBOARDS AND VISUALIZATIONS

Using Nagios web interface for monitoring and reporting
Creating custom dashboards and views

 

NAGIOS EVENT HANDLERS

Implementing event handlers for automated responses to alerts
Performing actions based on monitoring events

 

NAGIOS PERFORMANCE DATA AND GRAPHING

Enabling performance data collection in Nagios
Visualizing performance data with graphs and charts

 

NAGIOS HIGH AVAILABILITY (OPTIONAL)

Configuring Nagios for high availability and redundancy
Implementing active-passive or active-active setups

 

NAGIOS PLUGINS DEVELOPMENT (OPTIONAL)

Writing custom Nagios plugins for specific monitoring needs
Extending Nagios capabilities with custom checks

 

NAGIOS BEST PRACTICES

Following best practices for organizing and maintaining Nagios configurations
Optimizing Nagios performance and resource utilization

 

INTEGRATING NAGIOS WITH OTHER TOOLS (OPTIONAL)

Integrating Nagios with other DevOps tools (e.g., Grafana, Jenkins)
Centralizing monitoring data with ELK stack or Prometheus

 

NAGIOS AND ITIL/INCIDENT MANAGEMENT (OPTIONAL)

Integrating Nagios with ITIL-compliant incident management systems
Implementing incident tracking and resolution workflows