Ini adalah bagaimana saya mendekati area ini sambil mengenakan peran ingin menjadi sysadmin / devops. Kebanyakan yang berikut ini hanya akan menjadi prinsip umum yang saya coba ikuti dan tidak spesifik untuk Chef.
Saya akhirnya pergi dengan Wayang karena saya menemukan ada lebih banyak sumber daya pada saat itu dan merasa lebih mudah untuk menjemput saya.
Saya melihat berbagai modul pre-built yang tersedia untuk hal-hal seperti apache, php5, dll. Banyak dari mereka tampaknya melakukan jauh lebih banyak daripada yang saya butuhkan dan menjadi sangat tidak terbiasa dengan platform saya tidak percaya apa yang sedang terjadi. Saya memutuskan akan lebih mudah bagi saya untuk mengidentifikasi apa yang perlu saya lakukan pada setiap jenis simpul.
Saya memulai proses dengan menyediakan lingkungan pengembangan lokal tim (vargrant + kotak virtual). Untuk setiap layanan / komponen saya membuat modul: php5, apache2, redis, mysql, dll.
Setelah lingkungan dev stabil / berfungsi, saya mulai membangun lingkungan QA. Saya mendefinisikan jenis simpul umum untuk server web, redis, pernis, dll. Yang menggunakan kembali modul yang sama dengan dev. Setelah ini Pementasan dan Produksi membutuhkan perubahan minimal yang diperlukan untuk bangkit dan berjalan.
Saat Anda membaca dan menulis resep / template Anda, Anda harus mempertimbangkan bagaimana jika dapat digunakan kembali / digeneralisasi. Jangan membuat kode yang sulit seperti jalur atau pengguna / grup yang dapat berubah di antara distro / proyek / lingkungan. Karena Anda sedang melihat pendekatan umum, saya kira rintangan besar akan berhadapan dengan perbedaan antara distribusi * nix.
Yang terpenting, tetap sederhana. Mengotomatiskan / membakukan bagian lingkungan yang paling penting / memakan waktu. Iterate, berevolusi.