ฉันกำลังจะเริ่มโครงการใหม่ซึ่งในบางส่วนจะต้องการการปรับใช้โหนดที่เหมือนกันจำนวนมากของคลาสที่แตกต่างกันประมาณสามคลาส:
- โหนดข้อมูลซึ่งจะเรียกใช้อินสแตนซ์ที่ถูกทำลายของ MongoDB
- แอ็พพลิเคชันโหนดซึ่งจะรันอินสแตนซ์ของแอปพลิเคชัน Ruby on Rails และแอปพลิเคชัน ASP.NET MVC รุ่นเก่า
- กำลังประมวลผลโหนดซึ่งจะรันงานที่ร้องขอโดยโหนดแอปพลิเคชัน
โหนดทั้งหมดจะทำงานบนอินสแตนซ์ของ Ubuntu 10.04 แม้ว่าจะติดตั้งแพ็คเกจที่แตกต่างกัน
ฉันมีความคุ้นเคยกับเชฟจากโปรเจ็กต์ก่อนหน้านี้ แต่ฉันไม่คิดว่าตัวเองเป็นผู้เชี่ยวชาญ ในความพยายามที่จะทำเนื่องจากความขยันฉันได้รับการตรวจสอบความเป็นไปได้ทางเลือก เรามีคนในบ้านจำนวนมากที่เป็นผู้ใช้หุ่นกระบอกมาเป็นเวลานานและพวกเขาสนับสนุนให้ฉันดู
ฉันมีปัญหาในการประเมินทั้งสองทางเลือก พ่อครัวและหุ่นกระบอกจำนวนมากส่วนแบ่งของคำศัพท์โดเมนเดียวกัน - แพคเกจ , ทรัพยากร , คุณลักษณะและอื่น ๆ และพวกเขามีประวัติศาสตร์ร่วมกันที่เกิดจากการใช้วิธีการที่แตกต่างกันในการแก้ไขปัญหาเดียวกัน ดังนั้นในบางแง่มุมพวกเขาจึงคล้ายกันมาก แต่ข้อมูลการเปรียบเทียบส่วนใหญ่ที่ฉันพบเช่นบทความนี้ค่อนข้างล้าสมัยเล็กน้อย
หากคุณเริ่มโครงการนี้วันนี้คำถามอะไรที่คุณถามตัวเองเพื่อตัดสินใจว่าคุณควรใช้ Chef หรือ Puppet สำหรับการจัดการการกำหนดค่า (หมายเหตุ: ฉันไม่ต้องการคำตอบสำหรับคำถาม "ฉันควรใช้เชฟหรือหุ่นเชิด")