Cloudflare Developer Platform 2026 — Hệ Sinh Thái Edge Computing Miễn Phí Cho Developer

Posted on: 4/17/2026 10:10:05 PM

Nếu bạn đang tìm một nền tảng để deploy ứng dụng full-stack mà không tốn đồng nào cho những project nhỏ và trung bình, Cloudflare Developer Platform năm 2026 là lựa chọn khó bỏ qua. Với hệ sinh thái gồm Workers (serverless compute), D1 (SQL database), R2 (object storage zero egress), Durable Objects (stateful compute), Workers AI (inference tại edge), và mới nhất là Sandboxes + Dynamic Workers từ Agents Week 2026 — Cloudflare đang xây dựng một "cloud hoàn chỉnh" chạy trên edge network phủ hơn 330 thành phố toàn cầu.

330+Edge locations toàn cầu
100KRequests/ngày (Free tier)
5 GBD1 Storage miễn phí
10 GBR2 Storage miễn phí/tháng
10KNeurons AI miễn phí/ngày
4000%Tăng trưởng Workers AI YoY Q1/2026

1. Kiến trúc tổng quan Cloudflare Developer Platform

Cloudflare Developer Platform không phải là một dịch vụ đơn lẻ — nó là một hệ sinh thái hoàn chỉnh cho phép bạn xây dựng, lưu trữ, và chạy ứng dụng hoàn toàn trên edge network. Khác với mô hình cloud truyền thống (chọn region → deploy → chờ request đi từ user tới datacenter xa), mọi thứ trên Cloudflare đều chạy ở datacenter gần nhất với người dùng.

graph TD
    USER["👤 User Request"]
    EDGE["🌐 Cloudflare Edge
(330+ locations)"] WORKERS["⚡ Workers
Serverless Compute"] D1["🗄️ D1
SQLite Database"] R2["📦 R2
Object Storage"] DO["🔒 Durable Objects
Stateful Compute"] KV["⚡ KV
Key-Value Store"] AI["🤖 Workers AI
Inference"] QUEUES["📨 Queues
Message Queue"] SANDBOX["🏗️ Sandboxes
Isolated Runtime"] USER --> EDGE EDGE --> WORKERS WORKERS --> D1 WORKERS --> R2 WORKERS --> DO WORKERS --> KV WORKERS --> AI WORKERS --> QUEUES WORKERS --> SANDBOX DO --> D1 style USER fill:#e94560,stroke:#fff,color:#fff style EDGE fill:#2c3e50,stroke:#fff,color:#fff style WORKERS fill:#3498db,stroke:#fff,color:#fff style D1 fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style R2 fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style DO fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style KV fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style AI fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style QUEUES fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style SANDBOX fill:#f8f9fa,stroke:#e94560,color:#2c3e50
Hình 1: Kiến trúc tổng quan Cloudflare Developer Platform — mọi thành phần đều chạy tại edge

Điểm mấu chốt của kiến trúc này là tất cả các component đều nằm trên cùng edge network. Khi Workers gọi D1, R2, hay Durable Objects — không có network hop ra ngoài. Latency giữa các service gần như bằng 0 vì chúng cùng chạy trong một datacenter.

Tại sao Edge Computing quan trọng?

Với cloud truyền thống, một user ở Việt Nam gọi API đặt tại us-east-1 phải chờ ~200ms round-trip chỉ riêng network latency. Trên Cloudflare, request được xử lý tại edge PoP ở Singapore hoặc Hồ Chí Minh — latency giảm xuống còn ~10-30ms. Đặc biệt với D1 read replicas, dữ liệu được cache tại edge gần nhất.

2. Workers — Serverless Compute tại Edge

Workers là trái tim của Cloudflare Developer Platform. Mỗi Worker là một đoạn code JavaScript/TypeScript (hoặc Python từ 2025) chạy trên V8 isolate — không phải container, không phải VM — nên cold start gần như bằng 0 (dưới 5ms so với 100-500ms của Lambda).

2.1. Execution Model: V8 Isolates

Thay vì spin up container cho mỗi request như AWS Lambda, Workers sử dụng V8 isolate — cùng engine mà Chrome dùng để chạy JavaScript. Mỗi isolate được tạo trong microseconds, chia sẻ process nhưng hoàn toàn cách ly về memory.

graph LR
    subgraph Container["Container Model (Lambda)"]
        C1["Container 1
~100ms cold start"] C2["Container 2
~100ms cold start"] C3["Container 3
~100ms cold start"] end subgraph Isolate["V8 Isolate Model (Workers)"] I1["Isolate 1
~0ms cold start"] I2["Isolate 2
~0ms cold start"] I3["Isolate 3
~0ms cold start"] end style C1 fill:#f8f9fa,stroke:#ff9800,color:#2c3e50 style C2 fill:#f8f9fa,stroke:#ff9800,color:#2c3e50 style C3 fill:#f8f9fa,stroke:#ff9800,color:#2c3e50 style I1 fill:#f8f9fa,stroke:#4CAF50,color:#2c3e50 style I2 fill:#f8f9fa,stroke:#4CAF50,color:#2c3e50 style I3 fill:#f8f9fa,stroke:#4CAF50,color:#2c3e50
Hình 2: So sánh Container model (Lambda) vs V8 Isolate model (Workers)

2.2. Cron Triggers và Scheduled Workers

Workers không chỉ xử lý HTTP requests. Bạn có thể đặt lịch chạy với Cron Triggers — tương đương cron job nhưng chạy trên edge, không cần server.

export default {
  async scheduled(event: ScheduledEvent, env: Env, ctx: ExecutionContext) {
    // Chạy mỗi ngày lúc 2:00 AM UTC
    const response = await fetch('https://api.example.com/daily-sync');
    const data = await response.json();

    // Lưu kết quả vào D1
    await env.DB.prepare('INSERT INTO sync_logs (data, synced_at) VALUES (?, ?)')
      .bind(JSON.stringify(data), new Date().toISOString())
      .run();
  },

  async fetch(request: Request, env: Env) {
    // Xử lý HTTP requests bình thường
    return new Response('Hello from Workers!');
  }
};

2.3. Python Workers

Từ cuối 2025, Cloudflare đã hỗ trợ Python cho Workers với cold start nhanh và quy trình uv-first. Năm 2026, Python Workers đã hỗ trợ đầy đủ Durable Objects và Workflows — mở rộng đáng kể cho các developer đến từ hệ sinh thái Python/data science.

from js import Response

async def on_fetch(request, env):
    results = await env.DB.prepare(
        "SELECT * FROM products WHERE category = ?"
    ).bind("electronics").all()

    return Response.json(results)

3. D1 — SQL Database trên Edge với SQLite

D1 là database SQL chạy trên edge, dựa trên SQLite. Nghe có vẻ đơn giản, nhưng D1 giải quyết một bài toán mà nhiều edge platform khác bỏ ngỏ: làm sao có relational database gần user mà không phải quản lý replication?

3.1. Kiến trúc D1

graph TD
    W1["Worker (Singapore)"] -->|READ| R1["Read Replica
Singapore"] W2["Worker (Tokyo)"] -->|READ| R2["Read Replica
Tokyo"] W3["Worker (Frankfurt)"] -->|READ| R3["Read Replica
Frankfurt"] W1 -->|WRITE| PRIMARY["Primary DB
(Single Region)"] W2 -->|WRITE| PRIMARY W3 -->|WRITE| PRIMARY PRIMARY -->|Replicate| R1 PRIMARY -->|Replicate| R2 PRIMARY -->|Replicate| R3 style PRIMARY fill:#e94560,stroke:#fff,color:#fff style R1 fill:#f8f9fa,stroke:#3498db,color:#2c3e50 style R2 fill:#f8f9fa,stroke:#3498db,color:#2c3e50 style R3 fill:#f8f9fa,stroke:#3498db,color:#2c3e50 style W1 fill:#2c3e50,stroke:#fff,color:#fff style W2 fill:#2c3e50,stroke:#fff,color:#fff style W3 fill:#2c3e50,stroke:#fff,color:#fff
Hình 3: D1 Read Replication — read tại edge, write về primary

3.2. Tính năng nổi bật

  • Time Travel: Rollback database về bất kỳ phút nào trong 30 ngày gần nhất — không cần tự quản lý backup
  • Read Replicas: Tự động replicate tới edge locations, không tốn thêm phí
  • Batched Statements: Gửi nhiều query trong một lần gọi, giảm round-trip
  • 50,000 databases/account: Phù hợp cho multi-tenant SaaS — mỗi tenant một database riêng
// Batched statements — 3 queries, 1 round-trip
const results = await env.DB.batch([
  env.DB.prepare('SELECT * FROM users WHERE id = ?').bind(userId),
  env.DB.prepare('SELECT * FROM orders WHERE user_id = ? ORDER BY created_at DESC LIMIT 10').bind(userId),
  env.DB.prepare('UPDATE users SET last_login = ? WHERE id = ?').bind(new Date().toISOString(), userId),
]);

const [user, orders, _] = results;

Khi nào nên dùng D1?

D1 phù hợp cho ứng dụng read-heavy (blog, e-commerce catalog, dashboard). Với write-heavy workloads (real-time chat, gaming), Durable Objects với SQLite storage sẽ phù hợp hơn vì write xảy ra trực tiếp tại edge, không cần round-trip về primary.

4. R2 — Object Storage không tốn phí Egress

R2 là object storage tương thích S3 API — nhưng với một khác biệt then chốt: zero egress fees. AWS S3 charge $0.09/GB cho mỗi GB data transfer ra ngoài. Với R2, bạn trả $0/GB egress. Với các ứng dụng phục vụ nhiều media (ảnh, video, file download), đây là khoản tiết kiệm khổng lồ.

4.1. So sánh chi phí Storage

Tiêu chíCloudflare R2AWS S3 StandardGoogle Cloud Storage
Storage/GB/tháng$0.015$0.023$0.020
Egress/GB$0 (miễn phí)$0.09$0.12
PUT/1M requests$4.50$5.00$5.00
GET/1M requests$0.36$0.40$0.40
Free Storage10 GB/tháng5 GB (12 tháng đầu)5 GB
Free EgressUnlimited100 GB/tháng (12 tháng)1 GB/ngày
S3 API CompatibleNativeCó (interop)

4.2. Media Transformations (GA 2026)

R2 giờ đây tích hợp Media Transformations — cho phép resize, crop, watermark ảnh và tối ưu video trực tiếp tại edge, không cần service riêng. Tính năng này đã GA từ đầu 2026.

// Upload file lên R2
await env.MY_BUCKET.put('images/avatar.jpg', imageData, {
  httpMetadata: { contentType: 'image/jpeg' },
});

// Serve ảnh đã transform qua Workers
// URL: /images/avatar.jpg?width=200&height=200&fit=cover
const transformed = await fetch(
  `https://my-bucket.r2.dev/images/avatar.jpg?width=200&height=200&fit=cover`
);

5. Durable Objects — Stateful Serverless

Durable Objects (DO) giải quyết bài toán mà serverless truyền thống không thể: stateful computation. Mỗi Durable Object là một instance duy nhất trên toàn cầu, có bộ nhớ riêng, và có thể lưu trữ dữ liệu persistent bằng SQLite — đã GA từ 2026 và miễn phí cho Workers Free plan.

5.1. Use Cases điển hình

🎮Real-time multiplayer games
💬Chat rooms & collaboration
🔒Distributed locks & rate limiting
📊Real-time counters & analytics

5.2. SQLite-backed Durable Objects

Từ 2026, SQLite storage cho Durable Objects đã chuyển từ beta sang GA. Mỗi DO instance có riêng một SQLite database — hoàn hảo cho các pattern cần strong consistency tại single point.

import { DurableObject } from 'cloudflare:workers';

export class ChatRoom extends DurableObject {
  private sql: SqlStorage;

  constructor(ctx: DurableObjectState, env: Env) {
    super(ctx, env);
    this.sql = ctx.storage.sql;

    // Tạo table nếu chưa có
    this.sql.exec(`
      CREATE TABLE IF NOT EXISTS messages (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        user TEXT NOT NULL,
        content TEXT NOT NULL,
        created_at TEXT DEFAULT (datetime('now'))
      )
    `);
  }

  async sendMessage(user: string, content: string) {
    this.sql.exec(
      'INSERT INTO messages (user, content) VALUES (?, ?)',
      user, content
    );
    // Broadcast qua WebSocket cho các client đang kết nối
    for (const ws of this.ctx.getWebSockets()) {
      ws.send(JSON.stringify({ user, content, time: new Date().toISOString() }));
    }
  }

  async getHistory(limit = 50) {
    return this.sql.exec(
      'SELECT * FROM messages ORDER BY created_at DESC LIMIT ?', limit
    ).toArray();
  }
}

6. Workers AI — Inference tại Edge

Workers AI cho phép chạy inference các model AI phổ biến (Llama 3.3 70B, Mistral, DeepSeek R1 distilled, Stable Diffusion, Whisper...) ngay tại edge — không cần quản lý GPU, không cần provisioning.

6.1. Models và Pricing

50+ Models sẵn sàng sử dụng

  • Text Generation: Llama 3.3 70B, Llama 3.2 (1B/3B/11B vision), Mistral 7B, Mistral Small 3.1, DeepSeek R1 Distilled
  • Embeddings: BGE models cho vector search
  • Image Generation: Stable Diffusion XL, FLUX.1
  • Speech-to-Text: Whisper
  • Translation: M2M-100

Pricing: 10,000 Neurons miễn phí/ngày. Sau đó $0.011/1,000 Neurons. Inference chạy tại 200+ data centers toàn cầu.

export default {
  async fetch(request: Request, env: Env) {
    // Text generation với Llama 3.3
    const textResult = await env.AI.run('@cf/meta/llama-3.3-70b-instruct-fp8-fast', {
      messages: [
        { role: 'system', content: 'Bạn là trợ lý hữu ích, trả lời bằng tiếng Việt.' },
        { role: 'user', content: 'Giải thích serverless computing trong 3 câu.' }
      ]
    });

    // Image generation với Stable Diffusion
    const imageResult = await env.AI.run('@cf/stabilityai/stable-diffusion-xl-base-1.0', {
      prompt: 'A futuristic city with neon lights, cyberpunk style'
    });

    // Embedding cho vector search
    const embedding = await env.AI.run('@cf/baai/bge-base-en-v1.5', {
      text: ['Cloudflare Workers edge computing']
    });

    return Response.json({ text: textResult, embedding: embedding.data });
  }
};

AI Gateway — Quản lý AI Inference tập trung

AI Gateway hoạt động như một proxy layer trước các AI provider (OpenAI, Anthropic, Workers AI). Nó cung cấp caching (giảm chi phí cho prompt trùng lặp), rate limiting, analytics, và fallback giữa các provider — tất cả đều miễn phí trên Free plan.

7. Agents Week 2026 — Sandboxes, Facets và Dynamic Workers

Cloudflare Agents Week (13-17/04/2026) là sự kiện lớn nhất của Cloudflare cho developer AI, với hàng loạt tính năng mới biến Cloudflare thành nền tảng lý tưởng cho AI agents.

Tháng 6/2025
Sandboxes Beta — Ra mắt bản beta đầu tiên, cho phép AI agents có môi trường isolated riêng với shell, filesystem và background processes.
Tháng 3/2026
Dynamic Workers Open Beta — Cho phép tạo và deploy Workers on-the-fly qua API, không cần wrangler CLI. Nền tảng cho AI-generated apps.
13/04/2026
Sandboxes GA — Persistent isolated environments cho AI agents, với Outbound Workers cho zero-trust egress proxy. Agents có "máy tính riêng" với state lưu trữ giữa các phiên.
14/04/2026
Durable Object Facets (Beta) — Cho phép Dynamic Workers tạo Durable Objects với SQLite database riêng. Mỗi AI-generated app có database riêng biệt, hoàn toàn cách ly.
15/04/2026
Unified CLI (cf) — CLI mới thay thế wrangler, đồng nhất ~3,000 API operations. Local Explorer cho phép debug data D1, KV, R2 ngay trên máy local.

7.1. Sandboxes — Máy tính riêng cho AI Agents

Sandboxes cung cấp cho AI agents một môi trường persistent, isolated: shell thật, filesystem thật, background processes thật. Khác với container ephemeral, Sandboxes giữ nguyên state giữa các lần gọi — agent có thể quay lại và tiếp tục từ đúng nơi đã dừng.

graph LR
    AGENT["🤖 AI Agent"] --> SANDBOX["🏗️ Sandbox"]
    SANDBOX --> SHELL["Shell Access"]
    SANDBOX --> FS["Persistent
Filesystem"] SANDBOX --> PROC["Background
Processes"] SANDBOX --> OW["Outbound Workers
(Zero-trust Egress)"] OW --> API1["External API 1"] OW --> API2["External API 2"] style AGENT fill:#e94560,stroke:#fff,color:#fff style SANDBOX fill:#2c3e50,stroke:#fff,color:#fff style SHELL fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style FS fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style PROC fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style OW fill:#3498db,stroke:#fff,color:#fff style API1 fill:#f8f9fa,stroke:#e0e0e0,color:#2c3e50 style API2 fill:#f8f9fa,stroke:#e0e0e0,color:#2c3e50
Hình 4: Sandboxes architecture — AI agents có môi trường riêng với zero-trust egress

7.2. Durable Object Facets — Database riêng cho mỗi app

Facets là tính năng cho phép Dynamic Workers tạo Durable Object classes on-the-fly, mỗi class có SQLite database riêng. Đây là nền tảng cho các platform kiểu "mỗi user có app riêng" — AI-generated apps, no-code builders, multi-tenant SaaS.

// Dynamic Worker tạo Durable Object với Facets
const id = env.MY_DURABLE_OBJECT.idFromName('user-123-app');
const stub = env.MY_DURABLE_OBJECT.get(id);

// Mỗi instance có SQLite database riêng biệt
// User 123 không thể truy cập data của User 456
await stub.fetch('/api/data', {
  method: 'POST',
  body: JSON.stringify({ key: 'settings', value: { theme: 'dark' } })
});

8. Pages → Workers: Cuộc hợp nhất lớn

Một thay đổi quan trọng trong 2026: Cloudflare Pages đã chuyển sang maintenance mode. Toàn bộ đầu tư mới tập trung vào Workers. Điều này có nghĩa gì?

Tính năngPages (Maintenance)Workers (Active)
Static site hostingCó (Workers Sites / Assets)
Serverless functionsPages Functions (giới hạn)Full Workers runtime
Durable ObjectsKhông
D1, R2, KV, QueuesQua FunctionsNative binding
Cron TriggersKhông
Dynamic WorkersKhông
Python supportKhông
ContainersKhôngCó (trên DO)
Git integrationCó (auto deploy)Có (Workers Builds GA)

Migration note cho Pages users

Nếu bạn đang dùng Pages, project hiện tại vẫn hoạt động bình thường. Nhưng cho project mới, hãy bắt đầu với Workers + Assets. Cloudflare sẽ cung cấp migration path chính thức, nhưng càng sớm chuyển càng được hưởng nhiều tính năng mới.

9. Free Tier tổng hợp — Được gì miễn phí?

Đây là phần hấp dẫn nhất: free tier của Cloudflare rất rộng rãi, đặc biệt so với AWS và Vercel.

FREE

Workers

  • 100,000 requests/ngày
  • 10ms CPU time/request
  • Unlimited Workers
  • Custom domains
  • Cron Triggers (5 triggers)
FREE

D1 Database

  • 5 GB storage tổng
  • 5M rows read/ngày
  • 100K rows written/ngày
  • Read replicas miễn phí
  • Time Travel 30 ngày
FREE

R2 Storage

  • 10 GB storage/tháng
  • 1M Class A ops/tháng
  • 10M Class B ops/tháng
  • Egress: $0 (unlimited)
  • S3-compatible API
FREE

Workers AI

  • 10,000 Neurons/ngày
  • 50+ models (LLM, Image, STT)
  • AI Gateway analytics
  • Vectorize 5M vectors
  • Inference tại 200+ PoPs
FREE

KV Storage

  • 100,000 reads/ngày
  • 1,000 writes/ngày
  • 1 GB stored
  • Eventually consistent
  • Global replication
FREE

Durable Objects

  • SQLite storage (GA)
  • Workers Free plan
  • WebSocket hibernation
  • Alarms (scheduled wake)
  • Transactional storage

Tổng kết: Bạn có thể build gì miễn phí?

Với free tier, bạn hoàn toàn có thể chạy production một blog/portfolio, API backend cho mobile app, SaaS MVP, real-time chat app, hoặc AI chatbot. Chỉ khi scale lên hàng triệu requests/ngày, bạn mới cần nâng cấp lên Workers Paid ($5/tháng).

10. So sánh với AWS Lambda, Vercel và Deno Deploy

Tiêu chíCloudflare WorkersAWS LambdaVercel FunctionsDeno Deploy
Cold Start<5ms100-500ms~250ms~10ms
RuntimeV8 IsolateContainerContainer (AWS)V8 Isolate
Edge Locations330+30+ regions~20 regions35+ regions
SQL DatabaseD1 (5GB free)Không (cần RDS)Vercel Postgres (256MB free)Deno KV
Object StorageR2 (zero egress)S3 ($0.09/GB egress)Vercel BlobKhông native
AI InferenceWorkers AI (50+ models)Bedrock (trả phí)Không nativeKhông native
Free Requests100K/ngày1M/tháng100K/tháng (Hobby)1M/tháng
Stateful ComputeDurable ObjectsKhông nativeKhôngKhông
LanguageJS/TS, Python, WASMĐa ngôn ngữJS/TSJS/TS
Container supportCó (trên DO)NativeKhôngKhông

Khi nào KHÔNG nên chọn Cloudflare?

Long-running tasks: Workers Free giới hạn 10ms CPU/request (Paid: 30s). Nếu cần xử lý nặng (video encoding, ML training), Lambda với 15 phút timeout phù hợp hơn. Đa ngôn ngữ: Nếu cần Java, Go, .NET — Lambda vẫn là lựa chọn linh hoạt nhất. Hệ sinh thái AWS: Nếu đã invest sâu vào SQS, DynamoDB, Step Functions — chuyển sang Cloudflare sẽ tốn công migration.

11. Thực hành: Deploy ứng dụng Vue + API trên Cloudflare

Dưới đây là kiến trúc thực tế cho một ứng dụng Vue.js + Workers API + D1 + R2, deploy hoàn toàn trên Cloudflare free tier.

graph TD
    BROWSER["🌐 Browser
(Vue SPA)"] -->|HTTPS| CF["Cloudflare Edge"] CF -->|Static Assets| ASSETS["Workers Assets
(Vue Build)"] CF -->|/api/*| WORKER["Workers API
(TypeScript)"] WORKER -->|Query| D1DB["D1 Database"] WORKER -->|Upload/Download| R2B["R2 Bucket"] WORKER -->|Auth| DO_AUTH["Durable Object
(Session)"] WORKER -->|AI| WAI["Workers AI
(Summarize)"] style BROWSER fill:#e94560,stroke:#fff,color:#fff style CF fill:#2c3e50,stroke:#fff,color:#fff style ASSETS fill:#f8f9fa,stroke:#3498db,color:#2c3e50 style WORKER fill:#3498db,stroke:#fff,color:#fff style D1DB fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style R2B fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style DO_AUTH fill:#f8f9fa,stroke:#e94560,color:#2c3e50 style WAI fill:#f8f9fa,stroke:#e94560,color:#2c3e50
Hình 5: Kiến trúc full-stack Vue + Workers + D1 + R2 trên Cloudflare

11.1. Cấu hình wrangler.jsonc

{
  "name": "my-vue-app",
  "main": "src/worker.ts",
  "compatibility_date": "2026-04-01",
  "assets": {
    "directory": "./dist",
    "binding": "ASSETS"
  },
  "d1_databases": [
    { "binding": "DB", "database_name": "my-app-db", "database_id": "xxx" }
  ],
  "r2_buckets": [
    { "binding": "BUCKET", "bucket_name": "my-app-files" }
  ],
  "durable_objects": {
    "bindings": [
      { "name": "SESSIONS", "class_name": "SessionDO" }
    ]
  },
  "ai": { "binding": "AI" },
  "triggers": {
    "crons": ["0 2 * * *"]
  }
}

11.2. Worker entry point

import { SessionDO } from './session-do';

export { SessionDO };

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const url = new URL(request.url);

    // API routes
    if (url.pathname.startsWith('/api/')) {
      return handleApi(request, env, url);
    }

    // Serve Vue SPA từ Assets
    return env.ASSETS.fetch(request);
  }
};

async function handleApi(request: Request, env: Env, url: URL) {
  // GET /api/posts — lấy danh sách bài viết
  if (url.pathname === '/api/posts' && request.method === 'GET') {
    const { results } = await env.DB.prepare(
      'SELECT id, title, excerpt, created_at FROM posts ORDER BY created_at DESC LIMIT 20'
    ).all();
    return Response.json(results);
  }

  // POST /api/upload — upload file lên R2
  if (url.pathname === '/api/upload' && request.method === 'POST') {
    const formData = await request.formData();
    const file = formData.get('file') as File;
    const key = `uploads/${Date.now()}-${file.name}`;
    await env.BUCKET.put(key, file.stream(), {
      httpMetadata: { contentType: file.type }
    });
    return Response.json({ url: `/cdn/${key}` });
  }

  // POST /api/summarize — tóm tắt bằng AI
  if (url.pathname === '/api/summarize' && request.method === 'POST') {
    const { text } = await request.json() as { text: string };
    const result = await env.AI.run('@cf/meta/llama-3.3-70b-instruct-fp8-fast', {
      messages: [
        { role: 'system', content: 'Tóm tắt đoạn văn sau trong 2-3 câu bằng tiếng Việt.' },
        { role: 'user', content: text }
      ]
    });
    return Response.json(result);
  }

  return new Response('Not Found', { status: 404 });
}

11.3. Deploy

# Build Vue app
npm run build

# Deploy lên Cloudflare (free tier)
npx wrangler deploy

# Tạo D1 database
npx wrangler d1 create my-app-db
npx wrangler d1 execute my-app-db --file=./schema.sql

# Tạo R2 bucket
npx wrangler r2 bucket create my-app-files

12. Kết luận

Cloudflare Developer Platform năm 2026 đã vượt xa khái niệm "CDN có thêm serverless functions". Với hệ sinh thái gồm Workers (compute), D1 (database), R2 (storage), Durable Objects (state), Workers AI (inference), Sandboxes (isolated runtime), và Containers — đây là một full-stack cloud platform chạy hoàn toàn tại edge.

Điểm mạnh cốt lõi:

  • Free tier cực rộng: Đủ cho production của nhiều startup và side project
  • Zero egress trên R2: Tiết kiệm hàng nghìn USD/tháng cho ứng dụng media-heavy
  • Cold start gần bằng 0: V8 isolates nhanh hơn containers đáng kể
  • Global by default: Code tự động chạy gần user nhất, không cần chọn region
  • AI tích hợp sẵn: Inference 50+ models ngay tại edge, không cần setup riêng
  • Agents-ready: Sandboxes + Dynamic Workers + Facets — sẵn sàng cho thời đại AI agents

Với $5/tháng cho Workers Paid plan, bạn unlock thêm 10M requests/tháng, 30s CPU time, Durable Objects nâng cao, và Queues. Đối với phần lớn ứng dụng web hiện đại — từ blog, SaaS MVP đến real-time collaboration tools — Cloudflare Developer Platform là lựa chọn xứng đáng được xem xét nghiêm túc.

Tham khảo