thanish infotech: linux -- devops -- aws -python...

14
Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected] DevOps Course Content Introduction to DevOps What is DevOps? History of DevOps Dev and Ops DevOps definitions DevOps and Software Development Life Cycle DevOps main objectives Infrastructure As A Code Prerequisites for DevOps Tools (Jenkins, Chef, Docker, Vagrant and so on.) Continuous Integration and Development Linux Concepts Linux Installation Booting Process Run Levels Linux Administration Roles Linux Essential Commands Vi/Vim File Management File Systems User Management Jobs Package Management Networking Automation Concepts OS Basics Scripting Introduction Learn Shell Scripting Database Concepts Shell Variable Shell Decision Making Shell Test Conditions Shell Loops Shell Redirectors Shell Exit status

Upload: others

Post on 21-May-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

DevOps Course Content

Introduction to DevOps

What is DevOps?

History of DevOps

Dev and Ops

DevOps definitions

DevOps and Software Development Life Cycle

DevOps main objectives

Infrastructure As A Code

Prerequisites for DevOps

Tools (Jenkins, Chef, Docker, Vagrant and so on.)

Continuous Integration and Development

Linux Concepts

Linux Installation

Booting Process

Run Levels

Linux Administration Roles

Linux Essential Commands

Vi/Vim

File Management

File Systems

User Management

Jobs

Package Management

Networking

Automation Concepts

OS Basics

Scripting Introduction

Learn Shell Scripting

Database Concepts

Shell Variable

Shell Decision Making

Shell Test Conditions

Shell Loops

Shell Redirectors

Shell Exit status

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Git Training Course Syllabus

Introduction

What is a Version Control System (VCS)?

Distributed Vs Non-distributed VCS

What is Git and where did it come from?` Alternatives to Git

Cloud-based solutions (Github, Gitlab, BitBucket etc)

Installation and Configuration

Obtaining Git

Installing Git

Common configuration options

GUI tools

Key Terminology

Clone

Working Tree

Checkout

Staging area

Add

Commit

Push

Pull

Stash

Git - Local Repository Actions

Creating a repository (git init)

Checking status (git status)

Adding files to a repository (git add)

Committing files (git commit)

Removing staged files (git reset)

Removing committed files (git rm)

Checking logs (git log)

Git - Remote Repository Actions

Creating a remote repository (git init)

Cloning repositories (git clone)

Updating the remote repository from the local (git push)

Updating the local repository from the remote (git pull)

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Tagging in Git

What are Git Tags?

Listing tags

Lightweight tags

Displaying tag details (tag show)

Annotated tags

Checking out tags

Pushing tags

Pulling tags

Branching in Git

What is a branch

A note about <HEAD>

Listing branches

Create new branch

Checkout branch

Pushing branches

Pulling branches

Merging in Git

Fetching Changes (git fetch)

Rebasing (git rebase)

Git Pull

Git Workflows

Different ways of using Git

Centralised

Feature Branch

Gitflow Workflow

Forking Workflow

Git - Stashing Changes

What is Stashing?

Using Stash

Creating a branch from a Stash

Advanced Repository Actions

Removing untracked files (git clean)

Remove staged changes (git reset)

Revert a commit (git revert)

Checkout a previous commit (git checkout)

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Advanced Branching & Merging

Deleting a Branch

Fast forward merge

Three way merge

Resolving merge conflicts

Cherry-Picking (git cherry-pick)

Jenkins Training Syllabus

Overview of Continuous Integration (CI)

What it means Continuous Integration?

Fundamental of CI

How CI helps to Agile Development

History of Jenkins

Where Jenkins Fit in Organization

Overview of Jenkins community

Setup and Running Jenkins

Prerequisites

Preparing Environment

Installing Git

Setup Account

Install Jenkins on Ubuntu / Windows

Configuring a Node

Running Jenkins as Stand-Alone/ Apache Server

Backup Jenkins data

Configuring Jenkins server

Configure Dashboard

Configure System Environment

Global Properties

Configure Build Tools

Configure Proxy

Working with Jenkins Build Job

Create and Configure a job

Run a job manually

Triggering a Build

Scheduled Build job

Manual Build job

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Polling SCM

Maven and ANT Build Step

Execute a Shell

Post-Build Actions

Archiving Build Results

Notifications

Working with Automate Testing

Introduction of Automate

Automate unit test

Configure Test Reports

Automate Performance Test

Advanced Jenkins

Working with Maven Build

Monitoring External jobs

Distributed builds

File fingerprint tracking

Parameterized Build Job

Parameterized Trigger

Automated Deployment and Continuous Delivery

Jenkins Plugins

Change reporting

Code coverage

Static Analysis

Performance reporting

Style checking

Secure and Notification in Jenkins

Overview of Security

Activating Security

Simple Security

Security Realms

Authorization

Auditing

Overview of Notification

Email Notification

Other Notification

Best Practices on Jenkins

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

MySQL Database

Working with Database

Introduction to MySQL Database

Configuration

User management

Permission management

Creating Database

Data insertion/update

MySQL Data Backup

MySQL Hands-on

MySQL GUI Tools

Build Automation

Introduction with Maven

Maven structure

Maven Phases

Installation of Maven

Configuration

jar/war project structure

Tomcat Web Server

Installation and Configuration

Tomcat Manager

Application Management

App Deployment Methods

Nexus Artifacts/Proxy Tool

Introduction to Nexus

Installation and Configuration

Repository Management

Proxy Management

Integration with Maven

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Docker Training Course Syllabus

Introduction

What is Docker?

Alternatives to Docker

The evolution of containers

How containers work

Containers and Micro Service Architecture

Getting started

Installing Docker

Configuring Docker

Running your first container

Docker Components

Docker Client

Docker Daemon

Docker Images

What is an image?

What does an image contain?

Repositories

Versioning & Tags

Docker images

Docker Hub

What is the Docker Hub?

Creating an account

Docker run

Overview

Terminal Access

Detached mode

Processes

Process Ids

Within a container

PID

Docker ps

Logging

Docker logs

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Port mapping

Overview

Simple port mapping

Building Images with Container Commits

Read only and Write layers, Copy on write

Docker commit

Dockerfile

Introduction

Instructions and images

FROM

RUN

Docker build

Obuild contexts

CMD

EXEC

ENTRYPOINT

Starting and Stopping Containers

Docker ps

Docker start

Docker stop

Getting terminal access

Docker exec

Removing Images

Docker rmi

Docker Hub Repositories

Docker tag

Docker push

Docker pull

Volumes

Docker run /v

VOLUME

Do’s and Don’ts

Port Mapping

Docker run -P

Docker run -p

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

EXPOSE

Linking

Introduction

Docker --link

Continuous Integration

Building Images

Docker Hub Auto Build

Debugging Containers

Using a volume for logging

Docker inspect

Docker Daemon

Starting and Stopping the Daemon

Configuration

Logging Level

Chef Training Syllabus

Chef Introduction

Overview of Chef

Overview of Recipes

Overview of Cookbooks

Overview of Runlists

Overview of Roles

Overview of Search

Installation and Configuration

Basic architecture of chef

Setup of chef server , node and workstation

Standalone Chef/ chef-solo

Running cookbook with knife and chef -solo

Public Chef : client/server

Managing Hosted and on premises chef

Workstation Setup

Managing multi workstation setup

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Knife Client

How to use chef client

Test Node/Client Setup

Testing node with the cookbook

Converge

Various phase of cookbook compilation

Managing variable in convergence phase

Node Object

OHAI manipulation

Cookbooks, Recipes Resources

Managing recipes

Packages, Cookbook Files, Services

Inbuilt resource in chef

Run list

How to manage run list

Cookbook Attributes

How to use ATTRIBUTES

ERB Templates

How to manage data in templates files

Cookbook Dependencies

Managing cookbook sequence and dependencies

Data Bags

Managing data in data bags and safe transfer of certificates

Attribute Precedence

Precedence of attribute variables in chefs

Cookbook Metadata

How to manage cookbook metadata

Execute Resource

What are resource

Various resource available

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Not if/ Only if conditionals

Controlling resource in chef using condition

Notifications

How to use notification to control resource

Template Variables

managing template variables

Using Community Cookbooks

Community cookbook available in supermarket

Ansible Training Syllabus

Introduction to Ansible

What is Configuration Management?

Automation of manual work on IT orchestration

What is Continuous Integration?

What is DevOps?

How CM is important for DevOps

Overview of Ansible

What issues Solving by Ansible?

Strengths of Ansible

Concept and terminology on Ansible

Architecture of Ansible

Different from Chef and Puppet

Getting start with Ansible

Infrastructure Management

Some prerequisites

Set up on Windows / Linux

Create basic inventory file

Run Ansible Ad-Hoc command

Testing with Vagrant

Connect to your target nodes with SSH.

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Inventory

Basic inventory example

Hosts and groups

Inventory file for Multiple Servers

Configure groups of servers or individual servers

Manage users and groups

Manage packages

Manage files and directories

Ansible Playbooks

Overview of Playbooks

Power Plays

Handlers

Variables

Loops

Asynchronous Actions

Error Handler

Manage Ansible code using git

Task

Module

Running Playbook

Docker containers with Ansible

Introduction to Docker

Docker application lifecycle

Create Docker image with Ansible

Synergy of containerization and automation

Staring MySQL containers

Data storage containers

Highly available infrastructure with Ansible

Spec up our inventory and host groups

Using roles

Configure our database backend

Configure our web server front-end

Configure a replicated filesystem

Configure centralized logging

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Deployments with Ansible

Deploying Application to local Vagrant environment

Promote code to higher environment

Alternative to Ansible compares

Troubleshooting

Best Practices on Ansible

Nagios Monitoring

Module

Nagios XI Installation

Linux OS Level Dependencies

Nagios XI installation Process

File Locations and Directory Structure

Nagios XI Basics

Overall Nagios Architecture

Basic Approach to Configuration in Nagios

Monitoring Engine Overview

Monitoring Linux Machines

Using NRPE Agent to Monitor Linux Machines

Using SSH to monitoring Linux Machines

Using SNMP to Monitor Linux Machines

RAM, CPU, Processes, and Disk Space Monitoring

Monitoring Windows Machines

Using NSClient++ Agent to Monitor Windows Machines

RAM, CPU, Processes, and Disk Space Monitoring

Using WMI for Windows Monitoring

Using SNMP for Windows Monitoring

Monitoring Network Devices

Using Basic SNMP for network monitoring

Router, Switches, Firewall and Storage Devices.

Performance Charts, Graphs and Dashboards

Using Performance Charts in Nagios XI

Graph Explorer in Nagios XI

Thanish InfoTech: Linux -- DevOps -- AWS -Python Contact 9160207373 | 8383 040 43461415 DevOps Course Content

Thanish InfoTech Linux --DevOps--AWS --Python Contact:040 43451415 9160207373|8383 [email protected]

Simple Dashboards in Nagios XI

Core Configuration Manager

Advanced Configuration with Core Configuration Manager

Alerts, Notifications and Escalations

Creating On-Screen Alerts and email notifications

Defining escalation flow for issues in Nagios

Additional Tools

BBMap

Minemap

Network Status Map

Google Map Component

Reports

Standard Executive Summary Reports

Host and Service Availability Reports

Backup and Restore

Creating Backups for Nagios

Restoring Nagios from an old Backup

Enterprise Feature Overview

Feature Comparison between Standard and Enterprise Edition

Nagios Core Overview

Differences between Nagios XI and Nagios Core

Hands On Lab Exercises

Build a fully functional Nagios XI monitoring prototype