
Running Containers with docker run and kubectl
Run nginx:alpine first with docker run then with kubectl run on the same VM, and see how Kubernetes maps onto Docker concepts.
A cloud lab platform with 200+ guided labs in real AWS and Azure environments, plus Kubernetes and Docker. Zero setup, every step verified automatically.

Run nginx:alpine first with docker run then with kubectl run on the same VM, and see how Kubernetes maps onto Docker concepts.

Author a compose.yaml that runs nginx, a Python API, and Postgres as a single declarative multi-service stack.

Fix broken Terraform configurations with validate and fmt, enable debug logging to trace provider errors, resolve apply failures, and use terraform console for expression testing.

Use Terraform import blocks and the legacy import command to bring pre-existing Azure resources under Terraform state management.

List processes with ps, inspect /proc for a setsid sleep, and stop it with kill.

Write variable validation rules, add preconditions and postconditions to resources, attach output preconditions, and create check blocks on AWS.

Build a reusable Terraform module for EC2 app tiers and deploy web and API instances using the module in AWS.

Configure an S3 backend with DynamoDB locking for Terraform remote state, migrate local state, and verify encryption and locking behavior.

Open a Linux terminal, find your user and home, read the ls manual, and create, move, and link files.

Create SNS topics and SQS queues to publish messages and build a fan-out messaging pattern on AWS

Count processors, measure memory, and identify whose hardware this is with nproc, free, and systemd-detect-virt.

Define and deploy an Azure SQL Server and database using Terraform with firewall rules, variables, and output values in this hands-on lab.

Create a private Bicep module registry using ACR to publish, version, and consume reusable infrastructure modules across deployments.

Promote two Windows Server VMs in an availability set to domain controllers, connecting through Azure Bastion after each reboot.

Scale Azure Container Apps from zero to five replicas using KEDA and Service Bus queue message count as the scaling trigger.

Create Service Bus queues and topics, build producer-consumer messaging, implement subscription filters, and handle dead-letter queues.

Learn how to configure and test virtual network peering in Azure.

Learn Nmap basics: discover hosts, scan ports, enumerate services, and detect vulnerabilities. Build practical network security auditing skills hands-on.

Automate Azure infrastructure deployment with Bash scripting. Create a reusable script to deploy a Linux VM with networking using Azure CLI commands.

Write a Terraform config to deploy a DynamoDB table with point-in-time recovery and tags, then verify the deployment.

Migrate a Terraform project from local state to an Azure Storage backend and verify that remote state is fully operational.

Validate your Azure networking knowledge by creating a VNet with three properly segmented subnets in this challenge lab.

Write and deploy an ARM template to create a Storage Account with a blob container. Apply your knowledge of parameters, variables, and nested resources.

Create a Standard Load Balancer with a public IP, configure backend pool, health probe, and load balancing rule to distribute traffic across two VMs.

Write and deploy an HTTP-triggered Azure Function that uses a Cosmos DB output binding to write documents to a pre-provisioned database.

Bring pre-existing Azure resources under Terraform management without recreating them, reconcile your configuration to a zero-change plan, then refactor the storage account into a reusable module.

Configure a web app to securely access secrets from Azure Key Vault using Managed Identity. Create secrets, configure access policies, and verify integration.

Add variable validation, sensitive markers, postconditions, and check blocks to secure a Terraform configuration on Azure.

Secure Azure VMs using Network Security Groups and Application Security Groups. Create rules, control traffic flow, and implement least privilege access.

Create and configure a Network Security Group to enable SSH access to a VM. Apply your knowledge of NSGs and security rules to secure the subnet.

Write a parameterized Terraform configuration using variables, complex types, for_each, and expressions to deploy a multi-subnet VPC on AWS.

Configure custom DNS servers for an Azure VNet, apply DNS settings at the VNet and NIC level, and verify name resolution between virtual machines

Learn how to deploy and configure Azure Virtual Desktop (AVD) Session Hosts in this hands-on lab.

Create a Windows Server virtual machine in the Azure Portal, connect to it using RDP, and verify it is working with PowerShell.

Write an ARM template to deploy an App Service with a Storage Account. Configure connection strings using listKeys() and wire up app settings for secure access.

Use Helm as a package manager - add a repo, install a sample app chart, override values, upgrade, roll back, and uninstall.

Understand how to configure and manage Azure Internal Load Balancer for high availability and scalability in this lab.

Learn how to use Speech Synthesis Markup Language (SSML) to improve Azure AI Speech Generation with voice selection, timing control, and emotional expressions.

Learn to implement OpenTelemetry tracing for AI applications using Azure AI Foundry, including automatic instrumentation and user feedback collection.

Learn how to perform essential Azure Blob Storage operations using Azure CLI commands. Practice uploading, downloading, listing, and deleting blobs with batch operations.

Learn how to create, use, and manage Terraform modules to organize and reuse infrastructure code effectively.

Build implicit dependencies through resource references, add explicit depends_on blocks, and configure lifecycle rules for Azure resources with Terraform.

Enable Application Insights on a Web App, configure health checks, generate traffic, and write KQL queries to analyze logs and metrics.

Deploy a web app to Azure Container Apps and use traffic splitting to canary-release a new version while monitoring for errors.

Build a REST API using API Gateway with Lambda proxy integration, configure CORS, deploy to a stage, and test endpoints with curl.

Use Terraform to define and deploy an Azure Container App with ingress, secrets, environment variables, and scaling rules.

Create metric alerts, log search alerts, and action groups to monitor an Azure App Service and respond to threshold breaches.

Enable diagnostic settings on Azure resources to send logs and metrics to a Log Analytics workspace, then query the data using KQL in this hands-on lab.

Use terraform fmt, validate, plan, apply, and destroy to manage the full lifecycle of Azure resources from the command line.

Build Docker images for a restaurant menu app, push to ACR, and deploy frontend and backend containers to Azure Container Apps.

Learn how to implement Azure route tables and user-defined routes to redirect VM traffic through virtual network appliances for enhanced network control.

Learn GitHub Actions fundamentals by creating workflows with multiple triggers, custom inputs, and multi-job CI/CD pipelines in this hands-on lab

Define complex variable types, use for_each and count for resource iteration, apply splat expressions and dynamic blocks on AWS with Terraform.

Declare Terraform input variables with defaults, override values using tfvars and CLI flags, and expose outputs from a deployed DynamoDB table.

Mark variables as sensitive, inject secrets via environment variables, retrieve Key Vault secrets with data sources, and audit state file exposure on Azure.

Build reusable local Terraform modules for Azure networking, define module inputs and outputs, and understand variable scope.

Deploy Azure AI Services as containers on Azure Container Instances. Learn to configure and test portable AI deployments.

Learn to create, configure and use Azure Container Registry to store, manage and deploy container images securely in the cloud.

Learn to implement text-to-speech synthesis and speech recognition using Azure AI Speech SDK in Python for voice-enabled applications.

Learn to extract key phrases, recognize entities, and detect PII in text using Azure AI Language SDK in Python for document analysis and privacy compliance.

Analyze images with Azure AI Vision Image Analysis SDK and Python. Learn to extract captions, tags, and objects using the latest SDK in a hands-on cloud lab.

Migrate Terraform state from local to Azure Storage, configure the azurerm backend with partial configuration, and observe state locking via blob leases.

Build a DCR with a custom table, write a transformKql to parse and drop noisy fields, and map output to an ASIM parser.

Enrich Sentinel detections by uploading a watchlist, referencing it in a KQL rule with _GetWatchlist(), and adding threat-intelligence indicators.

Refactor a slow Dockerfile to leverage layer caching, add a .dockerignore to shrink the build context, and inspect the resulting image with docker history and docker diff.

Externalize Docker app config the 12-factor way using -e, --env-file, Compose env_file, and Compose secrets.

Build a 4-service microservices stack with Docker Compose, scale replicas, add HEALTHCHECK and restart policies, and test failover and recovery.

Run containers under tight cgroup ceilings using docker run flags, watch live consumption with docker stats, and trigger the OOM killer to read exit code 137 as the SIGKILL fingerprint.

Add HEALTHCHECK to a Dockerfile, observe container health states, and gate Compose service startup with depends_on condition service_healthy.

Run jq, BusyBox, and Python as one-shot containers, pipe data through them, and bind-mount host files without installing anything locally.

Configure the AWS Terraform provider with version constraints, explore the dependency lock file, and upgrade provider versions safely.

Manage Sentinel analytics rules, an automation rule, and a watchlist as version-controlled Terraform, then make a drift-free change and re-apply.

Detect resource drift, reconcile infrastructure changes, and perform Terraform state operations on Azure resources.

Use terraform console to explore string, collection, numeric, and filesystem functions, then apply them in real Azure configurations.

Write Terraform configuration to provision Azure resources, inspect the state file structure, and understand how state serves as the source of truth.

Learn to deploy an Azure Linux VM using Terraform while exploring advanced concepts like complex variables, data sources, dependencies, and multi-file configurations.

Learn the basics of Infrastructure as Code with Terraform by deploying an Azure storage account. Master essential commands and configuration concepts.

Install and configure DNS and DHCP server roles on Windows Server, create lookup zones, configure DHCP scopes, and test name resolution.

Walk the Kubernetes FQDN ladder, resolve Services across namespaces, and compare ClusterIP versus headless DNS records using CoreDNS.

Reach S3 from an isolated subnet via a free gateway endpoint, then lock buckets to that endpoint with policies.

Build your first Express.js API! Learn to set up a server, implement RESTful endpoints, and test them with curl in this hands-on lab.

Write modular Bicep templates to deploy a VNet, App Service, SQL Database, and Key Vault, then deploy the full environment using Azure CLI.

Run KQL hunting queries against seeded telemetry, save a hunt and bookmark, work the MITRE view, then promote a hunt to a scheduled rule.

Configure network interfaces, firewall rules with iptables and UFW, harden SSH, and troubleshoot with Linux networking tools.

Build an Azure Function triggered by Event Grid to automatically rotate secrets stored in Key Vault before they expire.

Tag, push, and pull Docker images using a self-hosted registry, applying semver, latest, and content-addressed digest references.

Author a Flask Dockerfile from scratch with layer caching, .dockerignore, and split dev/prod variants using gunicorn for clean SIGTERM handling.

Learn how to exploit NoSQL Injection to update multiple product reviews in OWASP Juice Shop.

Learn how to create, configure, and deploy a web application using Azure App Service through the Azure Portal's interface.

In this lab, you will create a Virtual Machine Scale Set in Azure with a custom scaling rule.

Learn to enable Application Insights on Azure App Service, explore live metrics and application maps, and analyze failures and performance to monitor your apps.

Import a REST API into Azure API Management and export it as an MCP server for AI agents to consume as tools

Learn to implement zero-downtime deployments using Azure App Service deployment slots for safe testing and seamless production updates.

Store application secrets in Azure Key Vault and configure Managed Identity to securely retrieve them from App Service without exposing credentials.

Build a GitHub Actions CI/CD pipeline that lints, validates, previews, and deploys Bicep templates to Azure with approval gates.

Master Azure CLI essentials by managing resource groups, deploying container apps and VMs, and managing resource states in this hands-on lab.

Learn to deploy containerized applications in Azure using Docker Hub images.

Learn how to configure and use Azure Storage Account as a backend for storing Terraform state files securely in a team environment.

Independently create an Azure Cosmos DB for NoSQL account, set up a database and container with a partition key, and add JSON items.

Configure bidirectional VNet peering between two virtual networks in different Azure regions. Verify connectivity by connecting from one VM to another via SSH.

In this lab, you will learn how to implement secure VM access with Azure Bastion using Azure portal.

Learn to write and deploy your first Azure ARM template using Azure CLI. This lab guides you in creating a Virtual Network, Subnet, and Route Table with parameters and variables.

Learn how to deploy an Azure Web App using an ARM Template using Azure CLI

Create Azure resources with Terraform, query existing infrastructure using data sources, and combine both patterns in a single configuration.

Create an Azure file share, upload files, generate mount commands, take snapshots, and restore previous file versions in this hands-on lab.

Create Private Endpoints for Azure Storage and SQL Database, disable public access, and verify private-only connectivity from a VM.

Create a Storage Account, disable public access, and configure a Private Endpoint for secure blob connectivity.

Create the same Pod three ways and see how kubectl run, dry-run YAML, and hand-written manifests all converge on apply.

Author a single-stage Dockerfile from scratch, build a tagged image for a static site, and observe layer caching in action.

Practice kubectl get, describe, and explain on a pre-built kind cluster before touching any YAML.

Author a Pod, watch its lifecycle, debug an ImagePullBackOff with describe, then prove a multi-container Pod shares localhost networking and an emptyDir volume.

Configure diagnostic logging for an Azure App Service web app, stream logs in real-time, route them to Log Analytics, and write KQL queries to troubleshoot errors.

Pull images from Docker Hub, run named containers with published ports, exec into them, view logs, then stop and remove them cleanly.

Master Docker networking with the default bridge, user-defined bridges, embedded DNS, and network isolation.

Create a DynamoDB table, add items, and query data using partition keys, sort keys, and scans

Internal admin lab. Long-lived test bench for the vm-ide-k8s gallery image, host-side kind provisioning, and content-image scaffold. Not for public catalog.

Troubleshoot and fix a broken connection between an Azure App Service and a Function App by configuring VNet Integration and access restrictions.

Scaffold, build, and deploy a remote Model Context Protocol (MCP) server using Azure Functions and the Azure Developer CLI

Auto-resize every image uploaded to Azure Storage using blob-triggered Functions, thumbnail generation, and Table Storage metadata.

Create users and groups in Microsoft Entra ID, assign Azure RBAC roles at different scopes, and verify permissions.

Create Conditional Access policies in Microsoft Entra ID, enforce MFA requirements, define named locations, and analyze sign-in logs.

Use Microsoft 365 Copilot to generate a full PowerPoint presentation, customize slides with AI images, and adjust tone for an executive audience.

Master the Goal + Context + Expectations + Source framework to write prompts that get better results from Copilot in Word, Excel, and PowerPoint.

Use Copilot to prepare for, participate in, and follow up on Teams meetings with AI-powered summaries and action items

Use Copilot in Excel to generate formulas, create charts, and identify trends from a quarterly sales dataset using natural language prompts.

Complete a realistic cross-app business workflow using Copilot in Chat, Word, Excel, PowerPoint, and Outlook.

Use Copilot in Word to draft a project proposal, rewrite content with tone adjustments, and generate a summary with key takeaways.

Configure Fusion source signals, create entity-mapped analytics rules, and trace multi-stage attack chains using the investigation graph in Microsoft Sentinel.

Build an event-driven pipeline where Cosmos DB change feed triggers an Azure Function to create materialized views in a second container.

Preprocess text data, vectorize with TF-IDF, and train Naive Bayes and SVM classifiers to detect SMS spam using scikit-learn pipelines.

Create OUs, users, and security groups in Active Directory, then configure Group Policy Objects to enforce security settings.

Create a serverless Cosmos DB account, build a database and container, insert and query documents, and explore consistency levels in this hands-on lab.

Short description under 160 chars for this lab

Create a Logic App Standard, build workflows as MCP tools, configure API key authentication, and test the server from VS Code

Start a Vault dev server, enable the KV v2 secrets engine at a custom path, write a secret with multiple keys, and retrieve it via the API.

Define multiple AWS provider blocks with aliases, deploy S3 buckets across regions, and generate a report using the local provider.

Explore the default token authentication method, enable and configure userpass auth, and compare human versus machine authentication patterns.

Write KQL hunting queries in Microsoft Sentinel to detect living-off-the-land attacks including encoded PowerShell and suspicious WMI activity.

Configure Health Check, explore platform metrics, run App Service Diagnostics, and set up Auto Heal rules for an Azure web app.

Install Vault, start the dev server, explore the Web UI, and write, read, and manage secrets using the CLI and HTTP API.

Create an HTTP-triggered Azure Function, front it with API Management, and apply rate limiting and subscription key policies.

Build a Logic App playbook that automatically responds to Microsoft Sentinel incidents triggered by a scheduled analytics rule.

Build an ASP.NET Core MVC app with Entity Framework Core CRUD operations and deploy it to Azure App Service with Azure SQL.

Assess and harden an Azure SQL Database by running vulnerability scans, classifying data, enabling Defender, configuring private endpoints, and enforcing TLS 1.2.

Create a free Azure Data Explorer cluster, ingest sample data, and write KQL queries to filter, summarize, and visualize time-series data.

Create Service Bus topic subscriptions and configure SQL and correlation filter rules to route messages in an order processing scenario in this hands-on lab.

Write your first HCL configuration and deploy a DynamoDB table to AWS using Terraform's init, plan, and apply workflow.

Use the Azure Storage Python SDK to create queues, send and receive messages, manage visibility and TTL, and handle poison messages.

Learn KQL fundamentals by querying real log data in Azure Log Analytics using search, where, project, and summarize operators.

Deploy a 5-router ISP topology using FRRouting on Azure VMs and configure OSPF backbone routing with eBGP customer peering and route redistribution.

Build an Azure Logic App workflow that runs scheduled infrastructure health checks using REST APIs and sends a daily health report via email

Create a REST API with API Gateway and Lambda functions that perform CRUD operations against a DynamoDB table.

Perform XSS attacks on OWASP Juice Shop to learn how to prevent XSS attacks in your applications in this hands-on lab.

Put your skills to the test in this challenge lab by identifying, exploiting, and mitigating various injection vulnerabilities in the OWASP Juice Shop.

Extract the Database Schema and User Credentials using UNION-based SQL Injection

Learn how to perform Blind SQL Injection on OWASP Juice Shop to uncover hidden data and retrieve the Christmas Special Offer of 2014 using true/false queries.

Learn the basics of NoSQL Injection by completing the OWASP Juice Shop's NoSQL DoS and Exfiltration challenges.

Learn about Union-Based SQL Injection by solving the Ephemeral Accountant challenge in OWASP Juice Shop.

Learn the basics of SQL Injection by exploiting the OWASP Juice Shop application.

Learn how to exploit broken access control vulnerabilities to manipulate user actions, such as posting feedback or reviews on behalf of other users.

Learn how HTTP Parameter Pollution (HPP) exploits Broken Access Control to manipulate another user's shopping basket in OWASP Juice Shop.

Learn to exploit hidden vulnerabilities using Poison Null Byte Injection and API request tampering to uncover secrets and manipulate data in OWASP Juice Shop.

Learn to exploit SSRF vulnerabilities in OWASP Juice Shop by leveraging a Gravatar URL field to interact with restricted server-side resources.

Explore advanced XSS techniques to bypass client-side and server-side protection in OWASP Juice Shop.

Learn persisted XSS via HTTP Header by finding and exploiting a vulnerability in OWASP Juice Shop.

Learn how to bypass Content Security Policies (CSP) to execute XSS attacks by exploiting weaknesses in the OWASP Juice Shop profile page.

Learn how to perform a persisted XSS attack by interacting directly with the OWASP Juice Shop API.

Learn to exploit improper input validation in OWASP Juice Shop by registering as an administrator, obtaining a Deluxe Membership without payment, and manipulating payment fields.

Put your skills to the test in this challenge lab by identifying and exploiting various XSS vulnerabilities in the OWASP Juice Shop.

In this lab, you will create your first S3 bucket using the AWS Console.

Learn how to create and deploy your first AWS Lambda function from scratch.

Deploy Amazon EC2 Instance in AWS Cloud in this hands-on lab.

Learn how to create and configure AWS Step Functions using AWS Console.

Learn how to run AWS Lambda functions on a schedule.

Learn to configure AWS VPC Flow Logs to monitor network traffic in your AWS environment.

Learn how to create a Python Lambda function to automatically provision EC2 instances, demonstrating serverless automation for AWS infrastructure deployment.

Learn to set up Microsoft Sentinel workspace, connect it to a Log Analytics workspace, and prepare for advanced security monitoring and threat detection.

In this lab, you will learn how to create and deploy Azure Functions using Azure Functions Core Tools.

Create an Azure Logic Apps that processes HTTP POST requests and returns customized JSON responses without writing code.

Learn to create an Azure Storage Account, set up blob containers, manage access levels, and upload files using the Azure Portal.

In this lab, you will create an Azure Automation Account resource and run a script in Azure Automation.

Learn how to create and manage Azure Container Instances (ACI) to run containerized applications without managing servers.

Learn how to implement and manage Azure Resource Locks to prevent accidental deletion and modification of critical resources in your Azure environment.

Learn how to create a Virtual Network and subnets in Azure, define IP ranges, and understand how subnets segment networks for better control and security.

Learn to implement Azure Storage object replication and lifecycle management policies to optimize data storage and automate data movement.

Learn how to deploy and manage Azure Key Vault to securely store application secrets, encryption keys, certificates, and other sensitive data.

Configure VNet Integration for Azure App Service in this hands-on lab and understand how to connect your App Service securely over a private network.

Setup private network access for Azure Web App and access it locally using Private Endpoint in this hands-on lab.

Learn to deploy Azure Virtual Desktop by configuring host pools, application groups, and workspaces to create a secure remote desktop environment.

Learn how to create and manage Azure API Management Service in this hands-on lab.

Configure AVD Host Pool for User Access and Connect to AVD using Web-based Remote Desktop Client in this hands-on lab.

Learn how to create and manage Azure Cosmos DB for modern cloud applications in this hands-on lab.

Learn about Azure Durable Functions by creating and deploying a Python Durable Function.

Extract text from images using Azure AI Vision OCR and Vision Studio in a hands-on beginner lab.

Build event-driven architecture and file processingautomation solutions by connecting storage blob events to Logic Apps using Azure Event Grid.

Deploy and explore Azure AI Translator Service for real-time multilingual text translation using Azure portal.

Learn to create and manage Azure Storage Queues: enqueue, peek, dequeue, and delete messages using both the Azure Portal and the Azure CLI.

Secure Azure AI Services with Private Endpoint Configuration and Network Isolation to prevent unauthorized public access and data leakage.

Learn to provision Azure AI Document Intelligence and analyze documents using prebuilt models to automate data extraction and streamline workflows.

Learn to provision Azure AI Language resources and perform sentiment analysis and opinion mining using Azure AI Language Studio.

Create Azure Computer Vision resources and explore AI Vision Studio to test object detection, dense captions, and smart cropping capabilities.

Explore Azure AI Speech text-to-speech, speech-to-text, translation, and pronunciation assessment features using Azure AI Foundry portal interface.

Get started with Azure AI Search by creating your first search service, uploading data, and running basic search queries.

Build Azure AI Search knowledge store with AI enrichment, projections, and analytics for book catalog data.

Build a fully functional serverless contact form using Azure Storage for static website hosting and data storage, paired with Azure Functions for serverless request processing.

Build an AI-powered chat app with image generation using Next.js, Azure AI Foundry, and DALL-E. Learn React state management and API integration.

Learn to create and configure a custom VPC with public and private subnets, routing, and security controls.

Learn how to create an Application Load Balancer (ALB) in AWS, configure target groups, and route incoming traffic to pre-configured EC2 instances for efficient and scalable application delivery in this lab.

Learn how to allocate and attach an Elastic IP to an EC2 instance for consistent public access.

Learn to handle incidents in Microsoft Sentinel by investigating suspicious activity, analyzing IP insights, and automating responses with custom rules.

Learn how to create custom analytics rules in Microsoft Sentinel, map entities to enrich alerts, and investigate incidents generated from suspicious activities.

Enable Microsoft Sentinel data connectors, ingest data from various sources, and explore associated resources like analytics rules, workbooks, and playbooks.

Learn how to exploit broken authentication and access control to gain unauthorized access to restricted resources in this hands-on lab.
Build real-world proficiency with our enterprise-grade lab infrastructure.