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