- Self-hosting yang mudah: Dirancang agar instalasi dan pemeliharaan dapat dilakukan dengan upaya seminimal mungkin. Aplikasi dibuat agar dapat berjalan tanpa perlu menyelesaikan masalah internal yang rumit.
- Skalabilitas horizontal: Dengan arsitektur yang sederhana namun kuat, Lapdev dapat diskalakan dari satu mesin hingga armada server, sehingga menyediakan sistem manajemen lingkungan pengembangan yang dapat tumbuh seiring pertumbuhan tim pengembang.
- Lingkungan pengembangan yang didefinisikan sebagai kode: Menggunakan spesifikasi terbuka Devcontainer, lingkungan pengembangan dapat didefinisikan sebagai kode, sehingga lingkungan standar dapat direplikasi di antara para pengembang untuk mencegah masalah terkait lingkungan dan memastikan konfigurasi yang konsisten bagi semua orang.
- Menghemat waktu onboarding: Saat melakukan onboarding pengembang ke proyek baru, tidak perlu menghabiskan waktu berjam-jam atau berhari-hari untuk menyiapkan lingkungan di mesin mereka. Bisa langsung mulai menulis kode.
Fitur yang direncanakan
- Dukungan untuk berbagai jenis workspace: Saat ini Lapdev hanya mendukung workspace berbasis container, tetapi ini memiliki keterbatasan, misalnya ketika ingin menjalankan cluster k8s dalam alur pengembangan. Dukungan untuk VM dan mesin bare metal ada dalam roadmap, dan dukungan untuk berbagai OS seperti Windows, Linux, dan macOS juga sedang direncanakan. Dengan demikian, pengembang dapat melakukan pengembangan dan debugging di mesin lokal yang sama tanpa perlu berpindah mesin.
Opini GN⁺
- Lapdev adalah alat yang memudahkan pengembang menyiapkan dan mengelola lingkungan pengembangan jarak jauh di server atau cloud mereka sendiri, dan dapat meningkatkan efisiensi dengan memungkinkan standardisasi lingkungan pengembangan serta onboarding yang cepat.
- Alat seperti ini dapat sangat berguna terutama bagi tim pengembangan berskala besar atau organisasi yang menjalankan berbagai proyek secara bersamaan, karena memberikan skalabilitas sambil menjaga konsistensi lingkungan pengembangan.
- Namun, sebelum mengadopsi teknologi ini, mungkin ada hal-hal yang perlu dipertimbangkan terkait keamanan, kompatibilitas, dan dukungan, serta beban pemeliharaan tambahan yang dapat timbul dari penggunaan solusi self-hosted.
- Saat ini di pasar sudah ada alat lain yang menawarkan fungsi serupa, seperti Remote Development Extensions milik Visual Studio Code, dan pengguna perlu memilih alat yang paling sesuai dengan kebutuhan mereka.
- Fakta bahwa Lapdev merencanakan dukungan untuk VM dan mesin bare metal dapat dilihat sebagai bagian dari upayanya untuk memenuhi beragam kebutuhan lingkungan pengembangan, yang akan memberi pengembang pilihan yang lebih luas.
1 komentar
Komentar Hacker News
Kemampuan menggunakan container pengembangan (devcontainers) di perangkat keras server lokal tanpa biaya bulanan terdengar sangat bagus. Sejauh ini saya menggunakan Docker-compose dan pengembangan SSH jarak jauh dari JetBrains, tetapi saya berharap cara baru ini akan jauh lebih baik.
Saya tertarik pada lingkungan pengembangan jarak jauh, tetapi tidak terlalu antusias untuk mengelola lebih banyak perangkat lunak di cloud. Saya menganggap ini ide yang bagus karena dengan Skypilot, ada plugin ke API cloud sehingga kita bisa menjalankan mesin pengembangan tanpa harus mengelola klaster k8s. Ini bekerja lebih baik untuk menjalankan server Jupyter, tetapi tampaknya mesin pengembangan yang “lengkap” juga bisa dilakukan hanya dengan beberapa konfigurasi SSH/VS Code.
Lingkungan pengembangan jarak jauh mungkin terbatas untuk jenis pengembangan tertentu. Misalnya, pengembangan aplikasi iOS dan Android bisa merepotkan, atau pada pengembangan game yang membutuhkan GPU, pengunduhan artefak build bisa lambat. Saya penasaran apakah ada panduan untuk mengatasi hal ini.
Saya ingin mengetahui lebih banyak tentang alat-alat seperti ini. Saya melihat bahwa Coder menyertakan dukungan alfa untuk .devcontainer, tetapi saya tidak tahu opsi OSS lainnya.
Jika menggunakan pengaturan Proxmox, Anda bisa menggandakan VM/container yang sudah ada lalu cukup mengarahkannya ke VSCode. Jadi sebenarnya ini menambahkan apa? Bukan otomatisasi (beberapa klik di Proxmox bisa diotomatisasi), juga bukan pengelolaan sumber daya (Proxmox menangani penyimpanan dan sebagainya). Apakah identitas pengembang? Jika itu satu-satunya yang dibutuhkan, maka seharusnya cukup membuat skrip (yang relatif sederhana) untuk mendistribusikan kunci SSH ke lingkungan tersebut.
Dari pengalaman saya harus memasang code-server, yaitu VSCode yang di-host di mesin jarak jauh, bersama SSH, pengalaman yang keduanya lebih terkelola terasa sangat menarik.
Implementasi lain di bidang ini adalah devpod.sh.
Saya memberi saran desain untuk menempatkan teks tombol di tengah agar terlihat seperti tombol. Jika teks diratakan ke kiri, itu bisa terlihat seperti label, jadi ini perubahan kecil tetapi bisa menghasilkan konversi yang lebih baik.
Saya paham ini dipasang di server jarak jauh. Tetapi apakah ini menyediakan lingkungan jarak jauh, atau lingkungan lokal? Dan apa arti “lingkungan” dalam konteks ini? Apakah file Docker compose dan .env? Kode atau pengaturan vim? VM seperti Vagrant?
Masalah utama devcontainers saat ini adalah ketika menjalankan aplikasi GUI secara jarak jauh, GUI hanya terbuka di server. Saya penasaran apakah solusi ini bisa mengekspor GUI secara jarak jauh.