Kami telah menyiapkan server yang menjalankan infrastruktur untuk asosiasi kecil. Sejauh ini, kami sudah mencoba mengelola konfigurasi dengan Ansible, tetapi itu belum berhasil. Mungkin kita salah melakukannya.
Pada prinsipnya, idenya adalah bahwa server ini akan dibiarkan sendirian sebagian besar waktu, dengan orang-orang menambahkan atau mengubah sesuatu sekali dalam bulan biru. Ini membuatnya penting bahwa apa pun yang dikonfigurasikan dan berjalan di server didokumentasikan dengan baik dan jelas, karena orang yang tidak mengadministrasi sistem sering kali akan kehilangan gambaran umum (apalagi mengingat detailnya). Selain itu, seiring berjalannya waktu, komposisi grup orang yang akan mengelola server ini akan berubah (ketika orang pergi dan bergabung dengan 'komite').
Kami mulai dengan instalasi yang bersih, menambahkan peran yang memungkinkan setiap kali kami ingin mengatur sesuatu (nginx, phpfpm, postfix, firewall, sftp, munin, ..). Mungkin karena kurangnya pengalaman kami, kami tentu saja tidak pernah dapat mengetik satu set tugas yang mungkin dilakukan persis seperti yang kami butuhkan dalam sekali jalan, juga karena konfigurasi adalah sedikit proses coba-coba. Itu berarti bahwa dalam praktiknya, kami biasanya akan mengkonfigurasi layanan apa pun yang ingin kami jalankan di server , dan kemudian menerjemahkannya ke tugas yang mungkin. Anda bisa melihat ke mana arah ini. Orang-orang lupa untuk menguji tugas itu, atau takut melakukannya dengan risiko melanggar sesuatu, atau lebih buruk lagi: kita lupa atau lalai menambahkan hal-hal yang mungkin.
Hari ini, kami memiliki keyakinan yang sangat kecil bahwa konfigurasi yang ada benar-benar mencerminkan apa yang dikonfigurasikan di server.
Saat ini saya melihat tiga masalah utama:
- Sulit untuk (baca: kami tidak memiliki cara yang baik untuk) menguji tugas-tugas yang mungkin dilakukan tanpa mempertaruhkan banyak hal.
- Ini menambah pekerjaan tambahan untuk mencari tahu konfigurasi yang diinginkan, dan kemudian mencari cara menerjemahkan ini ke tugas yang mungkin.
- (Idealnya,) kita tidak cukup sering menggunakannya untuk membangun keakraban dan rutinitas.
Pertimbangan penting di sini adalah bahwa untuk apa pun yang akhirnya kita lakukan, seharusnya mudah bagi pendatang baru untuk mempelajari tali tanpa satu ton latihan.
Apakah ada alternatif lain yang masih memberikan beberapa jaminan dan pemeriksaan (sebanding dengan menggabungkan file yang mungkin dengan beberapa master
) yang "mengkonfigurasi hal-hal dan menuliskan apa yang Anda lakukan" gagal memberikan?
EDIT: Kami telah mempertimbangkan /etc
untuk berkomitmen pada git. Apakah ada cara yang masuk akal untuk melindungi rahasia (kunci privat, dll) seperti itu, tetapi entah bagaimana masih ada repositori konfigurasi yang tersedia di luar server?