Edge Computing untuk Developer Indie: Apa yang Perlu Diketahui?

Visualisasi jaringan komputasi global dengan node di berbagai lokasi

Written by

in

Waktu pertama dengar “edge computing”, saya pikir ini jargon enterprise yang tidak relevan buat developer indie seperti saya. CDN sudah ada, server sudah ada, ngapain rumit-rumingin lagi?

Ternyata saya salah — dan deep dive ke dunia edge computing dalam 6 bulan terakhir cukup mengubah cara saya pikir tentang infrastruktur.

Edge Computing Itu Apa Sebenarnya?

Konsep dasarnya: daripada request user selalu pergi ke server pusat (misalnya di us-east-1 di Virginia atau server VPS kamu di Singapura), kode dan data dijalankan lebih dekat ke user — di “edge”, yaitu server yang tersebar di ratusan lokasi di seluruh dunia.

Hasilnya: latensi lebih rendah karena data tidak harus melakukan perjalanan jauh.

Ini berbeda dari CDN yang cuma serve static files. Edge computing menjalankan kode di edge location — logika bisnis, database queries, personalisasi, semuanya bisa terjadi di server yang fisiknya dekat dengan user.

Platform Edge yang Relevan untuk Developer Indie

Cloudflare Workers

Ini yang paling saya rekomendasikan untuk mulai. Cloudflare Workers menjalankan JavaScript (dan bahasa lain via WebAssembly) di 300+ lokasi di seluruh dunia.

Yang membuat menarik untuk indie developer:

  • Free tier yang generous: 100.000 request/hari gratis
  • Latency sangat rendah: Kode dieksekusi < 1ms dari lokasi terdekat user
  • KV Store: Key-value storage yang tersedia di semua edge location
  • D1 Database: SQLite yang tersebar di edge
  • R2: Object storage (seperti S3 tapi tanpa egress fee)

Biaya paid plan mulai $5/bulan untuk 10 juta request — untuk banyak indie project, ini lebih dari cukup.

Vercel Edge Functions

Kalau kamu sudah pakai Vercel untuk deployment, Edge Functions adalah natural extension. Bisa ditulis dengan syntax Next.js middleware yang familiar.

// app/middleware.ts

import { NextResponse } from 'next/server';

import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {

// Ini dijalankan di edge, bukan di origin server

const country = request.geo?.country || 'ID';

// Redirect berdasarkan lokasi user

if (country === 'ID') {

return NextResponse.rewrite(new URL('/id' + request.nextUrl.pathname, request.url));

}

return NextResponse.next();

}

Deno Deploy

Deno, runtime JavaScript alternatif, punya hosting service-nya sendiri dengan edge deployment. Kalau kamu suka Deno (dan banyak developer yang mulai suka), ini pilihan yang clean.

Use Case Nyata yang Bisa Kamu Implementasikan

1. Geolocation-based Routing

Redirect user ke versi bahasa/region yang tepat tanpa roundtrip ke origin server. Deteksi country di edge, serve konten yang sesuai.

2. A/B Testing di Edge

Daripada run A/B test di client (yang lambat dan bisa di-block) atau di origin server (tambah latency), run di edge. User dapat variasi yang tepat sebelum request bahkan sampai ke origin kamu.

// Cloudflare Worker untuk A/B test sederhana

export default {

async fetch(request) {

const url = new URL(request.url);

const userId = getCookie(request, 'user_id') || generateId();

// Assign ke group berdasarkan hash dari userId

const group = parseInt(userId.slice(-1), 16) < 8 ? 'A' : 'B';

if (group === 'B') {

url.pathname = '/variant-b' + url.pathname;

}

return fetch(url);

}

};

3. Rate Limiting di Edge

Block excessive request sebelum mereka sampai ke server kamu. Lebih efisien karena tidak buang compute di origin.

4. Image Optimization On-the-Fly

Cloudflare Images dan Vercel Image Optimization sudah pakai edge untuk resize/compress gambar sesuai device yang request. Kamu bisa implement logic serupa.

5. Auth Token Validation

Validasi JWT token di edge sebelum request diteruskan ke API kamu. Ini mengurangi load di origin server secara signifikan.

// Validasi JWT di Cloudflare Worker

export default {

async fetch(request, env) {

const token = request.headers.get('Authorization')?.replace('Bearer ', '');

if (!token) {

return new Response('Unauthorized', { status: 401 });

}

try {

// Verify JWT di edge

const payload = await verifyJWT(token, env.JWT_SECRET);

// Forward request dengan user info di header

const modifiedRequest = new Request(request, {

headers: {

...Object.fromEntries(request.headers),

'X-User-Id': payload.sub,

'X-User-Role': payload.role,

}

});

return fetch(modifiedRequest);

} catch {

return new Response('Invalid token', { status: 401 });

}

}

};

Batasan yang Perlu Kamu Tahu

Edge computing bukan tanpa batasan:

Cold start yang berbeda. Edge workers biasanya tidak punya cold start seperti serverless konvensional, tapi ada batasan CPU time yang ketat (biasanya 50ms per request di tier gratis).

Tidak semua library bisa jalan. Beberapa npm packages yang bergantung pada Node.js APIs spesifik tidak bisa dipakai di edge runtime. Workers runtime itu subset dari browser runtime, bukan full Node.js.

Stateful operations lebih rumit. Edge workers secara default stateless. Untuk state, kamu harus integrasikan dengan KV store atau database — ada overhead ini.

Debugging lebih susah. Troubleshoot kode yang jalan di 300+ lokasi berbeda itu lebih complex dari debug server tunggal.

Kapan Edge Computing Worth It untuk Project Indie?

Worth it kalau:

  • User kamu tersebar global — ini impact-nya paling besar
  • Ada operasi yang bisa di-offload (auth, routing, rate limiting) dari origin
  • Budget infrastruktur terbatas — free tier Cloudflare Workers sangat generous
  • Kamu sudah pakai Cloudflare/Vercel — adopsi edge jadi lebih natural

Mungkin belum worth it kalau:

  • User kamu concentrated di satu region — benefit latensi jadi minimal
  • App kamu sangat database-heavy — bottleneck tetap di database, bukan network
  • Tim kamu belum familiar dengan edge paradigm

Langkah Pertama yang Konkret

Kalau mau mulai eksperimen:

  1. Buat Cloudflare account (gratis)
  2. Install Wrangler CLI: npm install -g wrangler
  3. Buat worker sederhana: wrangler generate my-worker
  4. Deploy: wrangler deploy

Untuk project yang lebih structured, Hono adalah framework yang ringan dan optimal untuk edge environment. Mirip Express, tapi dirancang untuk edge runtime.

Kesimpulan

Edge computing bukan lagi domain eksklusif perusahaan besar. Dengan Cloudflare Workers, Vercel Edge Functions, dan platform serupa — ini sekarang accessible untuk developer indie dengan biaya yang sangat masuk akal.

Untuk project yang butuh performa global, atau ingin offload logika tertentu dari origin server — ini layak dieksplor. Mulai kecil: implementasikan rate limiting atau auth di edge, rasakan bedanya, baru expand dari sana.


Tertarik eksplorasi edge computing untuk project kamu? Atau mau diskusi arsitektur infrastruktur yang tepat untuk skala project kamu? Yuk ngobrol — hubungi mafadev.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *