Deploying an ML Model with a SageMaker Real-Time Endpoint

Overview Training a model is the easy part. Getting it into production — where it serves real-time predictions reliably — is where most ML projects stall. This project deploys a trained bank churn model as a SageMaker real-time endpoint using a custom Docker inference container, then adds a Lambda function to automate inference whenever new data lands in S3. The stack: FastAPI + uvicorn as the inference server, Docker for packaging, ECR for the registry, SageMaker for hosting, and Lambda + S3 for event-driven automation. ...

November 1, 2025 · 6 min · 1105 words · Kiprono Elijah

ECS vs EKS — When to Use Each on AWS

If you’re deploying containerised workloads on AWS, you’ll quickly hit the ECS vs EKS question. Both run containers. Both integrate with the AWS ecosystem. But they solve the problem differently, and picking the wrong one creates unnecessary complexity. What They Are Amazon ECS (Elastic Container Service) is AWS’s own container orchestration service. You define tasks (container specs), put them in services, and ECS handles scheduling and scaling. It’s opinionated, tightly integrated with AWS, and designed to be simple. ...

June 10, 2026 · 3 min · 515 words · Kiprono Elijah

How to Install Docker on Ubuntu (Including EC2)

Ubuntu is the most common Linux distribution for running Docker — whether on a local dev machine, a CI runner, or an EC2 instance. The install process is the same in all three cases. Update the System sudo apt update && sudo apt upgrade -y Install Required Packages sudo apt install -y apt-transport-https ca-certificates curl software-properties-common Add Docker’s Official GPG Key curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg Add the Docker Repository echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \ | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Install Docker Engine sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io Start Docker and Enable at Boot sudo systemctl start docker sudo systemctl enable docker Allow Non-Root Usage (Recommended) By default, Docker commands require sudo. Add your user to the docker group to remove that requirement: ...

June 10, 2026 · 2 min · 383 words · Kiprono Elijah

Docker Commands Cheat Sheet

Here’s a curated list of the most important Docker commands, grouped by what you actually do — not alphabetically. 1. Build & Tag Images docker build -t name:tag . Builds an image from a Dockerfile in the current directory. docker build -t my_app:latest . Most common flags: -f — specify a different Dockerfile path . — the build context (current directory); omit -f when the Dockerfile is in the same directory --no-cache — force a full rebuild, skipping the layer cache -t / --tag — give the image a name and optional version tag; defaults to latest if omitted Pro tip: Add a .dockerignore file to exclude unnecessary files (__pycache__, .git, data dumps) from the build context — it can dramatically speed up builds. ...

July 26, 2025 · 4 min · 773 words · Kiprono Elijah