Kuberian: Layanan pencarian bahasa alami untuk kode sumber Kubernetes menggunakan LLM
(kuberian.pages.dev)[Perkenalan]
Kuberian = Kubernetes + Librarian
Ini adalah proyek mainan yang saya buat dengan nuansa seperti "pustakawan Kubernetes".
[Kegunaan]
Tujuannya adalah menemukan dengan cepat fungsi yang melakukan peran yang saya inginkan di antara lebih dari 40 ribu fungsi yang ada di repositori Kubernetes.
[Cara pakai]
Jika Anda menulis kalimat dalam bahasa Inggris yang cocok diawali dengan that, layanan ini akan menemukan fungsi yang paling mirip.
[Contoh pencarian]
- makes scaling decision link
- Kueri yang digunakan untuk mencari tahu berdasarkan apa keputusan autoscaling dibuat
- checks if the system supports IPVS link
- Kueri yang digunakan saat mencari fungsi yang memeriksa apakah sistem mendukung IPVS
- make requests for checking readiness of the container link
- Kueri yang digunakan saat mencari fungsi yang mengirim request untuk Readiness Probe
Kurang lebih, jika Anda melemparkan kalimat berupa anak klausa setelah that, layanan ini akan menemukan fungsi yang paling mirip secara cukup baik.
[Alasan membuatnya]
Kadang dokumentasi Kubernetes ditulis agak ambigu, sehingga saya perlu mencari kode implementasinya. Tetapi karena skala proyeknya sangat besar, mencari satu per satu secara manual terasa merepotkan, jadi saya membuat ini.
[Tech stack]
- Llama 2
- Rust
- eui (Elasticsearch UI)
- Knative w/ Google Cloud Run
[Kesan]
Setelah memakai Google Cloud Run, hari-hari ketika saya dulu pusing memikirkan AWS Lambda terasa bodoh. Ini terasa seperti salah satu teknologi cloud yang paling diremehkan, dan harganya juga mengejutkan murah, jadi cobalah sekali!
4 komentar
Proyeknya keren! Bagaimana kalau coba dipromosikan juga di tempat lain selain GeekNews?
Dan saya juga ingin mendengar lebih banyak pemikiran Anda tentang CloudRun
Pendapat saya tentang CloudRun saya tinggalkan di komentar di bawah. :-)
Di Hacker News, ini saya rilis lebih awal untuk melihat sekilas pola pengguna hehe
(saat ini menggunakan Google Analytics.)
Kalau ada komunitas lain yang Anda rekomendasikan, boleh beri tahu? Saya juga tidak terlalu banyak terpikir tempat lain.
Wah, ini proyek yang menarik!
Dibandingkan AWS Lambda, aspek apa dari Google Cloud Run yang terasa lebih memuaskan? Saya juga baru pernah memakai Lambda, jadi penasaran.
Nanti saya berencana menjelaskannya lebih rinci dalam bentuk tulisan blog dan semacamnya, tetapi kalau hanya dibatasi pada lingkungan HTTP API, untuk sementara saya ambil beberapa poin singkat saja.
HTTP
Lambda: perlu mengimplementasikan logika yang menerima RPC call dari API Gateway lalu memproses request
Cloud Run: komunikasi HTTP biasa / library atau framework berbasis HTTP bisa langsung digunakan apa adanya
Concurrency
Lambda: satu instance tanpa pengecualian hanya bisa memproses satu request pada satu waktu (jika 100 request masuk sekaligus, maka 100 instance harus dijalankan)
Cloud Run: satu instance bisa memproses secara bersamaan hingga batas yang ditentukan pengguna
Penjelasan tambahan: dibandingkan Lambda, Cloud Run sekitar 1,5 kali lebih mahal per jam, tetapi jika satu instance mengizinkan concurrency 100, maka biayanya bisa menjadi sekitar 1,5/100 kali lebih murah
Cold / Warm / Hot
Lambda: selain Cold dan Hot, ada status Warm yang tidak memberikan resource CPU. Ini membuat pengiriman hal seperti informasi APM menjadi sangat sulit (karena biasanya merugikan kalau kecepatan respons melambat hanya untuk mengirim informasi APM...) Hal seperti DB Connection juga bisa terputus saat status Warm, atau resource tidak dibersihkan dengan benar sehingga seluruh DB Connection Pool bisa habis terpakai
Cloud Run: hanya ada Cold dan Hot. Meskipun begitu, kalau dalam istilah AWS, penagihannya hanya sebesar waktu respons API Gateway. Saat terminasi, layanan ini juga memberi kesempatan untuk pembersihan resource secara normal
Lingkungan pengembangan
Lambda: sangat rumit membangun lingkungan pengembangan di lokal, atau ada keterbatasan besar pada ekosistem bahasa / arsitektur CPU
Cloud Run: sama dengan lingkungan pengembangan biasa
Portabilitas
Lambda: kode yang ditulis untuk Lambda menjadi bergantung pada Lambda sehingga sulit dipindahkan ke platform lain
Cloud Run: bisa dipindahkan ke lingkungan Kubernetes tanpa perubahan kode
Masih banyak lagi selain ini, tetapi saya pilih beberapa poin yang biasanya mudah dirasakan dan disetujui orang saja hehe