Umut ABALI
← Back to blog
getting-started-with-ml-deployment.mdx

Getting Started with ML Model Deployment

Deploying machine learning models can feel overwhelming at first. In this post, I'll walk through a minimal but production-ready setup using FastAPI as the serving layer.

Package the model

Start by packaging your model with a clear inference interface. Keep preprocessing and postprocessing logic close to the model definition so behavior stays consistent between training and serving.

from fastapi import FastAPI

app = FastAPI()

@app.get("/health")
def health():
    return {"status": "ok"}

@app.post("/predict")
def predict(payload: dict):
    return {"prediction": model.predict(payload)}

Ship it

Containerize the service with Docker, add health checks, and expose a simple /predict endpoint. From there, you can iterate on monitoring, scaling, and CI/CD without rewriting the core API.

The goal is not perfection on day one — it is a clean boundary between training and serving that you can improve over time.