Skip to main content

Introduction

Module 1 introduces the foundational infrastructure concepts essential for deploying ML systems in production. You’ll learn how to containerize applications, orchestrate workloads with Kubernetes, and automate deployment pipelines using CI/CD.
This module focuses on practical, hands-on experience with Docker, Kubernetes, and GitHub Actions—the core technologies used in modern ML infrastructure.

What You’ll Learn

1

Containerization with Docker

Build and manage Docker images for ML applications, understand multi-stage builds, and push images to container registries.
2

Kubernetes Orchestration

Deploy applications using Pods, Jobs, Deployments, and Services on a local Kubernetes cluster with kind.
3

CI/CD Automation

Create GitHub Actions workflows to automatically build, test, and deploy containerized applications.
4

Serverless Options

Explore serverless alternatives like Modal and Railway for simpler ML deployment scenarios.

Module Architecture

This module includes two sample applications that demonstrate containerization patterns:
  • app-ml: A simple ML training job that simulates model training and outputs metrics
  • app-web: A basic web server for serving ML models or APIs
Both applications are containerized and can be deployed to Kubernetes or serverless platforms.

Learning Path

Follow this recommended sequence to get the most out of Module 1:
  1. Docker Fundamentals - Start with containerization basics
  2. Kubernetes Deployment - Learn orchestration and scaling
  3. CI/CD with GitHub Actions - Automate your workflows
  4. Serverless Alternatives - Explore simpler deployment options
  5. Practice Exercise - Apply what you’ve learned

Prerequisites

Before starting this module, ensure you have:
  • Basic understanding of command-line interfaces
  • Familiarity with Git and GitHub
  • Docker installed locally (Docker Desktop)
  • kubectl CLI tool
  • A GitHub account for registry and CI/CD

Key Concepts

Containerization

Containers package your application and all its dependencies into a single, portable unit that runs consistently across different environments.

Orchestration

Kubernetes orchestrates containers at scale, handling deployment, scaling, networking, and self-healing automatically.

CI/CD

Continuous Integration and Continuous Delivery pipelines automate testing, building, and deploying your applications, reducing manual errors and accelerating development.

Design Documentation

Before implementing any ML system, start with a design document. Module 1’s practice task includes creating an MLOps design doc that covers architecture, scalability, costs, and technical debt.
A good design document should address:
  • Models in production architecture
  • Pros and cons of your approach
  • Scalability considerations
  • Usability and developer experience
  • Cost analysis
  • Evolution and maintenance plan
  • ML Test Score assessment

Resources

Essential reading materials:

Next Steps

Ready to get started? Head over to the Docker page to begin building your first containerized ML application.

Build docs developers (and LLMs) love