DevOps Training Library
Learn DevOps and build your skills with the DevOps tools that matter - Puppet, Docker, Chef, Ansible, and more.
Train with scenario-based Learning Paths and thousands of Courses, Quizzes, and Hands-on Labs. New content added and updated weekly.
Master Your Skills!
Assess your proficiency with Smart Skills and get personalized training to skip what you already know, or start as a beginner and master your skills from the ground up.Learn smarterExplore all library
AI Assisted
Certification Prep

Say hello to Ela! Your AI-powered expert learning assistant
Whether you need a subject matter expert, tutor or study buddy, Ela is here to help in course and labs.- HANDS-ON LABJun FritzManaging Google Cloud Platform Environments with TerragruntAdvancedDuration: Up to 30 minutesAuthor: Jun Fritz; Difficulty: Advanced; Description: Learn how to configure and manage separate Google Cloud Platform environments with Terragrunt in this hands-on lab.; Duration: Up to 30 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 4 Lab steps
- HANDS-ON LABJun FritzPassing Outputs Between Terraform Modules with Terragrunt in GCPAdvancedDuration: Up to 45 minutesAuthor: Jun Fritz; Difficulty: Advanced; Description: Learn how to pass Google Cloud Platform resource outputs between Terraform modules with Terragrunt in this hands-on lab.; Duration: Up to 45 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 3 Lab steps
- HANDS-ON LABJun FritzCentralizing Remote State with Terragrunt in GCPAdvancedDuration: Up to 45 minutesAuthor: Jun Fritz; Difficulty: Advanced; Description: Learn how to configure and manage Terraform remote state for your Google Cloud Platform infrastructure with Terragrunt in this hands-on lab.; Duration: Up to 45 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 3 Lab steps
- HANDS-ON LABJun FritzOptimizing Terraform Configurations with Loops in GCPIntermediateDuration: Up to 45 minutesAuthor: Jun Fritz; Difficulty: Intermediate; Description: Learn how to optimize your Google Cloud Platform infrastructure with Terraform's built-in iteration options in this hands-on lab.; Duration: Up to 45 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 4 Lab steps
- HANDS-ON LABJun FritzWorking with Terraform Conditional Expressions in GCPIntermediateDuration: Up to 30 minutesAuthor: Jun Fritz; Difficulty: Intermediate; Description: Incorporate decision-making into your Google Cloud Platform infrastructure in the form of Terraform conditional expressions in this hands-on lab.; Duration: Up to 30 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 3 Lab steps
- HANDS-ON LABJun FritzImporting Existing Infrastructure into Terraform with GCPBeginnerDuration: Up to 45 minutesAuthor: Jun Fritz; Difficulty: Beginner; Description: Learn how to import existing Google Cloud Platform resources into your Terraform projects in this hands-on lab.; Duration: Up to 45 minutes; This hands-on lab has: 3 Lab steps
- HANDS-ON LABJun FritzWorking with Terraform Remote State in GCPBeginnerDuration: Up to 45 minutesAuthor: Jun Fritz; Difficulty: Beginner; Description: Configure and utilize Terraform remote state to manage your Google Cloud Platform infrastructure in this hands-on lab.; Duration: Up to 45 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 3 Lab steps
- HANDS-ON LABJun FritzUnderstanding Terraform State with GCPBeginnerDuration: Up to 45 minutesAuthor: Jun Fritz; Difficulty: Beginner; Description: Develop an understanding of Terraform state and how your Google Cloud Platform resources are managed in this hands-on lab.; Duration: Up to 45 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 3 Lab steps
- HANDS-ON LABJun FritzWorking with Terraform Provisioners in GCPBeginnerDuration: Up to 30 minutesAuthor: Jun Fritz; Difficulty: Beginner; Description: Learn how to define provisioners in a Terraform configuration to aid in the deployment of Google Cloud Platform resources in this hands-on lab.; Duration: Up to 30 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 3 Lab steps
- HANDS-ON LABAndrew BurchillConfiguring Systems and Tools Using YAMLBeginnerDuration: Up to 1 hourAuthor: Andrew Burchill; Difficulty: Beginner; Description: Learn how to configure systems and tools as you work practically with YAML in an integrated development environment.; Duration: Up to 1 hour; Content Topics: Development; This hands-on lab has: 2 Lab steps
- HANDS-ON LABAndrew BurchillReading, Writing, and Parsing YAML FilesBeginnerDuration: Up to 1 hourAuthor: Andrew Burchill; Difficulty: Beginner; Description: Learn how to read, write data in a YAML file and parse it with the Python scripting language in this hands-on lab.; Duration: Up to 1 hour; Content Topics: Development; This hands-on lab has: 2 Lab steps
- HANDS-ON LABAndrew BurchillCombining and Enriching Data with Amazon Managed Workflows for Apache AirflowIntermediateDuration: Up to 2 hoursAuthor: Andrew Burchill; Difficulty: Intermediate; Description: Learn about Amazon Managed Workflows for Apache Airflow in this hands-on lab as you create a Directed Acyclic Graph in Apache Airflow.; Duration: Up to 2 hours; Content Topics: Amazon Web Services; This hands-on lab has: 5 Lab steps
- HANDS-ON LABJun FritzCreating Reusable Infrastructure with Terraform Modules in GCPBeginnerDuration: Up to 30 minutesAuthor: Jun Fritz; Difficulty: Beginner; Description: Configure and utilize reusable Google Cloud Platform infrastructure with the help of Terraform modules in this hands-on lab.; Duration: Up to 30 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 3 Lab steps
- HANDS-ON LABJun FritzWorking with Terraform Configuration Variables in GCPBeginnerDuration: Up to 45 minutesAuthor: Jun Fritz; Difficulty: Beginner; Description: Learn how to define and retrieve variables in a Terraform configuration to aid in the deployment of Google Cloud Platform resources in this hands-on lab.; Duration: Up to 45 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 4 Lab steps
- HANDS-ON LABJun FritzCreating Terraform Configurations with Implicit Dependencies in GCPBeginnerDuration: Up to 30 minutesAuthor: Jun Fritz; Difficulty: Beginner; Description: Learn how to create and manage implicit Google Cloud Platform resource dependencies with Terraform in this hands-on lab.; Duration: Up to 30 minutes; Content Topics: Deployment, DevOps; This hands-on lab has: 3 Lab steps
- HANDS-ON LABDaniel WoodCKA Practice Exam: Workloads and SchedulingIntermediateDuration: Up to 50 minutesAuthor: Daniel Wood; Difficulty: Intermediate; Description: Prepare for the Certified Kubernetes Administrator (CKA) exam by solving practice problems and reviewing their solutions in this lab on workloads and scheduling.; Duration: Up to 50 minutes; Content Topics: Deployment, Compute, DevOps; This hands-on lab has: 4 Lab steps
- HANDS-ON LABLogan RakaiAutomate Azure File Sync Deployments with PowerShellIntermediateDuration: Up to 1 hourAuthor: Logan Rakai; Difficulty: Intermediate; Duration: Up to 1 hour; Content Topics: Microsoft Azure; This hands-on lab has: 5 Lab steps
- HANDS-ON LABAndrew BurchillConfiguring Access to AWS KMS KeysBeginnerDuration: Up to 1 hourAuthor: Andrew Burchill; Difficulty: Beginner; Description: Learn how to allow and restrict access to AWS KMS keys using key policies and grants in this hands-on lab.; Duration: Up to 1 hour; Content Topics: Amazon Web Services; This hands-on lab has: 6 Lab steps
- COURSEBen LambertDeveloping with DockerIntermediateDuration: Up to 7 hoursAuthor: Ben Lambert; Difficulty: Intermediate; Description: This course provides hands-on experience working with Docker and Compose. Learn to build container based applications with and without Compose.; Duration: Up to 7 hours; Content Topics: Containers; This course has: 3 Hands-on labs
- HANDS-ON LABBen LambertGit HooksIntermediateDuration: Up to 1 hourAuthor: Ben Lambert; Difficulty: Intermediate; Description: Git hooks can be used to automate tasks such as running tests, linting code, and checking for code formatting issues. Learn to create Git hooks in this hands-on lab.; Duration: Up to 1 hour; Content Topics: DevOps; This hands-on lab has: 2 Lab steps
- HANDS-ON LABLogan RakaiInstalling and Running Applications with Docker Enterprise Universal Control Plane (UCP)IntermediateDuration: Up to 1 hourAuthor: Logan Rakai; Difficulty: Intermediate; Description: Learn how to install Docker Enterprise Universal Control Plane (UCP) and how to deploy applications onto the UCP cluster you create using the web interface.; Duration: Up to 1 hour; Content Topics: Development, DevOps; This hands-on lab has: 6 Lab steps
- HANDS-ON LABAndrew BurchillModerating Content with Amazon BedrockBeginnerDuration: Up to 1 hourAuthor: Andrew Burchill; Difficulty: Beginner; Description: Learn how to use Amazon Bedrock to moderate textual content as a part of a content processing system in this hands-on lab.; Duration: Up to 1 hour; Content Topics: Amazon Web Services; This hands-on lab has: 4 Lab steps
- HANDS-ON LABLogan RakaiUpgrade a Kubernetes Cluster With KubeadmIntermediateDuration: Up to 1 hourAuthor: Logan Rakai; Difficulty: Intermediate; Description: Learn how to perform a full upgrade of a Kubernetes cluster in this lab.; Duration: Up to 1 hour; Content Topics: Containers; This hands-on lab has: 3 Lab steps
- HANDS-ON LABDaniel WoodCKA Practice Exam: TroubleshootingIntermediateDuration: Up to 50 minutesAuthor: Daniel Wood; Difficulty: Intermediate; Description: Prepare for the Certified Kubernetes Administrator (CKA) exam by solving practice problems and reviewing their solutions in this lab on troubleshooting.; Duration: Up to 50 minutes; Content Topics: Deployment, Compute, DevOps; This hands-on lab has: 4 Lab steps