Courses

These are "standard" workshops I already authored. They don't require creating content and provide the best value-for-money.

If you need something slightly different, ask me about a custom workshop!

Implementing Continuous Delivery with GitLab

This is an intensive all-in-one Continuous Delivery/DevOps course relying on GitLab to both demonstrate concepts and provide end-to-end hands-on experience.

It's about 8 hours: 3 hours theory + 5 hours labs.

The course requires the ability to understand scripts and config files.

Contents

DevOps essentials in 30 minutes

GitLab Overview

Git refresher

Product management in GitLab

  • Users, Projects, Groups

  • Working with issues

  • Boards

Implementing CD

  • Creating a basic pipeline

  • Deploying to GitLab Pages

Lab 1: setting up GitLab + creating a basic pipeline

Implementing CD - Advanced

  • Docker essentials

  • Kubernetes essentials

    • Creating an Advanced Pipeline

      • Advanced QA in GitLab

      • Deploying to Kubernetes

      • Self-hosted runners

Monitoring

GitLab CD Metrics

Lab 2: creating an advanced pipeline deploying to Kubernetes and monitoring

Continuous Delivery to Kubernetes on Azure with GitHub

In this course we implement Continuous Delivery with GitHub and Azure to from the beginning to the end.

8 hours: 3 hours theory + 5 hours labs.

Understanding scripts and config files is required.

Contents

DevOps & CD in 30 minutes

Git refresher

Docker essentials

Kubernetes crash course

Lab 1: Deploying a web application to Kubernetes

  • Get familiar with our application, discuss its parts.

  • Dockerize our application.

  • Deploy our application to Kubernetes locally on Docker Desktop.

Azure Kubernetes Service

Application insights & Azure Monitor

Building a CI/CD pipeline with GitHub Actions

Lab 2: deploying to Kubernetes on Azure

  • Discuss Azure Kubernetes Service, and how we need to change the application. Then we once again deploy our application but this time to AKS.

  • Create a workflow for deploying the application to Azure using GitHub Actions.

  • Monitor our application with Application Insights

Developing Applications on Azure (mini AZ-204)

This course is intended to be a lightweight alternative to the AZ-204 but with focus on practical applications development. I created this based on my extensive experience delivering the official course. Participants will incrementally build an application and will leverage different Azure services during the journey.

16 hours, 4 labs

This high-intensity workshop requires the ability to code.

Contents

Day 1

Running applications on Azure

  • Virtual Machines

  • App Services (overview)

  • Azure Functions

  • Azure Container Instances

  • Azure Kubernetes Service

Lab 1: hosting the application

Storing data in Azure

  • Azure Storage

  • Blob storage

  • Table storage

  • Azure SQL Databases

  • Cosmos DB

Lab 2: integrating storage backend


Day 2

Configuration & security

  • Approaches to manage configuration

    • Local

    • Service-specific

      • App Service settings

      • Kubernetes ConfigMaps and Secrets

    • Centralized

  • Azure KeyVault

  • Azure App Configuration Service

  • Auth

    • Service Principals and Managed Identities

    • App Registrations (overview)

Lab 3: using Azure KeyVault for secrets & App Configuration for feature toggles

Maintaining production

  • Azure Monitoring

  • Application Insights

    • Availability tests

  • Alerts

  • Scaling

  • Azure Log Analytics

Lab 4: debugging web pages with App Insights and Log Analytics

Deploying Applications to Azure (mini AZ-400)

This is a shorter alternative to the official AZ-400 for those mostly interested in CI/CD aspect of it based on my extensive experience delivering the MOC and authoring courses on DevOps. Participants will use Azure Application infrastructure to build custom deployment process using GitHub Actions step-by-step.

16 hours, 4 labs

This high-intensity workshop requires the ability to code.

Contents

Day 1

Source control, Git and CI

  • Git crash course

  • Branches and forks

  • Continuous integration

  • Running automated tests

  • Using pull requests for code review

Lab 1: integrating & building

Creating simple Continuous Delivery pipeline with GitHub

  • GitHub Actions

  • Runners & strategies

  • GitHub Secrets & managing configuration

Lab 2: deploying a simple application to Azure App Service


Day 2

Packages and Dockerizing applications

  • GitHub Packages

  • Docker

Lab 3: building and dockerizing a microservices application

A more sophisticated CD process

  • Approvals and gates

  • Scanning for quality compliance and security

  • IaC

  • Kubernetes

  • Azure Kubernetes Service (AKS)

Lab 4: deploying to AKS with GitHub Actions

Source Control with Git

This is a classic zero-to-hero comprehensive Git course covering all Git features and common scenarios but cheaper, with more content and a good trainer.

8 hours, 2 labs

Contents

Main concepts

Differences with other Version Control Systems

Working locally

  • Configuration

  • Staging area/Index

  • Commiting changes

  • Log

  • Aliases

  • Git mental model (once you know it, you know it all!)

Branches

  • Checkout

  • Merge

  • git reset

Lab 1: common local workflow

Working as a team

  • Cloning and forking

  • Remote branches

  • Pushing and pulling

  • Common scenarios

Advanced topics & scenarios

  • Tags

  • Rebase

  • Detached head state

  • git cherry-pick

  • git reflog

  • git revert

  • git stash

Lab 2: common teamwork scenarios