หลังคำตอบของฉันสำหรับคำถาม: DevOps จะช่วยปรับปรุงขั้นตอนการทำสัญญาซอฟต์แวร์ได้อย่างไร Tensibai มีคำถาม:
อะไรที่ทำให้ Capistrano จำเป็นต้องใช้หุ่นเชิดหรือพ่อครัว?
คำตอบของฉันคือโพสต์ลิงก์ไปยังบทความของโนอาห์กิ๊บส์ "เราต้องการทั้ง Capistrano และ Chef หรือไม่?" . โดยส่วนตัวแล้วฉันยังสมัครรับข้อมูลมุมมองของโนอาห์ว่าเหมาะสมที่สุดที่จะ:
- ใช้เครื่องมือการปรับใช้ผู้เชี่ยวชาญเช่น Capistrano สำหรับการปรับใช้
- ใช้เครื่องมือการจัดการการกำหนดค่าผู้เชี่ยวชาญเช่น Chef สำหรับการจัดการการกำหนดค่า
วิธีการพื้นฐานที่เครื่องมือแต่ละประเภทใช้ในการทำงานให้เสร็จสมบูรณ์นั้นแตกต่างกันมาก:
เครื่องมือการจัดการการกำหนดค่า - เป็นเรื่องเกี่ยวกับการสร้างและรักษาสถานะที่ต้องการของระบบ ตัวอย่างของเครื่องมือในการจัดการการกำหนดค่าเป็นเชฟ , หุ่นกระบอก , เบิ้ล , PowerShell DSC , เกลือสแต็ค
เครื่องมือการปรับใช้ - เป็นเรื่องเกี่ยวกับการส่งมอบเวอร์ชั่นของซอฟต์แวร์ในสภาพแวดล้อมการโฮสต์ซึ่งมีฟังก์ชันการทำงานเพื่อรักษาซอฟต์แวร์หลายเวอร์ชันบนเครื่องหลายเครื่องและจัดการเวอร์ชันที่เป็น "ปัจจุบัน" ซึ่งมีความจำเป็นโดยธรรมชาติ ตัวอย่างของเครื่องมือการปรับใช้เป็นCapistrano , ปลาหมึก Deploy , DeployerและCommand.io
ฉันเชื่อว่าเครื่องมือการจัดการการกำหนดค่าสามารถทำงานของเครื่องมือการปรับใช้และในกรณีของโครงสร้างพื้นฐานที่ไม่เปลี่ยนรูปแบบพวกเขาเป็นเครื่องมือที่เหมาะสมที่สุดสำหรับงานเนื่องจากเวอร์ชันซอฟต์แวร์บนเป้าหมายไม่จำเป็นต้องได้รับการดูแล
คำถาม:มีเครื่องมือการจัดการการกำหนดค่าเช่น Chef, Ansible และ Puppet ครบกำหนดจนถึงจุดที่พวกเขาสามารถตอบสนองทั้ง idempotent และแบบจำลองที่จำเป็นได้หรือไม่?