পাঠ ১৫ · ৩৩-এর মধ্যে · মডিউল ৩
Home / AI Courses / MLOps / Deployment patterns

Deployment patterns

Patterns — REST, gRPC, batch, streaming, edge
৭ মিনিট পড়া মধ্য · Intermediate Concept

এই পাঠে যা শিখবেন

  • প্রতিটি deployment pattern — fit ও trade-off
  • Latency vs throughput-এর comparison
  • কখন serverless overkill, কখন essential
  • Bangladesh production scenarios — সঠিক pattern

১ · কেন pattern matter

"Model deploy" বললে অনেকেই FastAPI REST এর কথা ভাবে। কিন্তু production reality অনেক বেশি diverse:

  • Daraz রাতে সব user-এর recommendation pre-compute করে — batch.
  • Pathao surge prediction প্রতি সেকেন্ডে stream-এ চলে — streaming.
  • bKash fraud check 50ms-এ চাই — online API.
  • মোবাইল app-এ image enhancement — edge (on-device).

২ · ৭টি pattern

  • REST API: HTTP+JSON synchronous. Universal, easy. Latency ১০-১০০ms typical.
  • gRPC: binary, faster than REST, streaming support. Microservice-এর মধ্যে।
  • Batch: periodic large prediction generate; result DB-তে। Hours OK.
  • Streaming: Kafka/Pulsar message → process → output stream. Continuous.
  • Edge / On-device: mobile/IoT-এ inference; no network.
  • Serverless: Lambda/Cloud Run — pay-per-request; cold start risk.
  • Embedded: server-side process within larger app — model loaded inline.

৩ · Latency budget

$$ \text{Total latency} = \text{network} + \text{queue} + \text{preprocess} + \text{inference} + \text{postprocess} + \text{response} $$

Bangladesh fintech p99 budget example:

  • Total: 100 ms.
  • Network (within data-center): 5 ms.
  • Queue + serialization: 10 ms.
  • Preprocess + feature lookup: 15 ms.
  • Model inference: 50 ms.
  • Postprocess: 5 ms.
  • Response: 10 ms.
  • Buffer: 5 ms.

৪ · Decision framework

Pattern picker

১) Real-time per-request? → REST/gRPC online.
২) "All users at once" pre-compute fine? → Batch.
৩) Continuous event stream? → Streaming.
৪) No network OR privacy + low compute? → Edge.
৫) Sporadic + low traffic? → Serverless.
৬) Already in larger app, low scale? → Embedded.

৫ · Batch vs online detail

(Lesson 19-এ deeper). Quick comparison:

  • Batch latency: hours/days; online: ms.
  • Batch cost: $/1M predictions cheap; online: always-on infra.
  • Batch freshness: day-old data; online: instant.
  • Batch infrastructure: Spark/Beam; online: FastAPI/Triton.

৬ · Edge deployment

Bangla mobile keyboard auto-correct, on-device image enhancement.

  • Frameworks: TensorFlow Lite, Core ML (iOS), ONNX Runtime mobile.
  • Model size: usually < 50 MB. Quantize aggressively.
  • No backend cost — but no central monitoring.
  • Update via app store — slow.

৭ · Serverless

  • AWS Lambda, GCP Cloud Run, Azure Functions.
  • Pros: zero idle cost, auto-scale.
  • Cons: cold start (1-10s), CPU/RAM limit, no GPU usually.
  • Use case: low-volume model, sporadic traffic, dev/test environment.
  • Cold start mitigation: provisioned concurrency (cost), container snapshot.
Deployment patterns — latency vs throughput map throughput → ↑ latency tolerance REST / gRPC low-latency online Streaming continuous events Batch large-scale offline Serverless cold start risk Edge on-device, no net
Pattern selection — latency tolerance + throughput requirement-এর function. Production-এ একাধিক pattern coexist.

৮ · Sample REST endpoint

Python · Minimal REST
from fastapi import FastAPI
from pydantic import BaseModel
import joblib

model = joblib.load("model.joblib")
app = FastAPI()

class ReviewIn(BaseModel):
    text: str

class PredictionOut(BaseModel):
    label: str
    confidence: float

@app.post("/predict", response_model=PredictionOut)
def predict(req: ReviewIn):
    proba = model.predict_proba([req.text])[0]
    label_idx = proba.argmax()
    return PredictionOut(
        label=model.classes_[label_idx],
        confidence=float(proba[label_idx]),
    )

    
Lesson 16-এ FastAPI complete production-grade পদ্ধতি বিস্তারিত। এখানে শুধু pattern overview.
Pattern decision-এ "৮০% production = REST online" — কিন্তু বাকি ২০% common cases-এ ভিন্ন pattern এর ROI বিশাল।

ভাবনার প্রশ্ন

প্র ০১"Bangladesh fintech (bKash style) — কোন patterns মিশ্রণে?"

একটি bKash-style fintech-এ multiple ML use case — প্রতিটিতে ভিন্ন pattern.

  • Fraud check (real-time): REST/gRPC online — 50ms p99. Per-transaction.
  • Credit scoring: nightly batch; result DB-তে cache; serving অনুরোধে DB lookup.
  • Customer segmentation: weekly batch; CRM-এ feed.
  • Chatbot intent classification: REST online + streaming for log analysis.
  • Anomaly detection: Kafka stream; alert-driven.

Each model right-tooled — saves cost, simplifies SLA.

Anti-pattern: "Everything REST" — fraud (50ms) আর segmentation (24h OK) same infrastructure-এ — over-engineered.

মূল উপলব্ধি: Pattern selection per-model, latency budget driven. Mixed deployment normal — actually preferred.

প্র ০২"Cold start serverless — kibhabe practical?"

Cold start = idle container start time. ML model serverless-এ painful.

Cold start sources:

  • Container image pull: GB-scale image — slow.
  • Library import: PyTorch ~5s.
  • Model load: serialized model unpickle.
  • GPU init: extra second.

Mitigations:

  • Provisioned concurrency (Lambda) — ৫-১০ instance always warm; cost more.
  • SnapStart (Lambda) — checkpoint runtime state.
  • Keep model loaded between invocations — module-level load (works for "warm" only).
  • Smaller model image — slim base, ONNX runtime instead of PyTorch.
  • Cloud Run min-instance — keep warm pool.

"Use serverless" decision:

  • Burst traffic, mostly idle — yes (with mitigation).
  • Constant traffic — over-engineered; just K8s.
  • P99 strict SLA — risky; better K8s with autoscaler.

মূল উপলব্ধি: Serverless ML — sporadic traffic, cost-conscious, P99 lenient. Don't fight cold start with mitigations expensive — sometimes K8s simpler.

প্র ০৩"Edge deployment — Bangladesh-এ challenges?"

Edge ML attractive — privacy, latency, cost — কিন্তু operational hard.

Bangladesh device landscape:

  • Mobile: budget Android dominant; iOS ~5%.
  • RAM 2-4 GB common; high-end 8-12 GB.
  • CPU low-end Snapdragon 4xx — not powerful.
  • Battery sensitivity high.

Constraints:

  • Model size — < 50 MB.
  • Inference time < 200ms — UX usable.
  • Battery — heavy model = drain.
  • RAM — large model OOM-kill.

Tooling:

  • TF Lite — most popular; converter from TF.
  • ONNX Runtime mobile — flexible source models.
  • MediaPipe — Google's mobile ML kit.
  • Core ML iOS.

Challenges:

  • Update cycle — model in app, app store deploy.
  • Telemetry — usage/accuracy tough monitor.
  • Drift detection — central server-এ aggregate signal upload.
  • Device fragmentation — model behavior varies.

BD use cases successful:

  • Mobile keyboard predictive (Bangla).
  • Photo gallery enhancement.
  • OCR (NID scan, document).
  • Voice command (offline).

Hybrid pattern:

  • Edge basic; backend escalate complex.
  • Edge "first guess", server "second opinion".

মূল উপলব্ধি: Edge ML privacy + UX-এ powerful, কিন্তু operational complex. Quantization + distillation essential. Bangladesh budget-device matters most.

প্র ০৪"Pattern migration — REST থেকে batch-এ যাওয়া কোন signals দেখলে?"

Pattern migration cost আছে — wrong pattern indication clear হলে move worth.

REST → batch signals:

  • Cost analysis — REST infrastructure idle 70%+ time.
  • Predictable user need — "all users-এর daily score" type query.
  • Latency tolerance found relaxed — "actually 24h cached fine".
  • Volume bursting — single batch cheaper than always-on.

Batch → online signals:

  • Stale data complaint.
  • "Refresh now" features needed.
  • Per-user customization growing.
  • Real-time signal (e.g., clickstream) underused.

Online → streaming signals:

  • Polling pattern emerging.
  • Event-driven architecture maturing.
  • Per-event processing required.

Migration cost:

  • Rewrite serving logic.
  • Different infrastructure (Spark vs FastAPI).
  • Different observability.
  • Team skill shift.

Strategy:

  • Don't migrate all-at-once. Hybrid period.
  • New use case — try better pattern first.
  • Existing well-running — don't touch.

মূল উপলব্ধি: Pattern migration triggered by clear cost/latency signals. Premature migration — sunk cost; late migration — accumulated waste. Yearly architecture review healthy practice.

অনুশীলন

  1. Pattern matrix: Daraz-এর ৫টি ML use case list করুন; প্রতিটির জন্য সঠিক pattern + reasoning.
    • Recommendation list — daily batch + serving cache.
    • Search ranking — REST online (per-query).
    • Fraud detection — REST online + streaming alert.
    • Demand forecasting — batch (planning).
    • Image search (visual similar) — REST + edge fallback.
  2. Latency budget: একটি 100ms budget-এ কোন কোন component কত % নেবে — table তৈরি করুন।

    উপরের section ৩-এর breakdown follow করুন; নিজের project-এ adapt.

  3. চিন্তা: Pathao surge prediction — pattern combination কেন? কীভাবে integrate?
    • Streaming for live event ingestion (rides, demand pings).
    • Online API per-zone prediction.
    • Batch nightly model retrain.
    • Edge — driver mobile app local cache, cold-start শ্রেষ্ঠ approximation.

আরও পড়ুন

পূর্ববর্তী পাঠ
পাঠ ১৪ · Kubeflow Pipelines