Featured course

Docker and Kubernetes

Building and operating software are crucial aspects for developers. This hands-on training designed specifically for developers provides insights into system architecture, focusing on performant builds and maintainable, reusable, extensible infrastructure code.

Docker and Kubernetes

Overview

Docker and Kubernetes are modern, valuable technologies that are broadly available both in public Clouds and on-premises data centers.

This hands-on training, designed specifically for developers, provides insights into system architecture, focusing on performant Docker builds and well-designed Kubernetes clusters.

Building the services into Docker Images and running the system in a Kubernetes Cluster cannot be left solely to DevOps engineers. Developers need to own how builds are configured and made, as this involves deciding on the binaries and resources shipped into production. Additionally, developers need a solid understanding of Kubernetes to effectively address factors that influence the system's security, availability, reliability, and performance.

Unlike our other courses, this one focuses specifically on technologies: Docker and Azure Kubernetes Services. At the same time, the emphasis remains on quality code design, and we teach how to write infrastructure code that is maintainable, reusable, and extensible. The same mindset applied to application code is translated into managing infrastructure effectively.

Our project experience is transferred to the participants by troubleshooting together while building a Kubernetes cluster and deploying to it.

Motivation

Kubernetes is a common denominator in distributed computing, making knowledge of it highly valuable.

Understanding Kubernetes and learning how to build and manage clusters is crucial for developers, not just DevOps engineers, where security, scalability and resilience are key.

Infrastructure as code requires the same quality mindset as application code—maintainable, reusable, and extensible—ensuring robust, long-term solutions for dynamic infrastructure.

Learning Objectives

  • Understand Containerization with Docker
  • Master Kubernetes for Orchestrating Containers
  • Leverage Helm for Simplified Kubernetes Management
  • Apply Advanced Kubernetes Techniques

Target Audience

  • Internship programs for DevOps engineers
  • Software Developers who need to start working on distributed systems

Standard Format Outline

➟ onsite: two full days
➟ online: four days with 4-hour sessions each

Custom formats are also available, offering extended durations to address specific participant needs, provide additional guided practice, or begin building Docker files and the Kubernetes cluster for a project brought in by the participants.

A commonly recommended customization is to combine it with the 'Azure DevOps' course into an integrated training program, as the two are complementary to each other.

Outline:

Docker Containers

  • Dockerfile
  • Common Docker commands
  • Docker Desktop
  • Build and run locally
  • Connect to container console
  • Deployment to basic Azure or AWS web apps
  • Repo Structure
  • Container Registries

Kubernetes

  • Kubernetes Concepts
  • kubectl
  • k9x (a terminal UI for Kubernetes)
  • Azure Kubernetes Services (AKS)

Helm

  • Helm Charts
  • Environments configurations
  • Helmfile

Kubernetes Advanced Topics

  • DNS management
  • SSL certificates management
  • Infrastructure as Code (IaC) using tools such as Terraform