Di mana saya bekerja saat ini, kita harus mengelola bagian Linux dari server farm kami yang hanya lebih dari 300 server Linux. Ini termasuk HP Proliants, diikuti oleh IBM 3850s, beberapa blade IBM, VMware ESX, dan beberapa KVM untuk server manajemen internal kami.
tukang sepatu
Kami melihat tukang sepatu tetapi masalahnya ada tukang sepatu sangat RHEL / Red Hat khusus. Setidaknya kita perlu mendukung RHEL dan SLES, dan Ubuntu berikutnya.
wayang
Kami memang mempertimbangkan boneka, namun kemudian memutuskan untuk tidak melakukannya karena itu tergantung pada Ruby, yang berarti bahwa pemutakhiran Ruby, berpotensi merusak sistem manajemen kami.
hotwire
Hotwire adalah apa yang kami gunakan (dikembangkan secara internal, tetapi merupakan open-source), dan telah melakukannya selama beberapa tahun terakhir. Pertama-tama menginventarisir sistem yang akan dibangun, yang berarti menginventarisir pusat data, rak, perangkat keras, sistem operasi, jaringan, dll, dan kedua melakukan pembangunan & penyebaran cepat. Setelah sistem dibangun, inventaris otomatis hotwire menjaga inventaris tetap sinkron, sementara cfengine mempertahankannya. Hotwire tahu tentang perangkat keras server dengan berbicara dengan data SMBIOS / DMI di Bios via python-dmidecode .
Poin bonusnya adalah menggabungkan inventaris dan proses pembangunan menjadi satu, jadi ada lebih sedikit untuk dikelola, dan fitur inventaris-langsung sangat bagus seperti yang kita ketahui jika ada sesuatu yang tidak beres.
Kerugiannya adalah bahwa antarmuka pengguna masih perlu dipoles, dan ada bug di sana-sini, tetapi pengembangan masih panas, dan bug yang dilaporkan diperbaiki relatif cepat.
cfengine
Kami menggunakan cfengine karena selain itu, dan boneka, tidak ada yang lain. Sebenarnya itu alat yang baik, tetapi "baik" hanya sebagai fungsi dari seberapa baik kebijakan Anda - jika Anda menetapkan kebijakan berbahaya, maka kesalahan kecil dapat menyebabkan banyak kerusakan. Misalnya, berdasarkan kebijakan, kami tidak "memodifikasi" file, kami menggantinya, atau tidak. Juga semua file yang diganti memiliki tajuk yang membuat setiap orang yang mengeditnya tahu bahwa itu akan diganti saat dijalankan berikutnya (dijalankan melalui cron setiap jam).
Konfigurasi dan semua file yang didorong oleh cfengine ke server juga disimpan dalam SCM, dan menggunakan kait pasca-komit, jika memungkinkan, kami memeriksa sintaks dan jika itu gagal, maka komit ditolak. Ini mudah untuk aplikasi yang bagus seperti Apache, tetapi tidak begitu mudah untuk sebagian besar aplikasi perusahaan.