7 poin oleh GN⁺ 2023-07-17 | 1 komentar | Bagikan ke WhatsApp
  • Penjelasan pengaturan penulis untuk mengoperasikan server dan infrastruktur internet
  • Lebih memilih menjalankan perangkat lunak server pada mesin virtual atau server fisik alih-alih solusi cloud
  • Penulis menggunakan VM (mesin virtual) DigitalOcean untuk layanannya dan menjalankan Debian 10
  • Perangkat lunak server ditulis dalam Rust dan dikompilasi menjadi satu berkas biner
  • Menggunakan systemd agar berkas biner dijalankan saat server mulai
  • Program yang memerlukan basis data menggunakan SQLite dengan solusi pencadangan redundan
  • Semua server dijalankan di belakang nginx untuk terminasi TLS dan penyajian berkas statis
  • Konfigurasinya sederhana, tangguh, dan memerlukan perawatan minimal
  • Menjalankan beberapa layanan pada VM yang sama dimungkinkan melalui isolasi menggunakan akun pengguna Unix
  • Penyiapan proyek baru dilakukan dengan membuat pengguna baru, menambahkan virtual host nginx, menambahkan unit systemd, dan menjalankan skrip deployment
  • Perubahan infrastruktur dilakukan secara perlahan untuk memberikan stabilitas dan prediktabilitas
  • Penulis menyampaikan terima kasih kepada Julia Evans karena telah mendorongnya menulis artikel ini

1 komentar

 
GN⁺ 2023-07-17
Opini Hacker News
  • Fungsi cloud yang dipicu HTTP adalah pilihan populer untuk menyederhanakan pengelolaan server dan mengurangi kompleksitas.
  • Menjalankan tiap layanan dengan akun pengguna Unix yang unik memberikan isolasi dan keamanan.
  • Menggunakan fitur DynamicUser milik systemd dapat menyederhanakan proses konfigurasi dan menghemat waktu.
  • Banyak pengembang menggunakan VM Linode dan Debian GNU/Linux untuk situs web pribadi maupun proyek.
  • Common Lisp adalah pilihan bahasa yang populer untuk menulis perangkat lunak dalam pengaturan seperti ini.
  • Nginx umum digunakan sebagai reverse proxy dan layanan berkas statis.
  • Kontainer Docker dan docker-compose adalah opsi alternatif untuk menjalankan layanan.
  • Failover dan uptime adalah pertimbangan penting di lingkungan produksi.
  • Langkah keamanan seperti backup, aturan firewall, dan autentikasi SSH berbasis kunci umumnya diterapkan.
  • Skrip deployment dan version control berguna untuk mengelola pembaruan aplikasi dan rollback.
  • Variabel lingkungan, batas pembukaan file, dan konfigurasi logging adalah pertimbangan penting dalam pengaturan layanan.
  • PostgreSQL, NGINX, Redis, dan Node.js adalah komponen perangkat lunak yang umum digunakan.
  • Dokku adalah alat populer untuk mengelola deployment dan menambahkan plugin.
  • Sebagian pengembang lebih menyukai pengaturan yang lebih sederhana dengan satu server dan akun pengguna Linux standar.
  • Karena kompleksitas dapat menyebabkan ketidakstabilan dan downtime, kesederhanaan sering lebih disukai kecuali kompleksitas tertentu memang diperlukan.