NEWAuto-scale sesuai traffic
Bonus 25%!0h
Detail
migratevercelmigration guidenext.jsfull-stackhelipod

Cara Migrate dari Vercel ke Helipod: Full-Stack tanpa Batasan

Tim Helipod

7 menit baca

Vercel bagus untuk frontend, tapi terbatas untuk backend dan database? Migrate ke Helipod — full-stack deployment, bayar Rupiah, tanpa kartu kredit.

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

  1. Login ke helipod.io
  2. Klik New Project
  3. Beri nama (bisa sama dengan nama Vercel project)

Step 2: Deploy Frontend (Next.js)

  1. Klik Add ServiceGitHub/GitLab
  2. Connect repo yang sama dengan Vercel
  3. 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:

  1. Klik Add ServiceGitHub/GitLab
  2. Connect repo backend
  3. Atur resource (CPU & RAM)

Step 4: Deploy Database (Jika Perlu)

Jika pakai PlanetScale, Neon, atau database lain:

  1. Klik Add Service → pilih PostgreSQL atau MariaDB
  2. Atur resource
  3. 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:

  1. Build image
  2. Deploy container
  3. Setup SSL & domain
  4. Connect ke database (jika ada)

Step 7: Test

  1. Buka URL dari Helipod
  2. Test semua halaman
  3. Test API endpoints
  4. Test database connections
  5. Test WebSocket (jika ada)
  6. 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:

  1. Tambahkan output: 'standalone' di next.config.js
  2. Ganti VERCEL_URLAPP_URL
  3. 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.

Siap coba Helipod?

Deploy aplikasi kamu sekarang. Gratis, tanpa kartu kredit.

Mulai Gratis →