A 3-day intro course to containers and K8s

Contact us to schedule a private class for your enterprise.

Kubernetes Docker
Ninja Cat


This technical "workshop style" course covers the core Docker and Kubernetes concepts and guides you to build, deploy and monitor containers on Azure and Azure Kubernetes Service. Developers, DevOps and I.T. Pros will learn how to use containers locally and on Azure. You’ll experience several demos and hands-on "live coding" activities with the trainer throughout the course as you learn how to build, deploy and monitor containers on Azure. No coding experience is required for the hands-on activities since the focus is on DevOps but you'll use the terminal, command prompt and VS Code extensively.

In day 1, you'll learn about microservices and their use cases. You'll then learn about containers and how to deploy them in different Azure services providing you with a solid foundation essential for learning Kubenernetes.

In day 2, you'll learn all about Kubenernetes and it's concepts. You'll learn how to deploy and manage microservices applications packaged in containers locally. This will provide you the essential foundation that you'll need before heading to the cloud.

Day 3 is all about Kubenernetes on Azure. You'll apply what you learned in the previous days so that you can deploy, manage and maintain your applications on Azure Kubernetes Service like a ninja!

denotes a topic with hands-on "live coding" activity

Graduation Cap

Day 1

Containers Concepts + Containers on Azure

  • Microservices concepts
    • The problems with legacy monolithic systems
    • Microservices concepts
    • Units of deployment & scaling
    • Advantages and drawbacks
    • Anti patterns
  • What is Cloud Native?
  • Container concepts
  • Using Docker Desktop
    • Using the Docker CLI
    • Containerize an existing application
    • Run containers locally
    • Linux and Windows containers: which one to choose
  • Container registry - Docker Hub
    • Push and pull containers to Docker Hub
  • Multi-Containers with Docker Compose
    • What is YAML
    • Using the docker-compose command
    • Run multi containers locally
  • Containers on Azure - our options
  • Azure Container Registry (ACR)
  • Azure Container Instances (ACI)
    • Use cases for serverless containers
    • Run containers on ACI
  • Web App for Containers
    • Create a new Web App for Containers service 
    • Deploy an image from a container registry 
    • Enabling continuous deployment 
    • Setting environnent variables
  • Web App for Multi-Containers
    • Routing traffic to non-exposed containers
    • Using Ocelot (.NET) as an API gateway
    • Using Nginx as a reverse proxy 
    • Understading Nginx config files 
  • Persisting data
    • App Service persistent shared storage
    • Locating the files using the App Service Advanced Tools
    • Add mappings to an Azure File Share 
    • Add mappings to Blob storage 

Day 2

Kubernetes Core Concepts

  • Advantages & drawbacks of what we saw in Day 1
  • Kubernetes concepts
    • What is Kubernetes?
    • Architecture
    • What can Kubernetes do and not do
  • Running Kubernetes locally
    • Docker Desktop
    • Minikube, MicroK8s, Kind
  • Kubernetes API
    • The declarative way vs the imperative way
    • Using Kubectl
    • YAML files
  • Namespaces
  • Nodes and Pods
  • Using Selectors
  • Setting environnent variables
  • Multi container pods
  • Workloads - How to deploy different applications types
    • ReplicaSet
    • Deployments
    • DaemonSet
    • StatefulSet
    • Job
    • CronJob
  • Updates using rolling updates
  • Networking
    • Communication between pods
    • Reaching from the outside world
  • Services
    • ClusterIP
    • NodePort
    • Load Balancer
  • Storage & Persistance
    • Persistent Volumes and Claims
    • Using Azure Storage with Storage Classes
  • App settings
    • ConfigMaps
    • Secrets
  • Observalibilty
    • Liveness & readiness probes
  • Dashboard
    • Kubernetes Web UI installation
    • K9s: a dashboard in a terminal!

Day 3

Kubernetes on Azure

  • Azure Kukernetes Service
    • Pricing model
    • Supported versions
    • Create an AKS cluster using the Portal
    • Create an AKS cluster using the CLI
  • Kubernetes API
    • Using Kubectl
    • Using the Azure Shell
  • Launching the Dashboard
  • Persistance using Azure Storage
    • Azure Files
    • Azure Disks
  • Scaling
    • Auto scaling Pods using the Horizontal Pod Autoscaler
    • Auto scaling Nodes using the Cluster Autoscaler
    • Burst to serverless Virtual Nodes using Virtual Kubelet
  • Upgrading a cluster to a newer K8s version
  • Using Helm 3
    • Helm installation
    • Use a chart and deploy an app
    • Create a chart to deploy an app
    • Update and Rollback
    • Use Azure Container Registry as a chart repository
  • Logging & Monitoring
    • Monitoring using Azure Monitor
    • Enabling Live Data Monitoring in Azure Monitor
    • Prometheus use cases
    • Installing Grafana
    • Using Azure Monitor as a data source for Grafana
  • Service Mesh
    • Use cases
    • What are Istio and Linkerd
    • Installing Linkerd on AKS
    • Troubleshooting an app using Linkerd
  • Ingress
    • Why use an Ingress Controller
    • Setting up Nginx-Ingress
    • Configuring routes
  • Conclusion




You're new to Docker containers and Kubernetes. You're a developer and you've been tasked to containerize an application to be hosted on Azure Kubernetes Service. You want to understand the concepts so you can build and test containers locally. You also want to learn how microservices hosted in Kubernetes works so you can architect and develop the system accordingly.

No matter what development platform you use, this course will help you achieve your goals. Note that the course focus is on DevOps topics and you'll use VS Code to create configuration files, not coding actual apps.



You're new to Docker containers and Kubernetes. As the DevOps specialist in your team, you want to understand containers, how to build and test them locally, how to configure and manage applications on Kubernetes.

This course will help you achieve your goals as it focuses on DevOps topics. You'll use VS Code intensively to create configuration files and deploy readily made apps (no coding required) with CLI commands in the terminal or command prompt.

IT Pro

I.T. Pro / Ops

You're new to Docker containers and Kubernetes. As the I.T. Pro in your team, you want to understand containers and how to configure Kubernetes in the Cloud so you can monitor and scale the system in production.

Note that the course focus is on DevOps topics and you'll use VS Code to create configuration files and deploy readily made apps (no coding required). Advanced I.T. Pro topics like security and networking beyond the basics are not covered in this course.


The following setup is required on your laptop to attend this course:

Windows or MacOS X or Linux


A detailed checklist will be emailed to the attendees in the week prior to the course.