Course 830:
DevOps Essentials: Hands-On

(4 days)

 

Course Description

This hands-on course will provide students the knowledge and experience to start using DevOps tools to manage and automate application development and deployment. Students will learn how to build continuous integration and deployment pipelines using tools like Git, Docker, Kubernetes, Terraform, Jenkins, and others.

Learning Objectives

  • Manage applications using DevOps automation and tools
  • Architect applications using microservices
  • Manage source code and versions using Git
  • Deploy microservices using Docker containers
  • Orchestrate container deployment using Kubernetes
  • Automate deployment resources using Infrastructure as Code tools
  • Build CI/CD pipelines using Jenkins
  • Ensure service quality using Site Reliability Engineering techniques

Who Should Attend

  • Business Technology Analysts (BTAs) and consultants with skills in:
    • System administration
    • Scripting and/or development
    • Test automation
    • Build and release engineering
    • Configuration management
  • New hire BTAs with technical degrees would also benefit from this course

Prerequisites

  • Basic understanding of Linux operating system and commands
  • Some training and experience with Cloud services
  • Programming experience in languages like Java, .NET, JavaScript, etc.
  • Scripting experience relevant for Cloud/DevOps with languages like Python or bash shell

Activities

The course includes optional tutorials/hands-on labs to provide attendees with a chance to get hands-on experience with the topics covered if needed.

The course uses a challenge lab approach where the attendees are provided with a case study. During the course, they complete a development project in AWS or Google Cloud to implement the case study using the DevOps topics discussed.


Course Outline

1. DevOps Introduction

  • What Is DevOps?
    • DevOps Practices
    • Siloed Teams vs. Collaborative
    • DevOps Automation

2. Microservices

  • Introduction to Microservices
    • Monolithic vs. Microservice Applications
    • Recognizing Microservice Boundaries
    • Stateful vs. Stateless Services
    • Managing Databases
  • 12-Factor Apps
    • 12-Factors
    • Activity: Implementing 12-Factor Apps

3. Application Lifecycle Management

  • Source Control
    • Source Control Choices
    • Tools
    • Git
    • Basic Git Commands
    • Hosted Git Repositories
    • Cloud-Based Git Repositories
  • Version Control
    • Tags
    • Branches
    • Branching and Merging Strategies
    • Activity: Using Git
  • Package Management
    • Managing Application Dependencies
    • Maven and Gradle
    • Pip
    • NPM
    • NuGet
    • Activity: Managing Packages

4. Docker

  • Understanding Docker
    • Containers
    • Advantages of Containers
    • Images
  • Using Docker
    • Basic Docker Commands
    • Building Docker Images
    • Dockerfile
    • Starting Containers
    • Stopping Containers
    • Deleting Containers and Images
  • Deploying Docker Containers
    • Container Registries
    • Push and Pull
    • Swarm
    • Docker Compose
    • Activity: Running Docker Containers

5. Kubernetes

  • Kubernetes Clusters
    • Kubernetes Architecture
    • EKS
    • GKE
    • AKS
    • OpenShift
    • Activity: Creating Kubernetes Clusters
  • Kubernetes
    • Basic Kubernetes Commands
    • Pods
    • Deployments
    • Services
    • Autoscalers
    • Health Checkers
    • Liveness and Readiness Probes
    • Configuration
    • Activity: Deploying Applications with Kubernetes
  • Kubernetes Security
    • Securing a cluster
    • Role-Based Access Control
    • Encryption
    • Secrets
    • Activity: Kubernetes Security

6. Infrastructure as Code

  • Leveraging Cloud Infrastructure
    • Infrastructure on Demand
    • Disposable Infrastructure
    • Scripting
    • Cloud Formation
    • Deployment Manager
    • Resource Manager
  • IaC tools
    • Packer
    • Ansible
    • Chef
    • Puppet
    • Terraform
    • Activity: Deploying Infrastructure with Terraform

7. DevOps Automation (CI/CD)

  • Automated Builds
    • CI/CD Pipelines
    • Git Hooks
    • Cloud Build Tools
    • Activity: Automating Builds
  • Code Quality Tools
    • SonarQube
    • Selenium
  • Jenkins
    • Activity: Building a CI/CD Pipeline with Jenkins

8. Site Reliability Engineering

  • Site Reliability Engineering
    • SREs
    • SLOs, SLIs, and SLAs
    • Activity: Defining SLOs and SLIs
  • Monitoring
    • What to Monitor
    • Dashboards
    • Monitoring Metrics
    • Uptime Checks
    • Alerts
  • Logging
    • What to Log
    • Aggregating Logs
    • Exporting Logs
    • Log Analysis
    • Real-Time Log Analysis
  • Version Management
    • Rolling Updates
    • Canary Deployments
    • Blue/Green Deployments
    • Activity: Version Management

 

Please Contact Your ROI Representative to Discuss Course Tailoring!