Belajar System Design - Serverless & Edge Architecture
Episode 18 of 28

Belajar System Design - Serverless & Edge Architecture

Memahami serverless (Lambda/Cloud Run/Cloudflare Workers), cold start, edge computing untuk latency reduction global, dan perbandingan cost/latency antara container vs Lambda vs edge worker untuk berbagai skenario traffic

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Setelah di episode 17 kita memahami migrasi monolith ke modular monolith dan microservices, pada episode ini kita membahas tren deployment modern: serverless dan edge computing. Dua konsep ini mengubah cara kita berpikir tentang infrastruktur — dari "manage server" ke "just deploy code."

Serverless bukan berarti "tidak ada server" — server tetap ada, tapi kalian tidak perlu mengelolanya. Edge computing membawa compute lebih dekat ke pengguna. Bersama-sama, mereka menawarkan operational simplicity yang powerful — tapi dengan trade-off yang harus dipahami.

Serverless

Lambda/Cloud Run/Cloudflare Workers

PlatformBahasaCold StartFree TierUse Case
AWS LambdaPython, Node, Go, Java100-500ms1M requests/bulanBackend tasks, API
Google Cloud RunContainer (any lang)500ms-2s2M requests/bulanContainer workloads
Cloudflare WorkersJavaScript/WASM0-50ms100K requests/hariEdge computing

Cold Start

Cold start adalah delay saat serverless function pertama kali dijalankan (atau setelah idle).

Cold start vs warm start
Cold start: 200-500ms (Lambda), 0-50ms (Workers)
  → Function di-deploy dari awal, load dependencies
 
Warm start: 1-10ms
  → Function sudah berjalan, langsung execute
 
Optimasi:
  - Keep function warm (provisioned concurrency)
  - Reduce package size (dependency minimal)
  - Avoid VPC (tambah network setup time)

Stateless & Event-Driven

Serverless functions bersifat stateless — setiap invocation adalah independent, tidak ada memory yang persist antar invocation.

Serverless composition
API Gateway → Lambda (auth) → Lambda (business logic) → DynamoDB

                    Lambda (notification)

                    S3 (file storage)

Step Functions (AWS) / Workflow Orchestration

Step function composition
Step 1: Validate input (Lambda)
Step 2: Process payment (Lambda) → if fail → Step 2a: refund
Step 3: Update inventory (Lambda)
Step 4: Send notification (Lambda)

Step functions mengkoordinasi multiple Lambda calls dengan retry, error handling, dan parallel execution.

Edge Computing

Konsep

Edge computing menjalankan compute di server yang dekat secara geografis dengan pengguna.

100%

Cloudflare Workers

Cloudflare Workers
- Runtime: V8 isolates (bukan container/VM)
- Cold start: 0-50ms (sangat cepat)
- Location: 300+ edge locations globally
- Use case: API routing, authentication, A/B testing, rate limiting

Vercel Edge Functions

Vercel Edge
- Runtime: V8 isolates
- Integrated dengan Next.js
- Edge middleware: auth check, redirect, A/B testing
- Edge functions: business logic di edge

Kapan Edge?

Use CaseEdge?Alasan
API routingYaLow latency untuk semua region
Authentication checkYaCepat, tidak butuh database
A/B testingYaPersonalization di edge
Database queryTidakButuh koneksi ke database (origin)
File processingTidakCPU-intensive, butuh resources

Perbandingan Cost/Latency

Skenario: API 1M requests/hari

Cost comparison
Container (ECS Fargate):
  - 0.25 vCPU, 512 MB, always running
  - Cost: ~$10-15/bulan
  - Latency: 10-50ms (consistent)
 
Lambda:
  - 1M requests x 200ms x 256MB
  - Cost: ~$0.40/bulan (bawah free tier 1M)
  - Latency: 50-200ms (cold start possible)
 
Edge Worker (Workers):
  - 1M requests x 10ms
  - Cost: ~$5/bulan
  - Latency: 5-30ms (edge location)

Skenario: Traffic Burst (10x spike)

Burst traffic handling
Container: auto-scaling 1-10 instances → 2-5 menit scale up
Lambda: otomatis scale ke ribuan concurrent → detik
Edge Worker: otomatis scale → detik

Trade-off

AspekContainerServerlessEdge
Cold startTidak ada100-500ms0-50ms
StateBisa statefulStatelessStateless
Cost modelPay for compute timePay per request + durationPay per request
DebuggingMudah (logs, SSH)Sulit (distributed)Sulit (distributed)
Vendor lock-inRendahMenengahMenengah
Latency globalTergantung regionTergantung regionSangat rendah

Note

Untuk system design interview, tanyakan requirement latency global. Jika user tersebar global dan latency kritis → edge. Jika bursty traffic dan operational simplicity → serverless. Jika stateful atau long-running → container. Tidak ada yang universally lebih baik.

Praktik: Bandingkan Arsitektur

Skenario: Image Processing API

Option A: Container (ECS)

Container approach
ECS Fargate: 2 task, 1 vCPU, 2GB RAM
Cost: ~$30/bulan (always running)
Latency: 50ms (consistent)
Supports: complex processing, stateful

Option B: Lambda

Lambda approach
Lambda: process image on-demand
Cost: ~$5/bulan (100K invocations)
Latency: 200ms (cold start) / 10ms (warm)
Limitations: 15 min timeout, 10GB memory

Option C: Edge Worker

Edge approach
Cloudflare Workers: resize image di edge
Cost: ~$8/bulan
Latency: 10ms (edge location)
Limitations: CPU time limit (10-30ms), memory limit

Penutup

Inti yang harus dibawa pulang:

  • Serverless (Lambda/Cloud Run): operational simplicity, auto-scale, pay-per-use; tapi cold start dan vendor lock-in.
  • Edge computing (Workers): latency rendah untuk global users; tapi resource terbatas dan tidak untuk heavy computation.
  • Container: fleksibel, stateful, consistent performance; tapi butuh more operational overhead.
  • Pilih berdasarkan: latency requirement, traffic pattern, state management, dan budget.

Di episode 19 selanjutnya kita akan membahas cost-aware design (FinOps) — infrastructure cost sebagai pertimbangan arsitektur, right-sizing, storage tiering, dan perbandingan cost detail antara berbagai arsitektur. Desain yang bagus bukan yang paling scalable, tapi yang paling cost-effective!