DevOps Syllabus

  • Introduction to DevOps
    • Software Delivery Life Cycle
    • Collaborative Development
    • Continuous Testing and Integration
    • Continuous Release and Deployment
    • Dev and Ops, Introduction
    • What is DevOps?
    • DevOps’ Objectives
    • Prerequisites for DevOps Success
    • Alignment with the Business Needs
    • DevOps Adoption Steps
    • Select DevOps Techniques and Practices
    • Service Quality Metrics
    • Infrastructure as Code
    • Infrastructure in the Cloud
    • DevOps on the Cloud
    • Continuous Application Monitoring
    DevOps Tools
    • The Collaborative Lifecycle Management Diagram
    • Continuous Integration (CI) Systems
    • System Configuration Automation
    • Build and Dependency Management Systems
    • Containerization Tools
  •  Introduction to Continuous Integration and Jenkins
    • What is Continuous Integration (CI)
    • Benefits of CI
    • CI Practices
    • CI Tools
    • Typical Setup for Continuous Integration
    • Jenkins Continuous Integration
    • Jenkins Features
    • Installing Jenkins as a Windows Service
    • Jenkins Installation Instructions
    • Running Jenkins on an Application Server
    • Configuring Source Code Management (SCM)
    • Working with Subversion
    • Configuring Jenkins jobs
    • Build Triggers
    • Schedule Build Jobs
    • Polling the SCM
    • Ant Build Steps
    • Jenkins Security
    • Two axes of Jenkins Security
    • Activating Jenkins Security
    • Securing Jenkins
    • Configure Authentication
    • Using Jenkins Internal User Database
    • Creating Users
    • Authorization
    • Matrix-based Security
    • Disabling Jenkins Security
    Jenkins as Plugin
    • Introduction to Jenkins plugins
    • Installing Jenkins plugins using interface
    • Demo: Installing ‘Role Strategy Plugin’
    • Jenkins Plugins – SCM
    • Jenkins Plugins – Build and Test
    • Jenkins Plugins – Analyzers
  •  Distributed Builds with Jenkins
    • Jenkins Distributed Build Overview
    • Need for Distributed Build
    • Distributed Build Architecture
    • Steps to add a Linux Slave Node
    • Demo: Configuring a Ubuntu Slave Node
    • Steps to add a Windows Slave Node
    Introduction to Cloud Computing
    • History of Cloud
    • Cloud Computing at a Glance
    • Capacity Planning Concepts and Challenges
    • Coping with Computing Demand the Traditional Way
    • Coping with Computing Demand the Cloud Way
    • Grid Computing vs Cloud Computing
    • What Drives Cloud Adoption?
    • Five Characteristics of the Cloud
    • Cloud Service Models
    • Cloud Deployment Models
    • Virtualization
    • Cloud Infrastructure Virtual Machines
    • A Bootable OS Image
    • Block Storage for Instances
    • Cloud Object Storage
    • Cloud Risks to Consider
    • Amazon Web Services (AWS)
    Introduction to Puppet
    • What is Puppet
    • Puppet’s Domain Specific Language
    • “Infrastructureascode” in Puppet
    • Example of the Puppet DSL
    • Main Puppet Artifacts
    • Puppet Design
    • Puppet Workflow Orchestration
    • Puppet Lab Services
    • Puppet Enterprise Licensing
    • Puppet Enterprise Support
    • Puppet Enterprise Feature Set
  • Linux Basics:
  • Agile Methodology and DevOps
  • Scripting – Bash (shell scripting) and Intermediate Python Programming
  • SCM – Git
  • Build Management – Ant
  • Web/Application Server – apache and Tomcat
  • Database – MySQL, MongoDB (NoSQL)
  • Cloud Comouting – AWS: ec2, VPC, S3, Cloudwatch, IAM, SES, RDS, Cloudfront, EC2 command
  •  line tools, Python Boto module etc
  • DevOps Tools – Jenkins, Docker, Vagrant, Nagios
  • Configuration Management using Chef / Puppet / Ansible /
  • Continues Integration – Jenkins
  • Binary Repository Manager – Nexus
  • Infrastructure Monitoring – Nagios 
  • Static Code analysis – Sonar

SYLLABUS CONTENTS CAN BE MODIFIED BASED ON STUDENTS REQUIREMENTS