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
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
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
The role of version control in collaborative projects
GIT BASICS
Configuring Git with user details
GIT WORKFLOW
Understanding the working directory, staging area, and repository
CREATING A REPOSITORY
Cloning an existing repository
BASIC GIT COMMANDS
Undoing changes with git checkout and git reset
BRANCHING AND MERGING
Merging branches and resolving conflicts
REMOTE REPOSITORIES
WORKING WITH REMOTE REPOSITORIES
Fetching and syncing changes
COLLABORATIVE DEVELOPMENT WITH GIT
GIT TAGS AND RELEASES
Managing project releases with Git tags
GIT WORKFLOW STRATEGIES
Selecting the right workflow for specific projects
GIT HOOKS
Customizing hooks for specific project needs
ADVANCED GIT COMMANDS
Practical use cases for advanced Git commands
GIT BEST PRACTICES
Effective branching and merging strategies
GIT AND CONTINUOUS INTEGRATION (CI)
Automating testing and deployment with Git
GIT TIPS AND TRICKS
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 developmentOverview of Apache Maven and its features
INSTALLING AND CONFIGURING MAVEN
Installing Maven on different operating systemsConfiguring Maven environment variables and settings
MAVEN PROJECT STRUCTURE
Understanding the standard Maven project directory structureThe role of the POM (Project Object Model) in Maven
MANAGING PROJECT DEPENDENCIES
Declaring dependencies in the POMWorking 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 automationConfiguring plugins in the POM
CUSTOMIZING THE BUILD PROCESS
Adding custom build phases and goalsUsing Maven profiles for different build configurations
DEPENDENCY MANAGEMENT BEST PRACTICES
Strategies for handling version conflictsUsing 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 repositoriesSetting up and using private repositories
MAVEN RELEASE MANAGEMENT
Preparing and performing a release with MavenVersioning 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 AssembliesBuilding zip, tar, and other archive formats
MAVEN BUILD OPTIMIZATION AND PERFORMANCE
Techniques for speeding up Maven buildsCaching and incremental builds
MAVEN AND INTEGRATION TESTING
Running integration tests with Maven Failsafe PluginConfiguring test execution and reporting
MAVEN BEST PRACTICES AND TIPS
Coding conventions for writing Maven POM filesBest 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