• Introduction to DevOps
  • Site Reliability Engineering (SRE)
  • CI/CD Concept
  • Importance of DevOps Tools
  • Role of DevOps in Agile
  • Importance of Source control
  • Tools - GIT, Bitbucket, GitHub/GitLab
  • Working with Code repository, Pushing, Pulling code
  • Branching strategies and best practices
  • Trunk Based Code Management in Agile
  • Introduction to Build Automation
  • Importance of testing
  • Types Of testing - Unit, Integration, API, UI
  • Pyramid of Testing
  • Automating Builds with Maven and Ant
  • Building Delivery Pipeline in Jenkins (CI/CD)
  • Test Automation
  • Security
  • Notification System in Jenkins
  • Hands-on: Create a Maven Project, Edit pom.xml file to install a version of junit, Set up build delivery pipeline, Set up notification alerts in Jenkins, Configure test plan in Jenkins.
  • Frequent merge of code to a shared repository after which automated builds and tests are run using Jenkins
  • Build Pipelines
  • Code Progression from Local machine to Production
  • Test Result Thresholds
  • Azure/AWS workflow for Integrated CI
  • Hands-on: Commit code and check if Jenkins runs the build scripts and tests the code using automation script
  • What are Containers
  • Difference between VM and Container
  • Linux and Windows Container, Future of Windows Container
  • Docker Fundamentals, Creating & Running Docker Images, Image Distribution
  • Creating Docker Registry, Compose Scripts, Remote Docker Image
  • Local Setup for Docker
  • CLI for Docker
  • Networking concepts in Docker
  • Using Docker Volume and Creation of a Dockerfile
  • text file to contain the commands to create an image
  • Docker Repository Management and Image tagging
  • Hands-on: Configure a Docker, Create an image in Docker and run it, Create a Dockerfile with the commands to create an image, Create the image
  • Introduction to Terraform
  • Scripting
  • Configuration Management
  • Integration with Azure
  • Hands-on: Script for server provisioning and Cluster management
  • Introduction to Ansible
  • Configuration
  • Writing Ansible Playbooks
  • Ansible based Configuration Management
  • Different Roles and Command Line usage
  • Comparison with Other tools e.g . Chef
  • Hands-on: Write Ansible playbook, Assign different roles in configuration tool
  • Introduction of Nagios
  • Nagios Setup, Commands
  • Objects, Notifications
  • Configure Nagios to monitor web server
  • Load Balancer (HAProxy, Nginx)
  • Hands-on: Setup Syslog and verify the logs are getting generated, Configure HAProxy server
  • Hands-on: Perform Nagios and Netdata monitoring, Monitor the performance with Grafana
  • Hands on: End-to-end CI/CD Deployment
  • Introduction - Setup up your Ubuntu VM (For those not having much linux experience)
  • Install Git
  • Create Repo and check in/out code
  • Different branching - master, development, staging
  • Install Jenkins, Create project
  • Schedule change
  • Integrate Git and Jenkins, Trigger automated build on code check in
  • Install and configure Docker Engine
  • Create and use Docker Repo
  • Create and run Containers
  • Deploy and integrate containers with Jenkins
  • Container monitoring and logging
  • Setup Application monitoring using Nagios/Grafana
  • Setup Infrastructure/system logs monitoring with Syslogd
  • Jenkins pipeline job for complete CI-CD
  • A Laptop - Preferably Windows/Linux/Mac OS with Wifi interface
  • Note - Internet connection will be provided in the classroom
  • Gitub Repository

    Read More...