DevOps Expert

Introduction to DevOps

  • What is DevOps?
  • IT Evolution
  • History of DevOps
  • Different Teams Involved
  • DevOps definitions
  • DevOps and Software Development Life Cycle
  • Waterfall Model
  • Agile Model
  • DevOps main objectives
  • Prerequisites for DevOps
  • Continuous Testing and Integration
  • Continuous Release and Deployment
  • Continuous Configuration Management
  • Continuous Application Monitoring
  • DevOps Toolsets

 

Overview of Linux 

  • Linux OS – Overview 
  • LAB: Setup CentOS/RHEL Linux in AWS 
  • user management and password less login
  • cronjobs–editing, setting, deleting
  • software/package installation —different ways (assuming on CentOS/RHEL)
  • Logging in/out and the su command
  • Configure sudo accounts and permissions 

 

Overview of Linux 

  • Transferring files 
  • Linux Directory Structure 
  • Basic linux commands (awk, sed, grep, piping of commands etc, disk usage commands, 
  • Basic troubleshooting including network troubleshooting
  • Shell scripting
  • LAB: Write a shell script in Git and run it on AWS Linux 

 

GIT

  • Version Control System
  • Centralized & Distributed Version Control System
  • Anatomy of GIT
  • GIT Features
  • Git Commands
  • 3-Tree Architecture
  • GITHUB Projects
  • Git Repositories
  • GITHUB Management and Commands
  • Clone
  • Checkout
  • Commit
  • Push
  • Merge
  • Pull Request
  • Fork/Pull
  • Git Branches
  • Remote branch
  • Local branch
  • Advantages of Git

 

Build Tools – Maven

  • Java Compiler
  • Maven Life Cycle
  • Maven Installation
  • Maven build requirements
  • Maven POM XML File

 

Jenkins

  • Getting started with Jenkins
  • Overview
  • How to Take this Course and How to Get Support
  • About Continuous Integration
  • Introduction to Jenkins and the History of Jenkins
  • Install Java
  • Install Jenkins
  • Jenkins’ Architecture and Terms of Jenkins
  • Overview of Jenkins UI:
  • Dashboard and Menus
  • Create Our First Jenkins Job
  • Run our First Jenkins Job
  • Email configuration, Global Security, Master-Slave Architecture.

 

CI Basics 

    • Overview of Microservices
    • Overview of Sonarqube
    • OWASP Vulnerabilties
    • Running a ZAP scan
    • Quick overview of DOJO services: 
      • BitBucket
      • Bamboo
      • Jira
      • Sonarqube
      • Confluence
  • MS Build, Octopus Deploy

Continuous Integration (CI) with Jenkins

  • Install Git and Jenkins GitHub Plugin
  • Install Maven on Our Local Box
  • Configure Jenkins to Work with Java, Git and Maven
  • Text Direction: Create our First Maven-based Jenkins Project
  • Create our First Maven-based Jenkins Project
  • CI Pipeline
  • Compile
  • CodeReview
  • UnitTest
  • CodeCoverage
  • Package
  • Integration with JFrog and Sonar
  • Run our First Jenkins Build and Jenkins Workspace
  • Trouble Shooting: Run our First Jenkins Build and Jenkins Workspace
  • Triggers in Jenkins

 

Continuous Delivery with Jenkins

  • Archive Build Artifacts
  • Install and Configure Tomcat as the Staging Environment
  • The latest Deploy to Container plug-in
  • Jenkins Build Pipeline
  • Parallel Jenkins Build
  • Master and slave
  • Deployment

 

LAB: Installation of SonarQube and Jenkins Integration 

 

Networking 

  • TCP/IP concepts:  bitmasks, subnetting, gateways, IP addresses composition
  • VLANs
  • NAT and Private IP Addressing
  • Firewalls
  • How does Subnetting work?
  • CIDR
  • VPN 
  • Firewalls – Host-based, network-based and virtual
  • Windows – Host Based Firewalls – Windows Firewall
  • LAB: Setting Firewall in Windows and Linux 

 

AWS 

  • Introduction to cloud computing
  • Essential Characteristics of Cloud Computing
  • Service Models in Cloud computing
  • Deployment models in Cloud Computing
  • Introduction to AWS
  • LAB: AWS console overview  
  • AWS Account creation &free tier limitations overview
  • Identity Access Management
  • Root Account Vs IAM user

Azure 

  • Understanding VM architecture
  • Types of OS supported Images by Azure
  • Virtual Machine instances
  • Understanding Custom Image
  • Load balancing, Availability Set and Auto-Scaling
  • LAB: Creating VMs for diff. OS

 

Azure DevOps

  • Understanding DevOps in Azure 
  • Create simple pipeline 
  • Integrate/migrate disparate source control systems (e.g. GitHub, Azure Repos)
  • Implement workflow hooks
  • Configure permissions in the source control repository
  • Organize the repository with git-tags
  • LAB: setting a pipeline to deploy website on a VM

 

Containerization Concepts using Docker

  • Introduction to Docker
  • What are containers
  • Why use containers
  • Docker Support for Different OS
  • Docker installation 
  • Container’s overview
  • Container Management commands
  • LAB: Install Docker in Linux environment and running containers 

 

Introduction to Docker Components

  • Docker Hub (public repo)
  • Docker Trusted Registry (Private repo)
  • Docker Engine
  • Docker Container
  • Docker Image
  • Docker Compose
  • Docker Swarm
  • Docker Services
  • Docker networking
  • Volumes in containers 
  • Basic docker file scanning tools

o   Snyk

o   ECR scanning

o   Docker image scan

  • LAB: Deploy a website with Database on Docker 
  • Image registry
  • Setup Repository

o   ECR

o   JFrog

o   Nexus

o   Dockerhub

  • AWS Elastic Container Service
  • Docker compose

 

Docker Images

  • Image? What is it in Docker World?
  • Official Docker Image Specification
  • Centre for Images: The Docker Hub (Public)
  • List of Official Docker Images
  • Working with Images: image layers, tagging, Pushing to Docker Hub
  • Building Images: The Dockerfile Basics
  • Build Your Own Dockerfile and Run Containers

 

DOCKER NETWORKING

  • Overview
  • Data-Link Layer Details
  • Network Layer Details
  • Hostnames and DNS
  • Local Host <–> Container
  • Container <–> Container
  • Container <–> Container: Links
  • Remote Host <–> Container

 

DOCKER VOLUMES

  • Volume Concepts
  • Creating and Using Volumes
  • Changing Data in Volumes
  • Removing Volumes
  • Backing up Volumes
  • SELinux Considerations
  • Mapping Devices

 

Docker Containers & Internals

  • Container VS. VM
  • Detached and Interactive Modes
  • What Happens When We Run a Container?
  • What`s Going on In Containers: CLI Process Monitoring
  • Getting a Shell Inside Containers
  • Container Lifetime & Persistent Data Using Volumes
  • Docker container Networking, default & user defined networks

 

Docker Compose

  • Spin up multiple containers with Single command
  • Docker Compose and the docker-compose.yml File
  • Running Compose Commands
  • Adding Image Building to Compose Files

 

Docker Swarm 

  • Introduction to Swarm & Advantages
  • How to create a swarm (cluster of nodes)
  • How to add nodes to swarm
  • How to deploy services/containers to swarm
  • Docker stack deploy
  • Introduction to UCP (universal control pane)

 

Kubernetes 

  • Introduction of Kubernetes
  • What Is Kubernetes?
  • Kubernetes What and Why
  • Kubernetes Architecture
  • Kubernetes Big Picture View
  • Kubernetes Masters
  • Kubernetes Nodes
  • LAB: Install and configure Minikube 

 

Kubernetes  cont..

  • The Declarative Model and Desired State
  • Kubernetes Pods
  • Stable Networking with Kubernetes Services
  • Game Changing Deployments
  • The Kubernetes API and API Server
  • Getting kubectl
  • LAB: Setup Kubernetes with Kubeadm and create resources 
  • Api Server
  • Scheduler
  • Controller Manager
  • etcd – the cluster brain
  • Getting K8s in the Cloud
  • Working with Pods
  • App Deployment Workflow
  • Creating a Pod Manifest
  • Deploying a Pod
  • Deployment vs StatefulSet
  • LAB: Creating PODs, Deployments and Stateful 

 

Kubernetes  cont..1

  • Scaling database applications: Master and Worker Pods
  • Pod state, Pod Identifier
  • 2 Pod endpoints
  • Introduction to YAML
  • Kubernetes Deployment Theory
  • Creating a Deployment YAML
  • Deploying a Deployment
  • Self-healing and Scaling
  • Rolling Updates and Rollbacks
  • LAB: Creating Deployments using YAML files 

 

Kubernetes cont..2

  • ClusterIP Services
  • Multi-Port Services
  • Headless Services
  • NodePort Services
  • LoadBalancer Services
  • Helm – Package Manager
  • Introduction to ECS, EKS  
  • Kubernetes container security
  • LAB: Creating k8s services and custom helm charts 

 

Terraform (IaC)

    • Introduction to IaC
    • Difference between GUI, CLI and IaC
    • Terraform Overview 
    • LAB: Setting Up Terraform 
    • Deploying Infrastructure with Terraform 
    • Read, Generate, Modify Configurations 
    • Terraform Provisioners 
    • Terraform commands & state files.
    • Destroying Infra with Terraform
    • Understanding Attributes and Output Values in Terraform
    • Understanding Provisioners in Terraform
    • Understanding terraform HCL
    • Terraform Variable 
    • Lab: Passing variables and using same in code
    • Terraform Variable Types
    • Outputting attributes
    • Lab: Checking output attributes
    • Data Sources
    • Terraform Modules
    • Interpolation
    • Conditionals
    • For & For-Each loop
  • LAB: For condition and Loops
  • Understanding DRY principle
  • Remote State Management with Terraform
  • Templates
  • Terraform Project Structure
  • Challenges with State File locking
  • Terraform with Configuration management tools

 

Terraform -CFT

  • CloudFormation Introduction 
  • Cloud Formation pros and cons
  • CloudFormation vs Terraform
  • AWS template vs Terraform
  • When to choose Cloud Native Solutions over Terraform?
  • Managing VPC , Subnets, Parameters And Intrinsic Functions 
  • Security Groups, EC2 Instances
  • Managing Load Balancer 
  • Configuring Route53 
  • Managing Auto Scaling Groups 
  • LAB: Setting up VPC and EC2 
  • Demo and exercises on deploying an n-tier infrastructure 
  • Deploy middleware and application on AWS 
  • Using terraform, Ansible with Jenkins
  • LAB: Setting up Jenkins with terraform and Ansible 

 

Ansible – Introduction & Implementation

  • Overview of Ansible Architecture 
  • Overview of Ansible Deployments 
  • Describing Ansible Inventory 
  • Deploying Ansible 
  • Installing Ansible 
  • Managing Ansible Configuration Files 
  • Running Ad Hoc Commands 
  • Managing Dynamic Inventory 
  • Writing YAML Files 
  • Implementing Modules 
  • Implementing Ansible Playbooks 

 

Managing Variables and Inclusions 

  • Managing Variables 
  • Managing Facts 
  • Managing Inclusions 
  • Constructing Flow Control 
  • Implementing Handlers 
  • Automation with Ansible 
  • Implementing Tags 
  • Handling Errors 
  • Learn about retrieving data from external sources using Lookups.

 

Implementing Roles 

  • Describing Role Structure 
  • Creating Roles 
  • Develop and re-use custom Roles
  • Deploying Roles with Ansible Galaxy 
  • Share work with Ansible Community using Ansible Galaxy
  • Optimizing Ansible 
  • Configuring Connection Types 
  • Configuring Delegation 
  • Configuring Parallelism 

 

Ansible Vault

  • Implementing Ansible Vault 
  • Configuring Ansible Vault 
  • Executing with Ansible Vault 

 

Ansible Tower

  • Troubleshooting Ansible 
  • Troubleshooting Ansible Managed Hosts 
  • Implementing Ansible Tower 
  • Describing Ansible Tower 
  • Deploying Ansible Tower 
  • Managing Jobs in Ansible Tower 
  • Implementing Ansible in a DevOps Environment 

 

Ansible Playbooks

  • Develop Ansible Playbooks for advanced use cases
  • Nested Playbooks 
  • Use Dynamic Inventory in playbooks
  • Need Design discussions on Below Topics based on the practical need we can project in Orchestration Area. 
  • Creating Playbooks for Kubernetes Cluster Deployment using Ansible 
  • Creating Playbooks for Container Orchestration 

 

SRE 

  • What is monitoring and it’s type 
  • Observability
  • Infrastructure and Network monitoring
  • Infrastructure monitoring Tools
  • Dashboards for Infrastructure monitoring
  • Miscellaneous Configurations for Infrastructure monitoring
  • Application Monitoring
  • Application Monitoring Tools
  • LAB: Install and configure Grafana and Prometheus

 

SRE cont..

  • Dashboards for Application Monitoring
  • Configurations and plug-ins
  • Serverless Monitoring
  • Tools for Serverless Monitoring
  • Concepts of serverless monitoring
  • How to setup alerts, monitor and take corrective actions
  • Synthetic Monitoring
  • Tools for Synthetic Monitoring
  • Understanding of the user journey and transactions
  • Understanding of different application requirements
  • Dashboards for Synthetic Monitoring
  • Understanding of various configurations and plug-ins
  • Logs Monitoring Tools
  • LAB: Install and configure ELK stack

 

SRE cont..2

  • Understand how to utilize the tool for monitoring alerts, acknowledge alerts and take action based on alerts
  • Knowledge of monitoring tool usage and configuring to capture different log pattern
  • Security Monitoring
  • Understanding of DoS, DDoS security incidents
  • Understanding of IDS/IPS/WAF
  • Understanding of security monitoring aspects and what to monitor
  • Awareness on PCI/PII, GDPR Compliance
  • End User Availability Monitoring 
  • Understanding of the end user requirements
  • Understanding and configuration of Dashboards
  • Understanding of plug-in configuration
  • LAB: Demo with Cloudwatch, Splunk, and Datadog

 

CI Advance 

  • What is Build and Release management
  • Build and release management tools 
  • Continuous Integration, Continuous Delivery and Deployment Concepts 
  • Branching strategy: Gitflow
  • LAB: Deployment of a website with GitHub 

 

CI Advance cont..1

  • Introduction to Maven & Grunt as build tools with examples and exercises.
  • Build process using traditional tomcat based and docker container based
  • Build best practices
  • Sonarqube integration in CI pipeline, administration
  • CI concepts and typical phases and talk on How Jenkins fits 
  • Static security check (Checkmarx)
  • LAB: Jenkins integration with Sonarquabe for Java Project 

 

CI Advance cont..2

  • Unit testing (junit for java, jasmine for frontend etc)
  • Code coverage
  • Sonarqube code quality
  • Functional testing automation
  • Performance testing automation
  • Accessibility testing automation
  • Dynamic security testing
  • Capstone Project: Deploy GitHub java project in Kubernetes cluster using Jenkins. Use Junit and code quality tools for testing.  

DevOps – Monitoring Fundamentals

  • What is Monitoring and Importance of same
  • Basics of Monitoring
  • Some Importance key concepts
  • SRE Key Concepts for Monitoring – SLA, SLI, SLO and MTTR
  • Event Management
  • Monitoring vs Logging
  • Importance of Logging
  • DevSecOps – Fitment of Monitoring in Automation
  • Continuous Monitoring and Logging Architecture
  • Various tools availability and overview of same
  • Cloud Native Tools vs Opensource
  • DevOps IaC (Infrastructure as Code) with Monitoring toolsets
  • Effective handling of Monitoring with Configuration Management tools
  • Automated responses

Prometheus 

    • Introduction to Prometheus
    • Alternate Monitoring Tools
  • Basic Terminologies in Prometheus
  • Architecture of Prometheus Server
  • Installation and UI Walkthrough
  • Exporters – Node and WMI Exporters
  • PromQL – Prometheus Query Language
  • Data Types in PromQL
  • Selectors & Matchers
  • Binary Operators
  • Aggregation Operators
  • Functions – ‘rate’ & ‘irate’
  • Functions – changes, deriv, predict_linear

Prometheus Advance 

  • Client Libraries
  • Exposing Metric from an App to Prometheus
  • Counter Metrics Exposition
  • Adding and managing Labels to Metrics
  • Quantification of Instrumentation
  • Recording Rules
    • Writing Recording Rules
    • Best Practices for Writing rules
  • Alert Management
    • What is Alerting?
    • Writing & Firing the first Alert
    • ‘for’ clause
    • Adding Labels to Alerts
    • Installing Alert-manager
    • Adding Alert Notifier – Gmail
    • Sending Alert Notifications
    • Templating the Alerts
  • Routing Tree for Alerts
  • Service Discovery
  • Prometheus HTTP API
  • Custom Exporters

 

Cloud Inhouse Monitoring tools

  • Cloud In-House Monitoring tools
  • Why to use same and why same can’t be avoided?
  • AWS Cloudwatch Introduction
  • AWS Database Performance monitoring with Performance Insight
  • PaaS Monitoring Limitation
  • Cloud Monitoring with Prometheus
  • Cloudwatch Exporter for Prometheus

 

Infrastructure Monitoring – Nagios

  • Infrastructure monitoring Intro
  • Nagios Core vs XI
  • Setting up Nagios
  • Configuring Windows & Linux Hosts
  • Configuring Alerts and Email Notifications
  • Plugins
  • Introduction to Prometheus and Grafana
  • Container monitoring with Prometheus and Grafana

 

Logging – Splunk

  • What Is Splunk
  • About Machine Data
  • What does Splunk Do?
  • Why Splunk
  • Understanding Splunk Architecture & its Components
  • Installation of Splunk and Forwarder
  • Splunk Search
  • Use cases and Examples
Fee: Rs 7,499 + 18% GST
100% subsidized cost for Naveen Jindal Foundation registered students

or Click here to Register

Enquiry Form
close slider











    Please prove you are human by selecting the star.