Reference library

Production deployment patterns

Graceful shutdown, prod config, rollouts, readiness probes, and ship-with-confidence checks.

40 matches
Production deployment patterns easy

How to Mock a Dockerfile Multi-Stage Build in Python

Simulate a Dockerfile multi-stage build process in Python using dataclasses to validate stage ordering and file availability before you write the real Dockerfile.

dockerfile multi-stage simulation
Python
from dataclasses import dataclass
from pathlib import Path


@dataclass
class BuildStage:
    name: str
    base_image: str
    files: list[str]
    commands: list[str]


def run_build(stage: BuildStage, context_dir: Path):
    print(f"=== Stage: {stage.name} (base: {stage.base_image}) ===")
    for file in stage.file…
14 0 Open
Production deployment patterns easy

How to Mock a GitHub Actions Workflow in Python

Build a dataclass-based model of a GitHub Actions workflow and simulate its execution to validate steps and outputs before deployment.

github-actions dataclasses mock
Python
import json
from dataclasses import dataclass, asdict
from typing import List, Dict, Any


@dataclass
class Step:
    name: str
    run: str


@dataclass
class Job:
    name: str
    steps: List[Step]
    runs_on: str = "ubuntu-latest"


@dataclass
class Workflow:
    name: str
    jobs: List[Job]

    def to_github_a…
13 0 Open
Production deployment patterns easy

How to Mock a Kubernetes Rolling Update with maxSurge in Python

Simulate a Kubernetes rolling update with maxSurge policy, tracking peak and final replica counts during roll transitions.

kubernetes rolling-update maxsurge
Python
from collections import deque

class RollingUpdateMaxSurge:
    def __init__(self, replicas, max_surge):
        self.replicas = replicas
        self.max_surge = max_surge
        self.available = replicas
        self.history = deque()

    def roll(self, desired_replicas):
        """
        Simulate a rolling upd…
13 0 Open
Production deployment patterns easy

How to Mock a Slow Startup Probe for Fast Testing in Python

This code shows how to replace a slow startup probe's initialization with a mock to make tests run fast and reliably.

mock testing startup-probe
Python
import time
from unittest.mock import Mock, patch


class StartupProbe:
    def __init__(self, init_time):
        self.init_time = init_time
        self.ready = False

    def initialize(self):
        time.sleep(self.init_time)
        self.ready = True
        return self.ready


def run_startup_probe(probe):
    …
15 0 Open
Production deployment patterns easy

How to Replace Fields in an Immutable Dataclass in Python

Create a new copy of a frozen dataclass with selected fields changed, leaving the original unchanged.

dataclasses immutable configuration
Python
from dataclasses import dataclass, replace


@dataclass(frozen=True)
class ServerConfig:
    name: str
    cpu: int = 2
    ram: int = 4096
    tags: tuple = ()


original = ServerConfig("web-01", cpu=4, tags=("env:prod",))
updated = replace(original, ram=8192, tags=("env:prod", "region:us-east"))

print("Original:", …
15 0 Open
Production deployment patterns easy

How to Roll Back to a Previous Image Tag in Python

A dataclass-based mock registry that tracks image tag history and rolls back to the previous tag, useful for deployment rollback logic.

rollback deployment dataclass
Python
"""Demonstrates a rollback pattern for a Docker-style image tag registry."""

from dataclasses import dataclass, field


@dataclass
class ImageRegistry:
    """A minimal mock registry tracking current tags per image."""

    tags: dict[str, list[str]] = field(default_factory=dict)

    def push(self, image: str, tag: …
13 0 Open
Production deployment patterns medium

How to Simulate Blue-Green Deployment Switch in Python

A mock Blue-Green deployment class that deploys new versions to an inactive environment, runs a health check, switches traffic, and supports rollback in Python.

deployment blue-green mock
Python
import random
import time

class BlueGreenDeployment:
    def __init__(self, initial_env="blue"):
        self.environments = {"blue": "v1.0", "green": "v1.0"}
        self.active_env = initial_env
        self.running = True

    def deploy_new_version(self, version, target_env):
        if target_env == self.active_…
16 0 Open
Production deployment patterns easy

How to Simulate a Packer AMI Build in Python

A simple Python class that mimics a Packer AMI build lifecycle — creates a build object, transitions its state to completed, and prints a JSON snapshot.

packer ami mock
Python
import json


class PackerBuildMock:
    def __init__(self, name, ami_id, region="us-east-1", state="pending"):
        self.name = name
        self.ami_id = ami_id
        self.region = region
        self.state = state

    def build(self):
        if self.state == "pending":
            self.state = "completed"
  …
13 0 Open
Production deployment patterns medium

How to mock Kustomize overlay patches in Python

Simulate Kustomize overlay behavior by deep-merging a base Kubernetes manifest with a patch dictionary in pure Python.

kubernetes kustomize deep-merge
Python
import json

SOURCE = {
    "apiVersion": "apps/v1",
    "kind": "Deployment",
    "metadata": {"name": "app", "namespace": "prod"},
    "spec": {
        "replicas": 3,
        "template": {
            "spec": {
                "containers": [{"name": "app", "image": "nginx:1.19"}]
            }
        }
    }
}

P…
15 0 Open
Production deployment patterns easy

How to mock resource request limits in Python

A Python class that simulates CPU and memory limit checks for resource requests, returning clear acceptance or rejection messages.

resource-limits mock class
Python
class ResourceLimits:
    def __init__(self, cpu_limit, memory_limit):
        self.cpu_limit = cpu_limit
        self.memory_limit = memory_limit

    def check_request(self, cpu, memory):
        if cpu > self.cpu_limit:
            return "CPU limit exceeded: {cpu} > {limit}".format(cpu=cpu, limit=self.cpu_limit)
 …
14 0 Open
Production deployment patterns easy

How to simulate GitLab CI stages in Python

Build a lightweight Python mock of GitLab CI pipeline stages to test job sequencing and output locally.

gitlab ci simulation
Python
def mock_gitlab_ci_stages():
    stages = ["build", "test", "deploy"]
    stage_status = {}

    for stage in stages:
        jobs = []

        if stage == "build":
            jobs = ["compile", "package"]
        elif stage == "test":
            jobs = ["unit", "integration", "e2e"]
        elif stage == "deploy":…
14 0 Open
Production deployment patterns easy

How to simulate a Jenkins pipeline in Python

Simulate a Jenkins-style pipeline in Python by running sequential stages and checking aggregate success.

jenkins pipeline simulation
Python
def run_stage(name, duration, fn):
    print(f"[Pipeline] Running stage: {name}")
    result = fn()
    print(f"[Pipeline] Stage '{name}' completed in {duration}s -> {result}")
    return result

def build_project():
    print("  compiling source...")
    return "BUILD_OK"

def run_tests():
    print("  executing unit…
13 0 Open
Production deployment patterns easy

How to simulate a database migration init container mock in Python

A mock init container that runs environment checks and a staged database migration job before the main application starts, printing progress to stdout.

init-container migration simulation
Python
```python
class MigrationJob:
    def __init__(self, name, steps):
        self.name = name
        self.steps = steps
        self.current_step = 0
        self.status = "pending"

    def run(self):
        print(f"Initializing migration job: {self.name}")
        for step in self.steps:
            self.current_ste…
15 0 Open
Production deployment patterns medium

Mock Kubernetes HPA CPU Scaling in Python

Python function that simulates CPU utilization and calculates desired replicas using the Kubernetes HPA formula.

kubernetes hpa autoscaling
Python
import random
import time


def simulate_cpu_utilization(target_utilization=50, samples=10):
    """Simulate CPU utilization readings for HPA mock."""
    utilizations = []
    for _ in range(samples):
        # Simulate fluctuating CPU with random noise around target
        current = target_utilization + random.unif…
14 0 Open
Production deployment patterns easy

PodDisruptionBudget minAvailable in Python

Simulate a Kubernetes PodDisruptionBudget check for minAvailable and maxUnavailable constraints with a Python class.

kubernetes pdb simulation
Python
class PodDisruptionBudget:
    def __init__(self, name, min_available=None, max_unavailable=None):
        self.name = name
        self.min_available = min_available
        self.max_unavailable = max_unavailable

    def check_availability(self, ready_pods):
        if self.min_available is not None:
            ret…
11 0 Open
Production deployment patterns medium

Zero Downtime Migration with Dual Write Pattern in Python

Implement a dual-write pattern that writes user data to both legacy and new systems simultaneously to enable zero-downtime migration.

migration dual-write zero-downtime
Python
from datetime import datetime
import json


class UserService:
    def __init__(self):
        self.legacy_db = {}
        self.new_db = {}
        self.migration_log = []

    def write_user(self, user_id, name, email):
        # Write to new system first
        user_record = {
            "id": user_id,
           …
13 0 Open

Browse by section

Each section groups closely related Python snippets.

Production deployment patterns — Python code examples

What you will find here

This page collects production deployment patterns snippets — short, copy-ready Python you can paste into our free online IDE and run without installing anything. Each sample includes a plain-English explanation and the full source code.

Samples vs tutorials and challenges

Samples are quick reference — one concept per page. For step-by-step teaching, use our Python tutorials. To test yourself, try quizzes or coding challenges. Clean up style with the Python formatter.