63 poin oleh GN⁺ 9 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • Strategi bootstrapping untuk menjalankan beberapa perusahaan SaaS dengan MRR di atas $10.000 dengan biaya infrastruktur di bawah $20 per bulan menggunakan satu VPS, bahasa Go, SQLite, dan GPU lokal
  • Menjalankan semua layanan di satu VPS seharga $5–10 alih-alih AWS atau orkestrasi cloud yang rumit, sehingga fokus pada penanganan request, bukan pengelolaan infrastruktur
  • Memilih Go sebagai bahasa backend untuk mendapatkan proses deployment yang sangat sederhana: dikompilasi menjadi satu binary lalu dideploy ke server tanpa pengelolaan dependensi
  • Menjalankan VLLM di GPU lokal (RTX 3090) untuk membuat biaya pemrosesan batch AI menjadi nol, dan hanya memakai model frontier lewat OpenRouter untuk fitur yang berhadapan langsung dengan pengguna
  • Bahkan tanpa venture capital, jika biaya bisa dijaga nyaris nol maka akan mendapatkan runway yang praktis tak terbatas, sehingga ada cukup waktu untuk menemukan product-market fit

Strategi operasional server lean

  • Cara umum meluncurkan web app pada 2026 adalah memprovisikan cluster EKS, instance RDS, dan NAT Gateway di AWS, yang berarti pengeluaran lebih dari $300 per bulan bahkan tanpa satu pun pengguna
  • Alternatifnya, menyewa VPS seharga $5–10 per bulan di Linode atau DigitalOcean dan menjalankannya sebagai satu server
  • RAM 1GB pun cukup bila digunakan dengan tepat, dan jika perlu ruang tambahan bisa memakai swapfile
  • Jika hanya ada satu server, lokasi log, penyebab crash, dan cara restart bisa diketahui dengan tepat
  • Alasan memilih VPS alih-alih AWS adalah biaya yang dapat diprediksi dan arsitektur yang sederhana

Mengapa memilih bahasa Go

  • Python atau Ruby menghabiskan setengah RAM hanya untuk boot interpreter dan mengelola worker gunicorn
  • Go memberikan performa yang jauh lebih baik untuk pekerjaan web, memiliki sistem tipe yang ketat, dan pada 2026 merupakan bahasa yang sangat mudah dipahami oleh LLM saat melakukan inferensi
  • Keunggulan utama Go adalah kesederhanaan proses deployment: seluruh aplikasi dikompilasi menjadi satu binary statically linked, dibangun di laptop lalu dikirim ke server dengan scp untuk dijalankan
  • Tidak perlu neraka dependensi pip install atau virtual environment, dan tanpa framework yang bloated pun tetap bisa membangun web server level production
  • Hanya dengan standard library Go, kita bisa menulis server yang menangani puluhan ribu request per detik

Memanfaatkan AI lokal: biaya pekerjaan batch menjadi nol

  • Jika punya kartu grafis di rumah, pada dasarnya Anda sudah memiliki kredit AI tak terbatas
  • Saat membangun eh-trade.ca, dibutuhkan riset saham kualitatif berskala besar dengan menganalisis laporan kuartalan ribuan perusahaan, dan jika memakai API OpenAI biayanya bisa mencapai ratusan dolar
  • Sebagai gantinya, menjalankan VLLM pada RTX 3090 (24GB VRAM) yang dibeli seharga $900 di Facebook Marketplace, sehingga tidak perlu membayar penyedia AI
  • Jalur upgrade AI lokal:
    • Mulai dengan Ollama: setup dengan satu baris perintah (ollama run qwen3:32b), bisa langsung menguji berbagai model, dan sangat cocok untuk iterasi prompt
    • Beralih ke production dengan VLLM: Ollama menjadi bottleneck saat ada request paralel, sedangkan VLLM menggunakan PagedAttention sehingga jauh lebih cepat. Jika mengirim 8–16 request async sekaligus, semuanya diproses batch di memori GPU dengan waktu yang hampir sama seperti memproses 1 request
    • Transformer Lab: saat perlu pretraining atau fine-tuning model, itu bisa dilakukan dengan mudah di hardware lokal
  • Untuk mengelolanya, dikembangkan laconic sendiri: alat riset agen yang dioptimalkan untuk context window 8K, yang melakukan "page out" pada bagian percakapan yang tidak perlu seperti virtual memory manager di OS agar hanya fakta penting yang tetap berada di konteks LLM aktif
  • llmhub: alat yang mengabstraksikan semua LLM sebagai kombinasi provider/endpoint/apikey sehingga input-output teks dan gambar bisa ditangani mulus baik lokal maupun cloud

Mengakses model frontier melalui OpenRouter

  • Tidak semua pekerjaan bisa diproses secara lokal, dan untuk interaksi chat latensi rendah yang berhadapan langsung dengan pengguna, dibutuhkan model penalaran terdepan seperti Claude 3.5 Sonnet atau GPT-4o
  • Alih-alih mengelola akun billing, API key, dan rate limit terpisah untuk Anthropic, Google, dan OpenAI, semuanya disatukan lewat OpenRouter
  • Cukup menulis satu integrasi kode yang kompatibel dengan OpenAI untuk langsung mengakses semua model frontier utama
  • Mendukung fallback routing yang mulus: saat API Anthropic bermasalah, otomatis beralih ke model OpenAI yang setara sehingga pengguna tidak pernah melihat layar error dan tidak perlu logika retry yang rumit

Coding AI yang hemat biaya dengan GitHub Copilot

  • Di tengah model-model mahal baru yang rilis tiap minggu, banyak developer menghabiskan ratusan dolar per bulan untuk langganan Cursor dan API key Anthropic
  • Sebaliknya, bahkan jika memakai Claude Opus 4.6 seharian, biaya bulanan hampir tidak pernah melebihi $60
  • Rahasianya adalah memanfaatkan model harga Microsoft: membeli langganan GitHub Copilot pada 2023 lalu menghubungkannya ke VS Code standar
  • Trik utama Copilot: Microsoft menagih per request, bukan per token, dan satu "request" adalah satu input ke chat box. Meski agen menganalisis seluruh codebase selama 30 menit dan mengubah ratusan file, biayanya hanya sekitar $0,04
  • Strategi terbaik: tulis prompt detail dengan kriteria keberhasilan yang ketat, instruksikan "lanjutkan sampai semua error diperbaiki", lalu jalankan

Menggunakan SQLite sebagai satu-satunya database

  • Saat memulai venture baru, selalu menggunakan sqlite3 sebagai database utama
  • Dari sudut pandang enterprise, orang menganggap perlu database server dalam proses terpisah, tetapi dalam praktiknya file SQLite lokal yang berkomunikasi lewat antarmuka C atau memori beberapa orde lebih cepat dibanding server Postgres jarak jauh yang harus melewati hop jaringan TCP
  • Ada kesalahpahaman soal konkurensi: anggapan bahwa SQLite mengunci seluruh database pada setiap penulisan itu tidak tepat, dan bisa diatasi dengan mengaktifkan Write-Ahead Logging (WAL)
    • Dengan pengaturan PRAGMA journal_mode=WAL; dan PRAGMA synchronous=NORMAL;, operasi baca dan tulis tidak saling memblokir
    • Satu file .db di drive NVMe bisa menangani ribuan pengguna serentak
  • Untuk memudahkan implementasi autentikasi pengguna, dikembangkan library sendiri smhanov/auth: terintegrasi langsung dengan database yang dipakai dan mendukung pendaftaran, sesi, reset password, serta login Google/Facebook/X/SAML

Kesimpulan: membangun startup tanpa infrastruktur rumit

  • Industri teknologi sering mengklaim bahwa membangun bisnis nyata memerlukan orkestrasi yang rumit, tagihan AWS bulanan yang besar, dan venture capital jutaan dolar, padahal tidak demikian
  • Dengan menggabungkan satu VPS, binary hasil static compilation, pekerjaan batch AI di hardware GPU lokal, dan kecepatan mentah SQLite, startup yang skalabel bisa di-bootstrap dengan biaya setara beberapa cangkir kopi per bulan
  • Ini memberi proyek runway tak terbatas, sehingga ada waktu untuk fokus menyelesaikan masalah pengguna alih-alih terus cemas soal burn rate

1 komentar

 
GN⁺ 9 hari lalu
Komentar Hacker News
  • Di lingkungan perusahaan, ada anggapan kuat bahwa harus memakai server DB eksternal, tetapi dalam praktiknya file SQLite lokal jauh lebih cepat daripada Postgres jarak jauh saat berkomunikasi lewat antarmuka C atau memori
    Tentu saja SQLite sangat bagus, tetapi jika terhubung ke Postgres di localhost lewat Unix domain socket, overhead jaringan hampir hilang
    Ini tidak sulit digunakan dibanding SQLite, bisa memanfaatkan semua fitur Postgres, dan jauh lebih mudah untuk menjalankan report, menyiapkan read replica, maupun membangun HA
    Menjalankan Postgres di server yang sama dengan aplikasi adalah pilihan yang sama sekali berbeda levelnya dari overengineering seperti membangun klaster Kubernetes

    • Bahkan di mesin yang sama, SQLite jauh lebih cepat daripada Postgres yang memakai domain socket (contoh 100.000 TPS)
      Saat menjalankan monolithic app di satu mesin, tidak banyak fitur yang diberikan Postgres dibanding SQLite
      SQLite bisa diperluas langsung dengan bahasa aplikasi lewat Application functions, dan berkat Litestream, backup dan replikasi juga jauh lebih baik
      Namun setelan bawaannya kurang bagus, jadi koneksi baca/tulis perlu dipisahkan dan aplikasi harus mengelola write queue sendiri
    • Jika benar-benar menjalankan 100.000 kueri SELECT 1, hasilnya berbeda jauh: Postgres 2,77 detik, SQLite (in-memory) 0,07 detik (tautan benchmark)
    • Saya pernah memakai SQLite dengan ekstensi dalam skenario performa tinggi yang memproses jutaan dokumen per detik
      Ini memang bisa dilakukan dengan server jarak jauh, tetapi akan jauh lebih rumit
      Sebagai gantinya, DB diunggah ke S3 agar tiap instance menerima salinannya dan memprosesnya secara paralel. SQLite adalah alternatif yang terbukti saat yang dibutuhkan adalah performa, bukan sekadar fitur
    • Bukankah ucapan “bisa memakai semua fitur Postgres” justru pendekatan YAGNI (You Ain’t Gonna Need It) yang dikritik TFA?
    • Semakin banyak fitur yang tidak diperlukan, justru semakin menjadi kerugian bersih. DB yang ideal adalah yang hanya menyediakan fitur yang dibutuhkan
  • Banyak orang percaya bahwa sejak awal harus memakai konfigurasi rumit seperti serverless, Kubernetes, multi-zone HA
    Jika kita bilang “cukup jalankan saja di VPS murah,” responsnya biasanya “bagaimana dengan scaling?”, “backup?”, “maintenance?”—padahal itu pada dasarnya hanya mengulang slogan pemasaran cloud
    Sikap seperti ini mendekati learned helplessness

    • Saat bekerja sebagai konsultan, saya sering merancang 25 komponen cloud untuk aplikasi dengan pengguna bahkan belum sampai 200 orang. Semua ini hasil dari pelatihan bahwa ‘cloud = harus rumit’
    • Orang yang menangani pembelian IT rela menghamburkan uang perusahaan agar mereka tidak perlu memahami sistemnya
    • Sekarang saya melihat fenomena yang sama pada workflow berbasis agent. Data pelatihannya penuh dengan codebase untuk tim besar, sehingga proyek kecil pun diarahkan ke struktur raksasa
      Misalnya, SPA sederhana yang hanya berisi beberapa form input malah diberi Shadcn, Tailwind, React, Zod, dan Vite sekaligus. Beban maintenance-nya luar biasa
      Konfigurasi seperti ini mungkin bisa jadi “jawaban yang benar”, tetapi bukan jawaban yang cocok untuk konteksnya
    • “Generasi cloud-native” tidak pernah punya kesempatan belajar apa yang sebenarnya dibutuhkan aplikasi dasar, karena terbiasa dengan paket gratis
    • Meski begitu, saya tetap menganggap backup itu penting
  • Saya memakai Linode atau DigitalOcean dan hanya membayar 5~10 dolar per bulan. RAM 1GB sudah cukup
    Kalau beberapa proyek digabung dalam satu server dedicated, biayanya bisa lebih ditekan lagi
    Misalnya saya memakai server 40 euro per bulan dari lelang server Hetzner, lalu memasang Proxmox untuk menjalankan beberapa VM (tautan Proxmox)
    Bahkan jika membuat 15 VM, biayanya hanya sekitar 2,66 euro per VM, jadi efisiensi biaya dibanding skala sangat tinggi
    Kalau memakai perangkat refurbish, backup wajib dilakukan, tetapi itu memang sesuatu yang tetap harus dikerjakan
    Tempat seperti Hetzner, Contabo, dan Scaleway masih menjadi opsi murah

    • Harga Hetzner memang naik, tetapi OVH menawarkan hardware yang lebih baru di kisaran harga serupa
    • Saya penasaran kenapa memakai VM dan bukan container
    • Saya juga penasaran bagaimana menangani IPv4. Saya ragu apakah menyewa VM besar sebagai hypervisor diizinkan secara komersial
    • Rasanya bukankah menjalankannya langsung sebagai container Docker lebih efisien?
  • Menurut saya, faktor penghematan biaya terbesar dari SQLite adalah mode WAL
    Python atau Node juga bisa dipakai sama baiknya seperti Go. VPS Hetzner dengan RAM 4GB dan jaringan 10TB harganya sekitar 5 dolar per bulan
    Namun, jika memakai server dedicated, Anda harus sering membackup DB dan juga bertanggung jawab sendiri atas keamanan
    Saya menyiapkannya dengan Terraform: akses SSH dibatasi hanya untuk IP saya, lalu memasang Tailscale dan menutup port SSH publik

    • Untuk backup, paling aman memakai storage dari perusahaan yang berbeda dengan penyedia VM. Anda harus tetap bisa memulihkan data meski akun dibekukan
      Saya memakai Backblaze B2, tetapi dengan Restic bisa dengan mudah backup ke layanan lain juga
    • Untuk keamanan SSH, belum tentu perlu konfigurasi yang rumit. Password yang kuat saja bisa cukup
    • Dulu saya pernah membiarkan Postgres terbuka dengan password bawaan dan dalam sehari server itu dibajak menjadi bot server
      Baru-baru ini pun log percobaan SSH menumpuk hanya dalam 1 jam. Sekarang saya menonaktifkan login password dan hanya mengakses lewat Tailscale
      Server yang terekspos ke internet benar-benar berbahaya
    • Sulit dipercaya server bisa terinfeksi lewat SSH hanya dalam satu jam. Kecuali password-nya lemah atau VNC dibiarkan terbuka, rasanya mustahil
    • Saya juga membuang Postgres dan beralih ke SQLite WAL saat memindahkan situs Django saya ke Docker Compose. Hasilnya jadi jauh lebih mudah dikelola dan dibackup
  • Saya rasa batas RAM 1GB tidak perlu. Dengan 20 dolar per bulan, Anda bisa mendapat RAM 8GB dan memakainya untuk cache atau DB
    Selisih 15 dolar tidak berdampak besar pada operasional bisnis. Pola pikir yang memaksa semuanya masuk VPS 5 dolar tidak membantu pertumbuhan bisnis

    • Tapi 15 dolar juga bukan uang kecil. Kalau 1GB sudah cukup, tidak ada alasan untuk mengeluarkan lebih banyak
      Dulu LAMP stack juga berjalan baik dengan 128MB, dan situs web sekarang pun tidak serumit itu
    • Latensi baca NVMe ada di kisaran 100µs, jadi dengan SQLite pun Anda bisa menangani ratusan request per detik
      Bahkan 17 juta request per hari tanpa cache masih bisa ditangani, jadi menaikkan infrastruktur 4x sebelum dibutuhkan hanyalah pemborosan
    • Alasan sebenarnya dari batas 1GB adalah latihan untuk menghindari overengineering dan fokus pada nilai bagi pelanggan
    • Sistem modern jauh lebih efisien dalam penggunaan RAM berkat kompresi halaman dan swap NVMe.
      Model Macbook Neo 8GB adalah contoh yang bagus untuk itu
    • Saya juga setuju selisih 15 dolar tidak besar, tetapi intinya memang ada pada meminimalkan biaya hosting
  • WebSequenceDiagram tampak seperti produk yang keren
    Namun yang lebih sulit daripada implementasi teknis adalah menemukan masalah yang benar-benar bernilai dan menjangkau pengguna. Di situlah nilai yang sebenarnya

    • Saya juga memikirkan hal yang sama. Setelah bekerja dan menghabiskan waktu bersama keluarga, rasanya waktu sehari tidak pernah cukup. Tetapi saat mengetahui masalah di domain tertentu, solusinya terlihat begitu jelas
    • Produk pesaing juga sudah banyak. Misalnya yang seperti Excalidraw
  • Saya berlangganan GitHub Copilot pada 2023, menghubungkannya ke VS Code, dan terus memakainya sejak itu
    Hal pentingnya adalah Microsoft menerapkan penagihan per request. Dengan satu request, walau seluruh kode diperbaiki selama puluhan menit, saya hanya membayar sekitar 0,04 dolar
    Jadi saya menulis prompt yang sangat spesifik, menyuruhnya “teruskan sampai semua error terselesaikan,” lalu saya pergi minum kopi. Rasanya seperti Satya Nadella mensubsidi biaya komputasi saya

    • Tetapi ada kasus akun dibekukan karena menyalahgunakan sistem per request seperti ini (kasus di Reddit)
    • Penulis menyebut GPT‑4o dan Sonnet 3.5 sebagai SOTA, jadi tip AI-nya sebaiknya dilihat dengan sedikit skeptis
    • (Komentar dihapus) mengatakan dia tidak tahu kenapa mendapat downvote
  • Saya tidak belajar hal baru dari tulisan ini. Sebagian besar terasa seperti saran dasar yang dibungkus AI
    Dari judulnya saya kira isinya akan membahas mencari ide dan melakukan peluncuran yang sukses

    • Kalau judulnya seperti “dengan kurang dari $5 per bulan,” wajar jika isinya saran dasar. Namun ternyata masih banyak orang yang belum tahu hal-hal seperti ini
    • Kalau begitu, saya sarankan memulai blog. Pengetahuan yang Anda anggap dasar bisa jadi hal baru bagi orang lain
    • Saya juga akan dengan senang hati mengeluarkan 5.000 dolar per bulan kalau bisa menghasilkan 10.000 dolar. Masalahnya adalah menemukan cara menciptakan pendapatan
    • Kalimat seperti “butuh penalaran mutakhir dari Claude 3.5 Sonnet atau GPT‑4o” adalah jejak tulisan AI
    • Namun inflasi resource yang dibicarakan penulis memang nyata. Saya sering melihat pekerjaan yang cukup diselesaikan dengan skrip Python sederhana malah dipaksakan memakai AWS dan Spark secara berlebihan
  • Bagi yang penasaran seperti saya, MRR berarti “Monthly Recurring Revenue (pendapatan berulang bulanan)”

    • Mengejutkan bahwa ada orang yang sudah bergabung 16 tahun tetapi tidak tahu MRR
    • Ada juga ARR (Annual Recurring Revenue), tetapi biasanya itu hanya angka MRR yang dikalikan 12 agar terlihat lebih besar.
      Saya bahkan pernah melihat orang baru beroperasi dua bulan lalu sudah mengumumkan ARR
  • Dalam banyak kasus, pola pikir yang berpusat pada cloud secara tidak perlu meningkatkan kompleksitas dan biaya
    Sebagian besar proyek sebenarnya sudah cukup dengan VPS kelas menengah
    Perusahaan kami dulu bisa menjalankan halaman untuk 600.000 pengguna dengan VPS 30 euro, tetapi setelah pindah ke AWS kami membayar 800 euro per bulan. Tidak ada manfaat sama sekali
    Jika tidak ada alasan khusus, lebih baik mempertahankan pendekatan server sederhana yang sudah bekerja baik selama puluhan tahun
    Sebagai referensi, saya dengar StackOverflow juga dijalankan hanya dengan beberapa root server yang kuat