1.   INTRODUCTION TO DEVOPS

  • What is DevOps?
  • 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 Application  Monitoring
  • Configuration Management
  • What is Cloud?
  • History and evolution of cloud
  • Cloud Computing Concepts
  • Public, Private, Hybrid Clouds
  • IAAS, SAAS, PAAS Cloud Models
  • Public Clouds
    • Amazon Web Services, Azure, Oracle Cloud, IBM Cloud
  • DevOps with Cloud

 

2.   DEVOPS ADOPTION

  • Things to Look For and Avoid
  • IT Assets Ownership
  • Viewing Applications As Products, not Projects
  • DevOps in the Enterprise
  • Micro Servicing
  • DevOps Adoption Steps
  • Select DevOps Techniques and Practices
  • Service Quality Metrics

 

3.   LINUX: BASICS & ADMIN

  • Linux OS Introduction
  • Importance of Linux in DevOps
  • Linux Basic Command Utilities
  • Linux Administration  Commands
  • Networking Commands
  • Linux Server Installation Procedures

 

4.   CLOUD COMPUTING: GCE / AWS

  • Why Google Cloud
  • Google Compute Engine
  • Google Projects
  • Google Instances

 

  • Google Firewall
  • Google Project Metadata

 

  • Why AWS Cloud
  • AWS VPC
  • EC2 Essentials
  • Build Ec2 Instances
  • Security Groups
  • Key Pairs
  • Load balancers and Auto Scaling

 

5.   WEB SERVER & APPLICATION SERVER & DB SERVER

  • Apache Web Server
  • Web Server Installation & Configuration in Cloud
  • Manual and Automated web code deployment
  • Apache Tomcat Server
  • Tomcat Server Installation & Configuration in Cloud
  • Manual and Automated application deployment
  • Integrating Web Server with Tomcat (ModJK)
  • Installing DB Server
  • Configuring Application with DB

 

 

6.   VERSION CONTROL – GIT & SVN

  • Version Control System
  • Centralized & Distributed Version Control System
  • Advantages of Git & SVN
  • SVN
    • SVN Features
    • SVN Server Installation
    • Configure SVN with Web server
    • Create and Configure Users
    • Create and Configure SVN
    • SVN Trunk / Branch / Tag

 

  • GIT
  • Anatomy of GIT
  • GIT Features
  • 3-Tree Architecture
  • GITHUB Projects
  • GITHUB Management
  • GIT Clone / Commit / Push / Merge o GITLAB Installation & Configuration o  GITLAB Management

 

 

7.   BUILD TOOLS – ANT & MAVEN

  • Java Compiler
  • Ant Installation
  • Ant build pre-requisites
  • Creating JAR and WAR files with ANT
  • Make ANT Build
  • Maven Installation
  • Maven build requirements
  • Maven POM Builds

 

8.   REPOSITORY TOOLS – SONATYPE NEXUS

  • What is Aritifactory
  • Artifactory tools
  • Sonatype Nexus Installation
  • Nexus with Maven Integration

 

9.   CONTINUOUS INTEGRATION – JENKINS

  • Continuous Integration with Jenkins Overview
  • Installation of Jenkins Master and Jenkins
  • Configure Jenkins
  • Jenkins management
  • Support for the Git version control systems
  • Different types of Jenkins Jobs
  • Setting up a Jenkins job
  • Scheduling build Jobs
  • Maven Build Scripts
  • Securing Jenkins
    • Authentication o Authorization o      Confidentiality o      Creating users
  • Jenkins Plugin
    • Installing Jenkins Plugins
    • SCM plugin o      Build and test o      Analyzers
  • Distributed builds with Jenkins
  • Best Practices for Jenkins

 

10.   CONTAINERIZATION – Containers & Docker

  • What is Containers & Dockers
  • Linux Container
  • Docker Installation
  • Work with Images
    • Docker Containers
    • Docker Engine
    • Docker Hub
    • Docker Trusted Registry
    • Docker UCP
    • Docker swarm
    • CI/CD with Docker
    • High Availability with Docker
  • Docker Builds
    • Docker CLI
    • Docker File
    • Docker Compose

 

11.   CONTINOUS DEPLOYMENT TOOLS – RUNDECK

  • Introduction
  • Rundeck server Installation
  • Managing
  • Adding nodes to Rundeck
  • Managing RunDeck

 

12.   CONFIGURATION MANAGEMENT – ANSIBLE

  • Introduction
  • Ansible and Infrastructure Management
  • Ansible Server Configuration
  • Inventory
    • Hosts and Groups
    • Host Variables
    • Group Variables
    • Groups of Groups, and Group Variables
    • Splitting Out Host and Group Specific Data
    • List of Behavioral Inventory Parameters
  • Modules
    • Core Modules
    • Extras Modules
  • Playbooks
    • Playbook Roles and Include Statements
    • Variables
    • Conditionals
    • Loops
    • Blocks

 

  • Features of Ansible Tower 3

 

13.   CONFIGURATION MANAGEMENT – CHEF

  • Chef fundamentals
    • Chef Syntax and Examples
    • Working with Knife
    • Writing First Chef Recipe o Chef and Its Terminology o  Attributes
    • Metadata o Recipes   o      Resources o      Templates
    • Definitions
    • Recipes
    • Writing recipes
    • Cookbook Dependencies o      Controlling  Impotency  o      Notifications
    • Template Variables
  • Cookbooks
    • Developing Your First Cookbook
    • Writing a Recipe
    • Creating the Index File o      Changing the Metadata o      Uploading the Cookbook o      Running the Cookbook  o      Add an Attribute
    • Add a Resource t the Default Recipe
    • Add the Template File
    • Uploading and Running the Cookbook
    • Using Environments

 

  • Modeling your infrastructure
    • Roles
    • Implementing a role
    • Determining which recipes you need
    • Applying recipes to roles
    • Mapping your roles to nodes
    • Environments
    • Organizing your configuration data

 

13.   CONFIGURATION MANAGEMENT – PUPPET

  • Introduction to Puppet
  • Installation and Configuration of Puppet Master
  • Installation and Configuration of Puppet agents
  • Parameters in conf
  • Facter
  • Catalog Compilation
  • Managing Manifests
  • Puppet DSL
  • Creating and Managing modules
  • Version control with Puppet
  • Roles and Profiles
  • Hiera

 

14.   MONITORING – NAGIOS

  • Nagios Architecture
  • Nagios Server Installation
  • Nagios Agent Configuration
  • Deploying Nagios

 

FINAL PROJECT.