Vercel adalah pilihan populer untuk deploy Next.js dan frontend frameworks. Tapi banyak developer yang akhirnya sadar: Vercel hanya untuk frontend. Butuh backend always-on? Database? Queue workers? Kamu harus pakai layanan tambahan — dan masing-masing punya biaya sendiri.
Helipod adalah alternatif full-stack yang mendukung frontend, backend, dan database dalam satu platform — dan bayar Rupiah tanpa kartu kredit.
Artikel ini menjelaskan cara migrate dari Vercel ke Helipod.
Kenapa Migrate dari Vercel?
Keterbatasan Vercel
| Fitur | Vercel | Helipod |
|---|---|---|
| Frontend (Next.js) | ✅ Excellent | ✅ Supported |
| Backend always-on | ❌ Serverless only | ✅ Containers |
| Database | ❌ Via third-party | ✅ PostgreSQL, MariaDB |
| Queue workers | ❌ Via third-party | ✅ Built-in |
| WebSocket | ⚠️ Limited | ✅ Full support |
| Cold start | ⚠️ Ada | ✅ Tidak ada |
| Harga | $20/user/bulan | Rp 350/hari mulai |
| Kartu kredit | ✅ Diperlukan | ❌ QRIS & Transfer |
| Bayar Rupiah | ❌ | ✅ |
Kapan Harus Migrate?
Migrate ke Helipod jika kamu:
- Butuh backend always-on (bukan serverless)
- Butuh database dalam satu platform
- Ingin bayar Rupiah tanpa kartu kredit
- Ingin mengurangi biaya (Vercel Pro $20/bulan vs Helipod mulai Rp 350/hari)
- Punya WebSocket atau real-time features
- Butuh queue workers untuk background jobs
Persiapan Migration
1. Audit Aplikasi Vercel
Vercel Dashboard → pilih project → Settings
Catat:
- Framework (Next.js, Nuxt, etc.)
- Build command
- Output directory
- Environment variables
- Domain settings
- Functions (serverless)
2. Backup Environment Variables
Vercel Dashboard → Settings → Environment Variables
Export semua env vars — kamu akan memindahkannya ke Helipod.
3. Pahami Perbedaan Serverless vs Container
Vercel (Serverless):
Request → Vercik Edge → Serverless Function → Response
↑
Cold start (500ms-2s)
Helipod (Container):
Request → Container → Response
↑
Always-on, no cold start
Step-by-Step Migration
Step 1: Buat Project di Helipod
- Login ke helipod.io
- Klik New Project
- Beri nama (bisa sama dengan nama Vercel project)
Step 2: Deploy Frontend (Next.js)
- Klik Add Service → GitHub/GitLab
- Connect repo yang sama dengan Vercel
- Helipod akan auto-detect Next.js
Catatan: Jika pakai Next.js, pastikan next.config.js punya output standalone:
// next.config.js
module.exports = {
output: 'standalone',
}
Step 3: Deploy Backend (Jika Ada)
Jika aplikasi punya backend terpisah:
- Klik Add Service → GitHub/GitLab
- Connect repo backend
- Atur resource (CPU & RAM)
Step 4: Deploy Database (Jika Perlu)
Jika pakai PlanetScale, Neon, atau database lain:
- Klik Add Service → pilih PostgreSQL atau MariaDB
- Atur resource
- Deploy
Perbedaan penting:
# Vercel — pakai PlanetScale/Neon (third-party)
DATABASE_URL=mysql://xxx@planetscale.com/db
# Helipod — database dalam project
DATABASE_URL=postgresql://user:pass@postgres-db:5432/myapp
↑
service name, bukan external URL
Step 5: Set Environment Variables
Di tab Variables, tambahkan semua env vars dari Vercel:
# Frontend
NEXT_PUBLIC_API_URL=https://backend-api.helipod.app
# Backend
DATABASE_URL=postgresql://user:pass@postgres-db:5432/myapp
REDIS_URL=redis://redis-cache:6379
JWT_SECRET=your-secret
# Third-party APIs
STRIPE_SECRET_KEY=sk_live_xxx
SENDGRID_API_KEY=SG.xxx
Perbedaan Vercel vs Helipod:
| Vercel | Helipod | Note |
|---|---|---|
NEXT_PUBLIC_* |
NEXT_PUBLIC_* |
Sama — client-side |
VERCEL_URL |
APP_URL |
Ganti manual |
VERCEL_ENV |
APP_ENV |
Ganti manual |
| Serverless secrets | Container secrets | Sama cara pakainya |
Step 6: Deploy
Klik Deploy untuk setiap service. Helipod akan:
- Build image
- Deploy container
- Setup SSL & domain
- Connect ke database (jika ada)
Step 7: Test
- Buka URL dari Helipod
- Test semua halaman
- Test API endpoints
- Test database connections
- Test WebSocket (jika ada)
- Cek logs untuk error
Step 8: Update DNS (Jika Pakai Custom Domain)
Vercel:
Vercel Dashboard → Settings → Domains
Helipod:
Helipod Dashboard → Settings → Networking & Domains → Add Domain
Update DNS records:
- Jika pakai Cloudflare: gunakan Grey Cloud (DNS Only)
- Jika pakai other DNS: update A record atau CNAME ke Helipod
Perbedaan Kode
Next.js Config
Vercel:
// next.config.js — default Vercel
module.exports = {
// Tidak perlu output: 'standalone'
}
Helipod:
// next.config.js — tambahkan standalone
module.exports = {
output: 'standalone',
}
API Routes vs Backend Service
Vercel — Serverless Functions:
app/
├── api/
│ ├── users/
│ │ └── route.ts ← Serverless function
│ └── posts/
│ └── route.ts ← Serverless function
Helipod — Backend Service:
project/
├── frontend/ ← Next.js (service terpisah)
├── backend/ ← Node.js/Laravel/Django (service terpisah)
└── database/ ← PostgreSQL/MariaDB (service terpisah)
Database Connection
Vercel — External Database:
// PlanetScale, Neon, atau Supabase
const db = mysql({
host: 'aws.connect.psdb.cloud',
user: 'username',
password: 'password',
database: 'mydb',
});
Helipod — Internal Database:
// Database dalam project, gunakan service name
const db = postgresql({
host: 'postgres-db', // service name
user: 'user',
password: 'password',
database: 'mydb',
});
Cold Start Handling
Vercel — Perlu handle cold start:
// Serverless function — cold start bisa lambat
export default async function handler(req, res) {
// First request mungkin lambat (500ms-2s)
const data = await fetchData();
res.json(data);
}
Helipod — Tidak ada cold start:
// Container always-on — response time konsisten
app.get('/api/data', async (req, res) => {
const data = await fetchData();
res.json(data);
});
Arsitektur: Vercel vs Helipod
Vercel (Perlu Banyak Layanan)
Vercel → Next.js frontend
PlanetScale → MySQL database
Upstash → Redis cache
Vercel Functions → API endpoints
─────────────────────────────
Total: ~$69/bulan (~Rp 1.104.000)
Helipod (Satu Platform)
Project: MyApp
├── Next.js Frontend (0.25 vCPU, 512MB)
├── Node.js Backend (0.5 vCPU, 1GB)
├── PostgreSQL (0.5 vCPU, 1GB)
└── Redis (0.25 vCPU, 256MB)
─────────────────────────────
Total: Rp 7.000/hari (~Rp 210.000/bulan)
Hemat 80% dengan Helipod.
Checklist Migration
- Audit aplikasi Vercel (framework, env vars, functions)
- Backup environment variables
- Tambahkan
output: 'standalone'ke next.config.js - Buat project di Helipod
- Deploy frontend (Next.js)
- Deploy backend (jika ada)
- Deploy database (jika perlu)
- Set environment variables
- Test semua fitur
- Update custom domain
- Test WebSocket (jika ada)
- Monitor logs dan metrics
Troubleshooting
"Build failed: output standalone"
Pastikan next.config.js punya:
module.exports = {
output: 'standalone',
}
"API routes not working"
Vercel API routes tidak bisa dipindahkan langsung. Buat backend service terpisah atau konversi ke standalone API.
"Database connection refused"
Pastikan gunakan service name (misal: postgres-db), bukan localhost atau external URL.
"Cold start still happening"
Helipod tidak punya cold start. Jika ada delay, cek:
- Resource allocation (CPU/RAM terlalu kecil?)
- Database query lambat?
- External API calls?
"WebSocket not connecting"
Pastikan WebSocket di-handle di backend service, bukan di Next.js API routes.
FAQ
Baca pakai Next.js API routes?
Tidak langsung. Vercel API routes adalah serverless functions. Di Helipod, buat backend service terpisah (Node.js/Express, NestJS, Laravel) untuk API.
Apakah perlu ubah code?
Minimal. Yang perlu diubah:
- Tambahkan
output: 'standalone'di next.config.js - Ganti
VERCEL_URL→APP_URL - Ganti database host → service name
Bagaimana dengan ISR/SSG?
ISR (Incremental Static Regeneration) bekerja di Helipod. SSG (Static Site Generation) juga support.
Berapa biaya migration?
Gratis. Biaya hanya untuk resource yang kamu pakai setelah migration.
Berapa lama migration?
30-60 menit untuk aplikasi sederhana. 1-2 jam untuk aplikasi complex dengan database dan multiple services.
Kesimpulan
Migration dari Vercel ke Helipod memberikan kamu:
- Full-stack deployment — frontend + backend + database
- Bayar Rupiah — QRIS, transfer bank, tanpa kartu kredit
- Lebih murah — hemat hingga 80% dari Vercel + third-party services
- Tidak ada cold start — container always-on
- Full WebSocket support — real-time apps tanpa batasan
Mulai migration di helipod.io — tidak perlu kartu kredit.
Punya pertanyaan? Hubungi kami di support@helipod.id atau bergabung ke komunitas di hangar.helipod.io.