33 poin oleh GN⁺ 2025-06-18 | 1 komentar | Bagikan ke WhatsApp
  • Platform open source yang dibuat agar developer solo pun bisa memanfaatkan Kubernetes dengan mudah, menawarkan kemudahan yang mirip Heroku
    • Berjalan di lingkungan Docker dan Docker Compose, serta dapat diinstal dan dijalankan dengan perintah sederhana
  • Dikembangkan untuk mengatasi masalah kenaikan biaya TI yang tak terduga yang dialami di startup sebelumnya
  • Alih-alih fitur yang rumit, platform ini mengejar kesederhanaan dengan hanya mengekspos elemen inti seperti Ingress, Services, Deployments, Pods, CronJobs, dan lainnya
  • Melalui Helm, hampir semua aplikasi open source dapat di-deploy, dan konfigurasi YAML dapat diunduh sehingga keluar dari Canine juga memungkinkan
  • Dengan melengkapi fitur yang tidak tersedia secara bawaan di Kubernetes, seperti akun, deployment, dan dashboard, platform ini ditujukan sebagai platform pengembangan yang cocok untuk tim kecil

Ikhtisar

  • Canine adalah platform deployment Kubernetes open source yang dirancang agar aplikasi dapat di-deploy semudah di Heroku
  • Berjalan di atas klaster Kubernetes sendiri, dan bila perlu konfigurasi YAML dapat diunduh sehingga operasi yang terdesentralisasi juga dimungkinkan
  • Dengan hanya mengekspos resource inti seperti Ingress, Services, Deployments, Pods, CronJobs, platform ini memberikan pengalaman penggunaan yang sederhana dan intuitif

Latar masalah: struktur yang kompleks dan biaya yang melonjak

  • Dari pengalaman menjalankan startup sebelumnya, biaya TI meningkat jauh lebih cepat dari perkiraan
  • Biaya terutama meningkat seiring kompleksitas organisasi dan bertambahnya layanan yang terintegrasi, dan dalam banyak kasus tidak berkaitan dengan penggunaan server atau komputasi
  • Alat pihak ketiga berikut menumpuk dan membuat biaya TI melonjak cepat:
    • alat terkait data seperti Looker, Redshift, Databricks, DBT Cloud, FiveTran
    • alat monitoring seperti Datadog, New Relic, Sentry
    • alat infrastruktur seperti Google Maps API, AWS
  • Sebagian memang bisa diganti dengan open source, tetapi adopsinya dihindari karena beban menyusun infrastruktur operasional seperti monitoring, health check, dan notifikasi

Potensi dan batasan Kubernetes

  • Kubernetes adalah platform yang dapat diskalakan dari satu node hingga ribuan klaster, dan tersedia sebagai standar di hampir semua cloud
  • Namun bagi pemula dan tim kecil, platform ini dipandang sebagai sistem yang rumit dan mudah rusak
  • Khususnya, kesalahan seperti menghapus CoreDNS dapat membuat seluruh klaster tidak berfungsi
  • Ketika biaya dan kompleksitas operasional menumpuk, PaaS terabstraksi yang sudah ada justru bisa menjadi penghambat

Fitur Canine

  • Dengan hanya mengekspos fitur minimum yang dibutuhkan dari Kubernetes, Canine menghadirkan kesederhanaan dan kontrol
  • Kekurangan yang ada dilengkapi dengan fitur-fitur berikut:
    • manajemen akun
    • manajemen deployment
    • menjalankan skrip one-off sederhana
    • dashboard metrik
  • Melalui platform deployment yang intuitif, bahkan pemula dapat dengan mudah men-deploy aplikasi ke lingkungan Kubernetes
  • Selama Docker dan Docker Compose sudah siap, instalasi dan menjalankan sistem bisa dilakukan dengan satu perintah
  • Menyediakan lingkungan manajemen berbasis UI yang mengurangi beban konfigurasi dan pemeliharaan Kubernetes yang rumit
  • Melalui integrasi Helm, aplikasi open source seperti Sentry juga dapat di-deploy dengan mudah

Migrasi dan kebebasan

  • Canine digunakan di atas Kubernetes yang sudah ada, sehingga mudah juga untuk keluar darinya
  • Semua konfigurasi dapat diunduh sebagai YAML, sehingga migrasi ke platform lain di kemudian hari juga mudah

Pentingnya dan pembeda

  • Dibandingkan alat Kubernetes pada umumnya, Canine menawarkan UI yang ramah pemula dan proses instalasi yang mudah
  • Dengan membawa pengalaman penggunaan mirip Heroku ke ekosistem Kubernetes, hambatan masuk dapat diturunkan secara signifikan
  • Berbasis open source, sehingga memungkinkan ekstensibilitas yang fleksibel dan peningkatan yang berpusat pada komunitas
  • Diperkirakan sangat efektif karena bahkan tim pengembang kecil atau startup dapat dengan mudah memanfaatkan keunggulan Kubernetes
  • Bebas digunakan, didistribusikan, dan dimodifikasi di bawah Apache 2.0 License

1 komentar

 
GN⁺ 2025-06-18
Opini Hacker News
  • Saya termasuk orang yang selalu mencari solusi yang lebih baik untuk mewujudkan “pengalaman mirip Heroku” di server saya sendiri, jadi saya senang sekali melihat ini
    Dokumentasi Kubernetes milik Canine sangat mudah diakses, terasa sebagai salah satu yang paling ramah yang pernah saya lihat
    Saat membaca dokumentasinya saya jadi penasaran: saya sempat berharap Canine bisa dipakai juga di lingkungan managed K8s seperti Digital Ocean, tetapi setelah dibaca kesannya saya tetap harus mengelola klaster K8s sendiri
    Ada beberapa pertanyaan

    1. Saat membuat “Cluster” di Hetzner, apakah ini benar-benar klaster K8s sungguhan yang mencakup beberapa mesin, atau hanya pembagian virtual dari satu mesin saja?
    2. Jika skrip instalasi dijalankan di server lain, apakah server itu akan bergabung ke klaster sehingga menjadi konfigurasi server terdistribusi sungguhan yang meng-host pod secara tersebar?
    3. Apakah Canine bisa dipasang di atas managed K8s yang sudah ada untuk deployment?
    • Saat ini Canine mendukung dua jenis konfigurasi
      1. Berjalan di satu Hetzner VPS
      2. Digunakan di klaster Kubernetes yang sudah ada
        Umumnya nomor 1 dipakai untuk aplikasi staging/pengembangan, dan nomor 2 untuk aplikasi produksi
        Untuk nomor 2, jumlah node dikelola di Digital Ocean atau layanan serupa, lalu Kubernetes akan otomatis melakukan rescheduling workload dan memanfaatkan autoscaling
        Ini tampaknya inti dari pertanyaannya, tetapi Canine saat ini memang belum mendukung pembuatan klaster multinode secara langsung di lingkungan Hetzner
        Ada juga terraform Hetzner untuk membuat klaster K8s, tetapi itu belum terintegrasi di Canine
        Setelah peningkatan UI dan hal lainnya selesai, ada minat ke arah sana
        Untuk saat ini, asumsinya adalah Canine membantu lewat panduan instalasi K3s satu VPS, atau digunakan ketika klaster sudah siap
        Referensi: terraform-hcloud-kube-hetzner
  • Sebagai orang yang merasa proyek seperti ini memang sangat dibutuhkan, saya mendukung penuh
    Kalau hari ini, saya mungkin akan mempertimbangkan Canine atau Dokploy (menurut saya Docker Swarm juga teknologi yang diremehkan)
    Masukan: bagian “mengapa Anda tidak seharusnya memakai Canine” tadinya saya kira akan terasa segar karena jujur, tetapi nuansanya agak terdengar menyindir dan kurang nyaman
    Akan lebih baik kalau ditulis secara lugas saja: Anda harus membeli dan mengelola server sendiri, Anda yang bertanggung jawab jika down, dan ini adalah produk tahap awal dari pengembang tunggal—kelemahan praktis seperti itu yang sebaiknya dijelaskan dengan jelas

    • Saya penasaran bagaimana status pemeliharaan dan dukungan Docker Swarm saat ini
      Beberapa tahun lalu saya berhenti mengikutinya karena rasanya tim Docker saat itu sudah menghentikan pengembangannya

    • Saya menulisnya seperti itu agar berbeda dari landing page lain, tetapi saya sangat menghargai masukan dari pengguna nyata
      Saya akan mencoba lagi

  • Membagikan daftar yang mengumpulkan berbagai platform PaaS yang ada di luar sana
    awesome-paas

  • Pertanyaan untuk OP (penulis)
    Saya penasaran apa latar belakang yang membuat Anda membangun proyek seperti ini
    Saya punya keinginan untuk membuat sesuatu yang kompleks dari awal sampai akhir, tetapi pengalaman saya sejauh ini baru sebatas integrasi API dan React
    Saya ingin tahu bagaimana proses memecah ide yang rumit menjadi daftar tugas yang realistis hingga akhirnya benar-benar menjadi proyek open source “alternatif Heroku”
    Saya sendiri hampir tidak punya pengalaman memakai Heroku, jadi saat mencoba menentukan “fitur apa yang harus dibuat”, saya mungkin akan melihat hal-hal seperti halaman harga, tetapi saya khawatir pendekatan itu tidak efisien

  • Alternatif Heroku berbasis Kubernetes terdengar menarik
    Tetapi kalau untuk memakainya saya tetap harus paham K8s atau Helm chart, maka bagi saya itu pada dasarnya bukan alternatif Heroku
    Tentu saya paham bahwa dari sudut pandang operator, mungkin itu bisa terasa sesederhana echo hello
    Saya hanya ingin, saat perlu mengunggah sesuatu secepat mungkin, saya bahkan tidak perlu memikirkan kata “Kubernetes dan Helm chart” sama sekali

    • Itulah tepatnya tujuan Canine
      Pengguna bahkan tidak perlu tahu bahwa Kubernetes itu ada, tetapi tetap bisa menikmati ekosistemnya yang matang
      Kapan pun butuh fitur yang lebih kuat, mereka juga bisa langsung membuka dan menggunakan kemampuan tingkat lanjut seperti Kubernetes API
  • Catatan kecil
    Kubernetes tidak menjalankan container Docker, melainkan container yang sesuai dengan spesifikasi Open Container Initiative (OCI)
    Docker adalah merek dagang

    • Catatan kecil lain:
      Di Canine Kubernetes Crash Course tertulis bahwa Kubernetes mendukung “10 ribu server”, padahal secara resmi Kubernetes disebut mendukung hingga 5 ribu node
      Lihat dokumentasi resmi Kubernetes
      Klaster yang jauh lebih besar memang mungkin, tetapi akan butuh banyak kustomisasi besar-besaran (misalnya mengganti seluruh API registry)
      Tentu workload juga berpengaruh
      Kubernetes masih belum benar-benar mendukung klaster besar secara out-of-the-box, tetapi ia terus berkembang di setiap rilis

    • Saya pribadi tidak suka kalau Docker diwajibkan
      Sekarang saya lebih sering menjalankan semuanya dengan podman atau containerd ketimbang docker

  • Membangun proyek ini benar-benar sangat menyenangkan, dan ini adalah pengembangan paling seru dalam hidup saya
    Rasa puas karena bisa menggenggam seluruh “tech stack” dalam satu tangan itu luar biasa
    Mulai dari Rails app, infra Canine, server Raspberry pi, sampai ISP yang saya pakai
    Saya membagikan pengalaman menjalankan aplikasi sambil mengelola semuanya sendiri

  • Di situs web, lisensinya tertulis MIT License 2024
    tetapi di GitHub justru tertulis apache license
    Bagi saya ini perbedaan yang lebih penting daripada sekadar tahunnya benar atau tidak
    Saya ingin tahu lisensi mana yang sebenarnya berlaku

  • Dalam self-hosting, saya ingin sesuatu di tengah-tengah antara docker dan K8s, jadi saya juga pernah mencari hal serupa sendiri
    Saya sempat mempertimbangkan Nomad, tetapi tetap sedikit lebih rumit daripada docker yang benar-benar dead simple, dan ekosistemnya juga kurang
    Akhirnya home server saya tetap hanya menjalankan docker, dan saya menerima downtime saat deployment
    Untuk produksi, saya penasaran sejauh mana Canine mengabstraksikan K8s
    Apakah nantinya tetap akan ada kebutuhan untuk melihat ke dalam, karena saya masih pemula di K8s dan bertanya-tanya apakah posisi tengah seperti itu benar-benar memungkinkan

    • Saya juga sedang mengembangkan alat yang posisinya di antara Docker dan Kubernetes
      uncloud
      Tujuannya adalah menghadirkan CLI ala Docker dan kemampuan multi-mesin/produksi ala Docker Compose, sambil tetap sederhana tanpa control plane operasional
      Masih dalam pengembangan, tetapi tujuannya adalah agar apa yang terjadi di setiap lapisan mudah dipahami, dan troubleshooting juga mudah
  • Saya sangat suka konsepnya
    K8s adalah teknologi yang hebat, tetapi kompleksitasnya menjadi hambatan masuk
    Dari materi publik yang ada, terlihat bahwa esensinya dipahami dengan baik
    Ini tampaknya akan sangat berguna terutama di ranah self-hosting tempat solusi seperti PVE, Microcloud, dan Cockpit populer
    Saya punya N100 NUC nganggur di rumah, dan sekarang jadi tertarik mencoba Canine alih-alih melanjutkan Microcloud

    • helm kadang memang merepotkan
      Membingungkan mana nilai yang cukup diubah di values.yaml lalu diterapkan, dan mana yang harus disetel sejak awal
      Beberapa instalasi helm memiliki terlalu banyak service, sehingga membingungkan apa yang aman direstart dan kapan
      Sebaliknya, core kubernetes terasa sangat nyaman untuk stateless job

    • Saya sekarang tidak tahu lagi dari mana istilah “kompleksitas” K8s berasal
      Dulu memang ada masa setup dua jam dengan kubespray dan semacamnya
      Tetapi sekarang, dengan alat seperti rke, Anda bisa membuat klaster hanya dengan satu file yaml dan satu SSH key saja