Saat aplikasi kamu mulai tumbuh, satu environment tidak cukup. Kamu butuh tempat untuk testing tanpa mengganggu production, tempat untuk development yang bisa di-reset kapan saja, dan tempat untuk staging yang mirror production.
Helipod mendukung Multiple Environments dalam satu project — masing-masing dengan config, secrets, dan resource limits sendiri.
Kenapa Butuh Multiple Environment?
Bayangkan skenario ini:
- Developer push code baru
- Langsung ke production
- Ternyata ada bug
- Semua user terdampak
Dengan multiple environment:
- Developer push code ke development
- Testing di staging (mirip production)
- Baru promote ke production
- Bug tertangkap sebelum sampai ke user
Cara Membuat Environment di Helipod
1. Buka Project Settings
Di dashboard Helipod, buka project kamu lalu klik tab Environments di sidebar.
2. Tambah Environment Baru
Klik Add Environment dan beri nama:
| Environment | Kegunaan | Tips |
|---|---|---|
development |
Daily development & testing | Bisa di-reset kapan saja |
staging |
Pre-production testing | Mirror production specs |
production |
Live traffic | Jangan diubah sembarangan |
3. Konfigurasi Tiap Environment
Setiap environment punya pengaturan independen:
- Environment Variables — secret dan config berbeda per env
- Pod Specs — CPU & RAM bisa beda tiap env
- Domain — staging bisa pakai subdomain berbeda
- Database — bisa pakai database terpisah
Contoh Setup Environment
Development
Variables:
DATABASE_URL=postgresql://dev:dev@db-dev:5432/myapp_dev
NODE_ENV=development
DEBUG=true
Specs:
CPU: 0.25 vCPU
RAM: 512MB
Staging
Variables:
DATABASE_URL=postgresql://staging:secure@db-staging:5432/myapp_staging
NODE_ENV=staging
DEBUG=false
Specs:
CPU: 0.5 vCPU
RAM: 1GB
Production
Variables:
DATABASE_URL=postgresql://prod:verysecure@db-prod:5432/myapp_prod
NODE_ENV=production
DEBUG=false
Specs:
CPU: 1 vCPU
RAM: 2GB
Best Practice
1. Jangan Pernah Share Secrets
Setiap environment harus punya secrets sendiri. Database password staging ≠ database password production.
2. Gunakan Naming Convention
Konsisten dengan nama environment:
development / dev
staging / staging
production / prod
3. Production Harus Paling Kuat
Resource limits di production harus lebih besar dari staging dan development:
Development: 0.25 vCPU, 512MB
Staging: 0.5 vCPU, 1GB
Production: 1+ vCPU, 2GB+
4. Limit Akses ke Production
Hanya senior developer yang boleh akses production environment. Development bisa diakses semua orang.
5. Gunakan Branch Protection
Hubungkan environment dengan branch di Git:
main→ productionstaging→ stagingdevelop→ development
Switching Environment
Di Helipod, kamu bisa switch antar environment dari dropdown di top bar dashboard. Semua pod, logs, dan metrics akan berubah sesuai environment yang dipilih.
Related Features
- Environment Variables & Secrets — kelola config per environment
- Internal Networking — pod di environment yang sama bisa saling terhubung
- Custom Domain — setiap environment bisa punya domain sendiri
Kesimpulan
Multiple environment adalah practice wajib untuk tim yang serius. Dengan Helipod, setup environment terpisah hanya butuh beberapa klik — tanpa perlu manage infrastructure sendiri.
Belum coba Helipod? Daftar gratis di helipod.io — tidak perlu kartu kredit.
Punya pertanyaan? Hubungi kami di support@helipod.id atau bergabung ke komunitas di hangar.helipod.io.