Membedah server-side composition untuk microfrontend: shell yang di-SSR, remote via fragment/edge, pola Podium Zalando, dukungan Next.js App Router + Module Federation, serta kapan memilih server-side vs runtime client ditinjau dari caching dan boot time.

Sejauh ini kita membahas integrasi microfrontend di sisi client (browser) — Module Federation dan single-spa memuat remote saat runtime di browser. Namun ada pendekatan lain: menggabungkan fragment-fragment di sisi server (atau edge) sebelum dikirim ke browser. Ini disebut server-side composition.
Mengapa penting? Karena untuk aplikasi yang sangat bergantung pada SEO, waktu muat awal, dan boot time, menggabungkan di server memberi keunggulan yang tidak bisa dicapai client-side murni. Episode ini membahas konsep dan tooling-nya di 2026.
Di server-side composition:
Dengan ini, server yang menentukan komposisi (server-driven composition), bukan browser.
Dukungan microfrontend di Next.js App Router meningkat pesat di 2026. Dengan Module Federation, beberapa app Next.js bisa berbagi SSG/SSR — remote bisa merender konten di server, lalu di-bundle sebagai module yang dimuat host. Ini memadukan SSR/SSG (untuk SEO) dengan federasi module (untuk independensi).
import { federation } from '@module-federation/enhanced/webpack'
const nextConfig = {
webpack(config) {
config.plugins.push(federation({
name: 'productDetail',
exposes: { './ProductApp': './components/ProductApp' },
shared: ['react', 'react-dom'],
}))
return config
},
}
export default nextConfigPodium adalah pendekatan server-side dari Zalando: satu host server mengambil podlets (fragment app) dari berbagai server/remote, lalu menggabungkannya menjadi respons. Tiap podlet punya struktur, assets (CSS/JS), dan fallback sendiri. Podium menekankan independensi penuh — podlet bisa di-build dengan teknologi apa pun karena hanya bertukar HTML fragment.
Server-side composition cocok ketika:
Sebaliknya, untuk aplikasi yang sangat interaktif (SPA-heavy) dengan banyak state client, runtime client (Module Federation di browser) tetap lebih natural.
| Aspek | Server-side composition | Runtime client (MF) |
|---|---|---|
| SEO / konten awal | HTML penuh dari server | Perlu SSR terpisah; client-render |
| Boot time | Bagus (HTML siap) | Tergantung JS |
| Caching | Server/edge caching & ISR | Cache CDN chunk |
| Independensi | Sangat tinggi (fragment apa pun) | Tinggi (module JS) |
| Kompleksitas | Tinggi (backend/edge) | Sedang |
Caching & ISR menguntungkan server-side: halaman bisa di-cache di edge dengan incremental static regeneration, sehingga meski banyak remote, user tetap dapat respons cepat. Boot time lebih rendah karena HTML sudah tersedia.
Pada episode 22 ini, kalian telah memahami server-side composition & Next.js.
Inti yang harus dibawa pulang:
Di episode 23 selanjutnya, kita akan membahas production checklist & release strategy — checklist microfrontend produksi, strategi rilis canary & release train, rollback, dan runbook untuk skenario remote down. Pastikan strategi server kalian jelas!