DevOps Training

DevOps (a clipped compound of “development” and “operations”) is a software development methodology that combines software development (Dev) with information technology operations (Ops).

DevOps integrates developers and operation teams in order to improve collaboration and productivity by automation infrastructure, automating work flows and continuously application performance.

As rapid delivery of software has become a strategic business asset, progressive IT organizations are pursuing a DevOps culture, where development and operations teams, systems, and tools work in lockstep.

All practical based training with separate hours for Assignments. Below is the course insite.

1. DevOps Essentials
    a. Introduction to DevOps
    b. Terminologies
        i. Iaas
        ii. PaaS
        iii. SaaS
    c. Processes
        i. Build Automation
        ii. Continuous Integration
        iii. Continuous Deployment
        iv. Continuous Delivery
    d. Tools
        i. Jenkins
        ii. Chef
        iii. Docker

2. Amazon Web Services (AWS)
    i. Elastic Compute Cloud (EC2)
    ii. Elastic Load Balancer (ELB)
    iii. Elastic Block Storage (EBS)
    iv. Simple Storage Service (S3)
    v. Certificate Manager
    vi. Relational Database Service (RDS)
    vii. Virtual Private Cloud (VPC)
    viii. Route 53
    ix. Identity & Access Management (IAM)
    x. Cloud Trail
    xi. Cloud Watch
    xii. Lambda
    xiii. Simple Notification Service (SNS)
    xiv. CodeDeploy
    xv. Command Line Interface (CLI)
    xvi. Elastic Container Service (ECS)
    xvii. Elastic File System (EFS)
    xviii. Auto Scaling
    xix. CloudFormation
    xx. Directory Service
    xxi. Amazon EventBridge
    xxii. API Gateway
    xxiii. Trusted Advisor

3. Git, Github and Gitlab
    a. Installation and Configuration
        i. Installing Git
        ii. Basic Configuration
    b. Git Basics
        i. Empty Repositories
        ii. Git Basics
        iii. Git Ignore
    c. Cloning
        i. Cloning: Local Repositories
        ii. Cloning: Remote Repositories
    d. Tagging, Branching and Merging
        i. Tags
        ii. Branches
        iii. Merging
    e. Logging and Repository Auditing
        i. Git Log
    f. Gitlab: Installation, Configuration and Use
        i. Prerequisites
        ii. Download, Install and Configure
        iii. Architecture
        iv. User Administration and Secure Access
    g. Working with Github
        i. Introduction to Github
        ii. Secure Communication
        iii. Working with Github

4. Ansible
    a. Introduction
    b. Configuration Management & Orchestration
    c. Insatlling Ansible
    d. Inventory file
    e. The task
    f. Playbook
        i. Introduction
        ii. apt
        iii. service
        iv. File copy
        v. File
        vi. Template
        vii. Lineinfile
        viii. Modules
    g. Roles
        i. Converting to Roles: tasks, handlers
        ii. Converting to Roles: files, templates
        iii. Site.yml
        vi. Variables
            1. facts
            2. defaults
            3. vars
            4. vault

5. Jenkins and Build Automation
    a. Introduction to Jenkins
        i. Introduction
        ii. Best Practices
    b. Installation and Configuration
        i. Prerequisites
        ii. Download and Installation
        iii. Configuration Tour
    c. Managing Jenkins
        i. Securing Jenkins
        ii. Managing Credentials
        iii. Plugin Management
        iv. Jenkins Backup – Using Plugins to Manage Your System
    d. Build Details: Setting Up Different Types of Automated Builds
        i. Your First Build
        ii. Working With Github
        iii. Build from Github Project
        iv. Scheduling Builds
        v. Managing Remote Systems with Jenkins

6. HAproxy
    a. What is HAproxy?
    b. HAproxy Installtion
    c. Configuring HAproxy
    d. Creating Frontend
    e. Creating Backend
    f. URI Base Routing
    g. HAproxy Monitoring
    h. Reporing
    i. Balance Algorithms

7. Docker
    a. Learning the Basics of Docker
        i. Introduction to Docker
        ii. Containers Vs. Virtual Machines
        iii. Docker Architecture
        iv. The Docker Hub
        v. Docker Installation
        vi. Creating Our First Image
        vii. Working With Multiple Images
        viii. Packaging A Customized Container
        ix. Running Container Commands With Docker
        x. Exposing Our Container With Port Redirects
    b. Docker Builds and Deployments
        i. Container Snapshots
        ii. Attach to a Running Container
        iii. Removing Images
        iv. Directory Structure
        v. Services That Run on Start-up
        vi. Dockerfile: Tying It Together
        vii. Pushing Images to Docker Hub
        viii. Adding External Content
        ix. Image Volume Management
        x. Advanced Container Network Management
    c. Docker Internals
        i. Interactive Shell Control
        ii. Previous Container Management
        iii. Container Routing
        iv. Sharing Container Resources
        v. Committing a Running Container (Snapshot Images)
        vi. Container Linking and Communication
        vii. Taking Control of Ports
        viii. Five Useful Docker CLI Commands
        ix. More Useful Docker CLI Commands
        x. Optimizing Our Dockerfile Builds

8. Terraform
    a. Introduction To Terraform
        i. What Is Terraform?
        ii. Infrastructure as Code
        iii. Execution Plans
        iv. Resource Graph
        v. Change Automation
        b. Use Cases
    c. Terraform Vs Other Software
        i. Chef, Puppet, etc.
        ii. CloudFormation, Heat, etc.
        iii. Boto, Fog, etc.
        iv. Custom Solutions
    d. Getting Started
        i. Install Terraform
        ii. Build Infrastructure
        iii. Change Infrastructure
        iv. Destroy Infrastructure
        v. Terraform Remote
        vi. Resource Dependencies
        vii. Provision
        viii. Input Variables
        ix. Output Variables
    e. Terraform Commands (CLI)
    f. Configuration
        i. Load Order and Semantics
        ii. Configuration Syntax
        iii. Interpolation Syntax
        iv. Overrides
        v. Resources
        vi. Data Sources
        vii. Providers
        viii. Variables
        ix. Outputs
        x. Environment Variables
    g. AWS Provider
        i. Data Sources
        ii. EC2 Resources
        iii. IAM Resources
        iv. Route 53 Resources
        v. VPC Resources
    h. Internals
        i. Debugging Terraform
        ii. Resource Graph
        iii. Resource Lifecycle
        i. Assignment

9. Project