Netlify Edge กับ MLOps Workflow — วิธี Deploy ML

Netlify Edge Functions คืออะไร

Netlify Edge Functions เป็น Serverless Computing ที่ทำงานบน Deno Runtime ที่ Edge Server กระจายอยู่ทั่วโลก จุดเด่นคือ Code จะถูกรันที่ Edge Location ใกล้กับผู้ใช้มากที่สุด ทำให้มี Latency ต่ำกว่า Traditional Serverless Functions ที่ทำงานบน Region เดียว Edge Functions รองรับ TypeScript/JavaScript และสามารถเข้าถึง Request/Response ได้โดยตรง
เมื่อนำ Edge Functions มาใช้ในบริบทของ MLOps จะสามารถทำ ML Inference ที่ Edge ได้โดยตรง ลด Latency ในการเรียก Model API จาก 200-500ms เหลือเพียง 10-50ms เหมาะสำหรับ Use Case อย่าง Real-time Personalization, Content Recommendation, Sentiment-based Routing และ Feature Flag ที่ใช้ ML Model ตัดสินใจ
เนื้อหาเกี่ยวข้อง — อ่านต่อ: CSS Container Queries Freelance IT Career
สถาปัตยกรรม MLOps บน Netlify Edge
สถาปัตยกรรมของ MLOps Workflow บน Netlify ประกอบด้วยหลาย Component ที่ทำงานร่วมกัน
แนะนำเพิ่มเติม — ดูสัญญาณเทรดที่ XM Signal
เนื้อหาเกี่ยวข้อง — อ่านต่อ: Prometheus PromQL Tech Conference 2026
- Model Training Pipeline: ใช้ Python + scikit-learn หรือ PyTorch Train Model บน Cloud (AWS SageMaker, GCP Vertex AI หรือ Local)
- Model Export: แปลง Model เป็น ONNX Runtime หรือ TensorFlow.js Format ที่ทำงานบน JavaScript Runtime ได้
- Model Registry: เก็บ Model Artifacts ใน Git LFS หรือ Cloud Storage พร้อม Version Tag
- Edge Deployment: Deploy Model ร่วมกับ Edge Functions ผ่าน Netlify CLI หรือ Git Push
- A/B Testing: ใช้ Edge Functions Route Traffic ระหว่าง Model Version ต่างๆ
- Monitoring: ติดตาม Model Performance, Prediction Distribution และ Latency
การตั้งค่า Project และ Edge Functions
# สร้าง Netlify Project
mkdir ml-edge-app && cd ml-edge-app
npm init -y
# โครงสร้าง Project
# ml-edge-app/
# ├── netlify/
# │ └── edge-functions/
# │ ├── ml-inference.ts
# │ ├── ab-test.ts
# │ └── monitor.ts
# ├── models/
# │ ├── sentiment-v1.onnx
# │ └── sentiment-v2.onnx
# ├── src/
# │ └── index.html
# ├── scripts/
# │ ├── train_model.py
# │ └── export_onnx.py
# ├── netlify.toml
# └── package.json
# netlify.toml
cat > netlify.toml << 'TOML'
[build]
publish = "src"
command = "echo 'Static site - no build needed'"
[[edge_functions]]
function = "ml-inference"
path = "/api/predict"
[[edge_functions]]
function = "ab-test"
path = "/api/recommend"
[[edge_functions]]
function = "monitor"
path = "/api/monitor"
[build.environment]
MODEL_VERSION = "v2"
AB_TEST_TRAFFIC_SPLIT = "0.2"
TOML

CI/CD Pipeline สำหรับ MLOps บน Netlify
# .github/workflows/mlops-deploy.yml
name: MLOps Deploy to Netlify Edge
on:
push:
branches: [main]
paths:
- 'models/**'
- 'netlify/**'
- 'scripts/**'
jobs:
validate-model:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Dependencies
run: pip install -r scripts/requirements.txt
- name: Validate Model
run: |
python scripts/validate_model.py models/sentiment-v2.onnx
echo "Model validation passed"
- name: Run Model Tests
run: pytest scripts/tests/ -v
deploy:
needs: validate-model
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Deploy to Netlify
uses: nwtgck/actions-netlify@v3
with:
publish-dir: './src'
production-deploy: true
netlify-config-path: './netlify.toml'
env:
NETLIFY_AUTH_TOKEN: }
NETLIFY_SITE_ID: }
- name: Smoke Test
run: |
sleep 10
RESULT=$(curl -s -X POST https://ml-edge-app.netlify.app/api/predict \
-H "Content-Type: application/json" \
-d '{"text":"สินค้าดีมากครับ"}')
echo "Smoke test result: "
echo "" | jq -e '.sentiment == "positive"'
Monitoring และ Observability
การ Monitor ML Model ที่ Deploy บน Edge ต้องติดตามทั้ง Infrastructure Metrics และ Model Performance Metrics
เนื้อหาเกี่ยวข้อง — ดูเพิ่มเติมเรื่อง Shadcn UI RBAC ABAC Policy
- Latency Distribution: ดู P50, P90, P99 ของ Inference Time แยกตาม Edge Location
- Prediction Distribution: ตรวจสอบว่าสัดส่วน Positive/Negative ไม่เปลี่ยนผิดปกติ (Data Drift)
- Error Rate: ติดตาม 4xx/5xx Errors แยกตาม Model Version
- A/B Test Metrics: เปรียบเทียบ Conversion Rate, Click-through Rate ระหว่าง Model Versions
- Edge Function Invocations: ดูจำนวนการเรียกใช้งานต่อวันเพื่อ Capacity Planning
- Model Freshness: ตรวจสอบว่า Model Version ที่ Deploy ตรงกับ Latest Version ใน Registry
Netlify Edge Functions คืออะไรและต่างจาก Serverless Functions อย่างไร
Netlify Edge Functions ทำงานบน Deno Runtime ที่ Edge Server ทั่วโลก ใกล้ผู้ใช้มากกว่า Serverless Functions ที่ทำงานบน Region เดียว ทำให้มี Latency ต่ำกว่า 50ms แทนที่จะเป็น 200-500ms เหมาะสำหรับ Personalization, A/B Testing และ ML Inference ที่ต้องการ Response เร็ว แต่มี Resource จำกัดกว่า (Memory, Execution Time)
แนะนำเพิ่มเติม — หนังสือเทรดที่ SiamCafeBook
เนื้อหาเกี่ยวข้อง — ดูเพิ่มเติมเรื่อง LLM Quantization GGUF Production Setup Guide





