เมื่อใดควรใช้ตัวจัดการการกำหนดค่า (เช่น Puppet / Chef / Ansible) เมื่อใด


17

ที่ทำงานปัจจุบันของฉันฉันดูแลเครื่องโฮสต์ VMware สองเครื่องเครื่อง OpenBSD จริงสามเครื่อง Debian VM และ Windows Server VM หกเครื่อง (2008/2012)

ฉันกำลังพิจารณาใช้เครื่องมือจัดการการกำหนดค่าเช่น Puppet หรือ Chef มีเหตุผลหรือค่าใช้จ่ายในการเรียนรู้ของเครื่องมือมีประโยชน์มากกว่าหรือไม่ จุดเปลี่ยนอยู่ตรงไหนระหว่างความสามารถในการจัดการและค่าดำเนินการ


1
เป็น "เหมาะสม" ทันทีที่คุณต้องการจัดการการกำหนดค่า - ต้องการกู้คืนจากความเสียหายหรือไม่? ต้องการย้ายไปยังศูนย์ข้อมูลใหม่หรือไม่ ต้องการขยายในแนวนอนหรือไม่ หากคุณทำด้วยมือคุณกำลังทำมันผิด " ทำได้สองครั้งหรือเปล่าเขียนมันลง "
วอร์เรน

1
ขึ้นอยู่กับสิ่งที่คุณต้องทำเพื่อ / กับระบบเหล่านี้
ewwhite

คำตอบ:


25

IMHO มันคุ้มค่าที่จะเรียนรู้แม้ว่าคุณจะจัดการเซิร์ฟเวอร์เดียวเท่านั้น

ใช่จะมีช่วงการเรียนรู้ ใช่คุณจะผิดหวัง สำหรับค่าใช้จ่ายเหล่านั้นคุณจะได้รับการชำระคืนเป็นทวีคูณผ่านการปรับใช้ที่เชื่อถือได้และสม่ำเสมอการคลิกเพียงครั้งเดียวการกำหนดค่าเซิร์ฟเวอร์ที่ควบคุมด้วยเวอร์ชัน

นอกจากประโยชน์ที่ได้รับกับงานปัจจุบันของคุณความสามารถในการเพิ่มระบบ CM ลงในเรซูเม่ของคุณนั้นเป็นชัยชนะที่ยิ่งใหญ่ sysadmins ที่ทันสมัยตอนนี้คาดว่าจะมีการสัมผัสอย่างน้อยกับระบบการจัดการการกำหนดค่าถ้าไม่ชำนาญ

(Sidenote: พิจารณาเบิ้ลเช่นเดียวมัน CM ต้องการของฉันและเป็น. มากง่ายต่อการได้รับและทำงานด้วย - ง่ายกว่าทั้งหุ่นกระบอกหรือเชฟนอกจากนี้หน้าต่างสนับสนุนในเบิ้ลจะมาตามอย่าง..)


5
พูดได้ดี. ฉันลงเอยด้วยการใช้ Ansible กับสิ่งเล็ก ๆ น้อย ๆ เช่นการตั้งค่าราสเบอร์รี่ปี่ที่บ้านเพราะมันเป็นวิธีที่สะดวกสำหรับฉันที่จะบันทึกกระบวนการ
tedder42

2
แน่นอน! การได้เป็นเชฟเป็นอาชีพที่ยอดเยี่ยมสำหรับฉัน นี่คือเรื่องจริง: ในอีกไม่กี่ปีข้างหน้า CM จะเป็นที่ต้องการ / คาดหวังสำหรับทุกคนยกเว้นงาน SysAd
gWaldo

2
เห็นด้วยอย่างยิ่ง. โฟกัสมากเกินไปคือระบบอัตโนมัติของการติดตั้งซึ่งเป็นเพียงส่วนหนึ่งของระบบ CM ผู้คนลืมว่า M หมายถึงอะไร - การจัดการ คุณติดตามการเปลี่ยนแปลงการกำหนดค่าต่างๆที่คุณทำกับ 1 เซิร์ฟเวอร์อย่างไร จำนวนเซิร์ฟเวอร์ไม่สำคัญ เมื่อเซิร์ฟเวอร์ตัวที่ 1 เสียชีวิตคุณมีความสุขที่สามารถสร้างมันขึ้นมาใหม่ได้อย่างไม่ต้องสงสัย
ETL

5

ฉันกำลังพิจารณาใช้เครื่องมือจัดการการกำหนดค่าเช่น Puppet หรือ Chef สิ่งนี้สมเหตุสมผลหรือค่าใช้จ่ายในการเรียนรู้ของเครื่องมือมีประโยชน์มากกว่าหรือไม่

มันมีเหตุผลขึ้นอยู่กับจำนวนเวลาและเงินที่คุณต้องเผาและไม่ว่ามันจะเป็นเงินของคุณหรือไม่

เครื่องมือจัดการการกำหนดค่า (หนึ่งในนั้น) กำลังกลายเป็นทักษะที่มีค่าในตลาดปัจจุบัน

การใช้เวลาในการเรียนรู้และใช้งานเครื่องมือ CM อาจไม่ใช่สิ่งที่มีประสิทธิภาพที่สุดที่ต้องทำจากมุมมองของธุรกิจหรือสภาพแวดล้อมของคุณ แต่จากทักษะของคุณมันอาจคุ้มค่า

จุดเปลี่ยนระหว่างความสามารถในการจัดการและค่าใช้จ่ายในการติดตั้งอยู่ที่ไหน

เครื่องมือการจัดการการกำหนดค่าส่วนใหญ่มีให้ใช้งานฟรีเมื่อมีข้อแม้ว่าติดตั้งได้ยาก

คำถามนี้ตอบยากเล็กน้อยเนื่องจากขึ้นอยู่กับสิ่งที่คุณทำในแต่ละวันเพื่อจัดการเซิร์ฟเวอร์เหล่านี้ หากคุณไม่จำเป็นต้องทำอะไรมากเครื่องมือการจัดการการกำหนดค่าอาจมีค่าใช้จ่ายสูงเกินไป

หากคุณต้องการบังคับใช้โครงสร้างพื้นฐานของคุณให้อยู่ในสถานะที่คาดการณ์ได้และพื้นฐานเท่านั้นมันอาจไม่เป็นอันตรายต่อการรับพื้นฐานพื้นฐานของบางอย่างเช่น SaltStack หรือ Ansible

จากประสบการณ์ส่วนตัวของฉัน Salt นั้นง่ายมากที่จะเริ่มต้นและบูตบนเซิร์ฟเวอร์และสามารถใช้สำหรับการดำเนินการทางไกลและการรายงานทางไกลขั้นพื้นฐานซึ่งอาจมีประโยชน์หากคุณยังไม่ได้ติดตั้งในสภาพแวดล้อมของคุณ

โปรดจำไว้ว่าฉันลำเอียง คุณควรประเมินเครื่องมือ CM แต่ละตัวด้วยตัวเอง


4

เช่นเดียวกับ @EEAA ที่กล่าวมา - จำนวนเซิร์ฟเวอร์ไม่เกี่ยวข้อง คุณสามารถเก็บเกี่ยวผลประโยชน์จากการใช้การจัดการการกำหนดค่าด้วยเครื่องเดียว:

  • การตั้งค่าเอกสาร (บันทึกผ่านสคริปต์ CM)
  • การปรับใช้ที่เชื่อถือได้ (คุณสามารถ [ติดตั้ง] คุณกำลังตั้งค่าซ้ำแล้วซ้ำอีก
  • ความยืดหยุ่นในการตั้งค่า (ปัจจุบันเซิร์ฟเวอร์ croaks - หมุนขึ้นใหม่)
  • นำมาใช้ซ้ำ (เมื่อคุณไปถึงจุดที่มีเซิร์ฟเวอร์ที่สอง - คุณมีสคริปต์ CM ที่คุณสามารถรีไซเคิลได้จากเซิร์ฟเวอร์แรก)
  • อัพเกรด (มันเหมือนกับการตั้งค่าใหม่เพียงแค่บนแพลตฟอร์มที่แตกต่าง)

ฉันสามารถพูดได้ว่าฉันต้องใช้ CM สำหรับเซิร์ฟเวอร์ส่วนบุคคลทั้งหมดของฉันเพราะฉันทำงานที่นั่นนาน ๆ ครั้งและลืมรายละเอียดเล็ก ๆ น้อย ๆ ทั้งหมด การมีสคริปต์ CM ในขณะที่อาจใช้เวลานาน (คือ) การคืนทุนนั้นคุ้มค่า ในระยะยาวคุณจะประหยัดเวลาได้มากขึ้นในการตั้งค่าต่างๆ


3

ฉันมีประสบการณ์กับ Puppet และ Ansible Ansible นั้นง่ายกว่า IMO เนื่องจากเป็นขั้นตอนในขณะที่ Puppet นั้นมีการประกาศ มีทั้งข้อดีและข้อเสีย แต่ผมดึงผมได้มากพอเนื่องจากข้อผิดพลาดที่คลุมเครือของหุ่นกระบอก

ทั้งคู่ต้องใช้งานจำนวนมากหากคุณต้องการสร้างการกำหนดค่าใหม่ทั้งหมด ค่าใช้จ่ายเริ่มต้นที่จะจ่ายจริงถ้าคุณมีเซิร์ฟเวอร์ที่คล้ายกันอย่างน้อยสองอย่างเช่นคลาวด์หรือกลุ่ม

อย่างไรก็ตามมีการใช้งานบางอย่างแม้กระทั่งเซิร์ฟเวอร์แบบสแตนด์อโลน - คุณสามารถตั้งค่าผู้ใช้ผู้ดูแลระบบมาตรฐาน (พร้อมรูปแบบโลคอล) sshd, postfix หรือ snmpd configs และใช้พวกเขาสำหรับการรวบรวมข้อมูลอย่างง่ายเช่นการปฏิบัติตามนโยบายหรือทดสอบช่องโหว่ shellshock

นอกจากนี้ตามที่ระบุไว้โดย EEAA จะมีค่าสำหรับการจัดทำเอกสารการตั้งค่าหากคุณตรวจสอบว่ามันทำให้เซิร์ฟเวอร์จากสถานะพื้นฐานไปสู่สถานะการทำงาน เป็นการดีที่จะรวมเข้ากับระบบควบคุมเวอร์ชัน (git) เพื่อให้การเปลี่ยนแปลงของคุณเป็นรุ่นและบันทึกไว้ มันมีค่ามากถ้าคุณมีทีมผู้ดูแลระบบ


1

Puppet หรือระบบการจัดการอื่น ๆ นำประโยชน์ที่ยอดเยี่ยมซึ่งได้รับการเน้นโดยคำตอบอื่น ๆ ที่นี่ แต่ไม่มี bullet เงินเมื่อมาถึงการจัดการ

ตัวอย่างเช่นการสร้างคลาสหุ่นกระบอกสำหรับระบบที่ซับซ้อนต้องใช้เวลาและความพยายามอย่างมากและบางครั้งอาจมีน้ำตาเนื่องจากมีข้อผิดพลาดมากมายและข้อความแสดงข้อผิดพลาดจะไม่ชัดเจน 100% เสมอและเมื่อซอฟต์แวร์อัพเกรดคุณต้องลงทุนเวลาปรับหุ่นหุ่นของคุณ หรือขั้นตอนและคิดว่าวิธีใดเหมาะสมที่สุดสำหรับเรื่องนี้ (หุ่นเชิดสำหรับตัวอย่างการประกาศและการอัพเกรดโดยทั่วไปเป็นขั้นตอน)

นอกจากนี้คุณต้องเข้าใจว่าคุณวางแผนที่จะนำเสนอการเปลี่ยนแปลงในชั้นเรียนของคุณด้วยวิธีการควบคุมอย่างไรและวิธีการดูแลรักษารูปแบบต่าง ๆ ของคุณ

คุณควรพิจารณาว่าจะดำเนินการอัพเกรดโซลูชันการจัดการของคุณอย่างไรเมื่อถึงเวลา

หากคุณใช้เวลาในการเขียนเป็นจำนวนมากเช่นคลาสหุ่นเชิดคุณจะต้องทำการติดตั้งด้วยคลิกเดียวมากมายเพื่อเก็บเกี่ยวผลประโยชน์ที่แท้จริง

ฉันขอแนะนำให้สำรวจภาพนิ่งและในกรณีที่เหมาะสมเช่นการแจกจ่ายไฟล์ปรับแต่งอาจเป็นจุดเริ่มต้นที่ดีและนำมาจากที่นั่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.