contact@neovisara.com

 

 

 

 

DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably. The concept of DevOps is founded on building a culture of collaboration between teams that historically functioned in relative siloes.

 

Devops Course Content

Overview

  • DevOps Overview
  • The Relationship Between Agile and DevOps
  • DevOps Toolchain
  • DASA DevOps Principles
  • Challenges with the Traditional Approach
  • Addressing Challenges Through DevOps
  • DevOps Approach to the Challenges
  • Overview of DevOps Tools
  • Best Practices for DevOps
  • Categories of DevOps Tools

Linux Basics

  • Introduction
  • Unix/Linux Essentials
  • User and group management
  • Handling files
  • Handling errors
  • Log management
  • Package management
  • Linux performance troubleshooting

Bash

  • Core Concepts
  • Bash Files – .bash_profile
  • Bash Files – .bashrc
  • Bash Files – .bash_history
  • Bash Files – .bash_logout
  • What Makes a File a Shell Script?
  • Displaying Environment Variables in a Script
  • Using Variables on the Command Line
  • Setting and Using Variables in Scripts
  • Comment Types and Structure
  • Command Substitution
  • Exit Status
  • Key concepts and samples

Ansible

  • Introduction to Ansible
  • Setup and Configuration
  • Test Environment Setup
  • Download and Installation
  • Ansible Configuration File
  • Ansible Python Dependencies
  • The HOSTS File
  • Overriding the Default HOSTS File
  • Overriding the Default System Ansible.Cfg File
  • Overriding the Default Roles Path
  • Ansible Command Line
  • System Facts
  • System Facts: Common Values for Playbooks
  • Our First Playbook
  • Variables: Inclusion Types
  • Target Section
  • Variable Section
  • Task Section
  • Handler Section
  • Outlining Your Playbook
  • Create a Playbook from Our Outline
  • Optimizing Your Playbook
  • Taking Our Playbook for a Dry Run
  • Asychronous Polling
  • Simple Variable Substitution
  • Lookups
  • RunOnce
  • Local Actions
  • Loops
  • Conditionals
  • Until
  • Notify
  • Vault
  • Prompt – Interactive Playbook
  • Basic Include Statements
  • Tags
  • Basic Error Handling
  • Includes – Breaking Your Playbook Into Discrete Plays
  • Starting At Task or Stepping Through All Tasks
  • Passing Variables Into Playbooks at the Command Line
  • Using Jinja2 Templates
  • LocalAction
  • DelegateTo
  • Roles – The Directory Structure
  • Role Based Tasks
  • Task Order – Pre and Post Tasks
  • Roles – Conditional Execution
  • Roles – Variable Substitution
  • Roles – Handlers
  • Roles – Using Notification
  • Roles – Configuring Alternate Roles Paths
  • Roles – Conditional Include Statements
  • Roles – Waiting For Events
  • Roles – Executing a Task Until
  • Roles – Using Tags
  • Roles – Breaking a Playbook Into a Role
  • Roles – Passing Variables from Command Line
  • Roles – Using Jinja2 Templates
  • Roles – DelegateTo
  • Roles – LocalAction
  • Use Cases
 

Git

  • GIT, GitHub/BitBucket:
  • Introduction about Git
  • Install and Configure Git
  • Introduction to GitHub/BitBucket, Repository administration
  • Branching/Tagging strategy
  • Merging, handling conflicts
  • Troubleshooting issues
  • Git Commands
  • Git GUI, Git Bash
  • Working with Tortoise Git
  • Working with Eclipse IDE
  • Working with projects
  • Best Practices
 

Maven

  • Introduction to Maven
  • Installing Maven, Running Maven
  • Eclipse IDE Integration
  • Understanding Archetypes and pom.xml
  • Maven Build Lifecycle
  • Maven Repositories
  • Maven configuration files
  • Maven Profiles
  • Maven Plugins and Goals
  • Packaging Types
  • Maven Dependencies, Dependency Scope, Finding Dependencies
  • Creating Java, Web, Java EE projects using Maven
  • Build and Deployment Automation
  • Introduction to Multi-Module Builds
 

Docker

  • Learning the Basics of Docker
  • Introduction to Docker
  • Containers Vs. Virtual Machines Docker Architecture
  • The Docker Hub
  • Docker Installation
  • Creating Our First Image
  • Working With Multiple Images
  • Packaging A Customized Container
  • Running Container Commands With Docker
  • The Dockerfile, Builds and Network Configuration
  • Dockerfile Directives
  • Container Volume Management
  • Docker Network: List and Inspect
  • Docker Network: Create and Remove
  • Docker Network: Assign to Containers
  • Docker Commands and Structures
  • Inspect Container Processes
  • Previous Container Management
  • Controlling Port Exposure on Containers
  • Naming Our Containers
  • Docker Events
  • Managing and Removing Base Images
  • Saving and Loading Docker Images
  • Image History
  • Taking Control of Our Tags
  • Pushing to Docker Hub
  • Integration and Use Cases
 

Jenkins

  • Introduction to Jenkins
  • CI/CD Concepts
  • Installing and Configuring Jenkins
  • The Dashboard
  • User Management and Security
  • Adding a Jenkins Slave
  • Setting Up Github
  • Plugin Manager
  • Freestyle Project Configuration
  • Source Code Management and the Git Plugin
  • Git Hooks and Other Build Triggers
  • Workspace Environment Variables
  • Parameterized Projects  Upstream/Downstream Projects and the Parameterized Trigger Plugin
  • Views
  • Pipelines
  • The Jenkinsfile
  • Configuring and Running a Pipeline
  • Artifacts and Fingerprints
  • Testing With Jenkins
  • Unit Testing with JUnit and Ant
  • Deploying to Apache
  • Functional Testing
  • Pipeline Enhancements
  • Multibranch Pipelines and Code Promotion
  • Tagging
  • Notifications
  • Shared Pipeline Libraries
  • Advanced Jenkins Administration
  • The Jenkins CLI
  • The Jenkins REST API
  • Setting Up a Jenkins Master with Docker
 

AWS

  • Identity & Access Management (IAM)
  • IAM Initial Setup and Configuration
  • IAM Users and Policies
  • IAM Groups and Policies
  • IAM Roles
  • Virtual Private Cloud (VPC)
  • VPC Basics
  • Internet Gateways (IGW)
  • Route Tables (RTs)
  • Network Access Control List (NACLs)
  • Subnets
  • Availability Zones (VPC Specific)
  • Simple Storage Service (S3)
  • S3 Basics
  • Buckets & Objects
  • Storage Classes
  • Object Lifecycles
  • Permissions
  • Object Versioning
  • S3 Essentials
  • Elastic Compute Cloud (EC2)
  • EC2 Basics
  • Amazon Machine Images (AMIs)
  • Instance Types
  • Elastic Block Store (EBS)
  • Security Groups
  • IP Addressing
  • Launching and Using an EC2 Instance
  • RDS and DynamoDB Basics
  • Provisioning an RDS MySQL Database
  • Simple Notification Service (SNS)
  • CloudWatch
  • Elastic Load Balancer (ELB)
  • Auto Scaling
  • Route 53
  • Lambda