เชฟคืออะไร? - เครื่องมือที่ใช้สำหรับการจัดการการกำหนดค่า



บล็อกนี้เกี่ยวกับ What is Chef เป็นบล็อกแรกของบล็อกซีรีส์ Chef มันพูดถึงการจัดการการกำหนดค่าและวิธีที่ Chef ประสบความสำเร็จโดยใช้กรณีการใช้งาน

Chef เป็นเครื่องมือที่ใช้สำหรับ Configuration Management และมีการแข่งขันอย่างใกล้ชิด หุ่น . ในบล็อกนี้ฉันจะอธิบายว่าเชฟคืออะไรการจัดการการกำหนดค่าและวิธีที่ Chef ประสบความสำเร็จในการจัดการการกำหนดค่าด้วยกรณีการใช้งาน

เชฟคืออะไร?

Chef เป็นเครื่องมืออัตโนมัติที่ให้วิธีกำหนดโครงสร้างพื้นฐานเป็นรหัส โครงสร้างพื้นฐานเป็นรหัส (IAC) หมายถึงการจัดการโครงสร้างพื้นฐานโดยการเขียนโค้ด (โครงสร้างพื้นฐานอัตโนมัติ) แทนที่จะใช้กระบวนการด้วยตนเอง นอกจากนี้ยังสามารถเรียกได้ว่าเป็นโครงสร้างพื้นฐานที่ตั้งโปรแกรมได้ Chef ใช้ Pure-Ruby ภาษาเฉพาะโดเมน (DSL) สำหรับการเขียนการกำหนดค่าระบบ ด้านล่างนี้เป็นประเภทของระบบอัตโนมัติที่ทำโดย Chef โดยไม่คำนึงถึงขนาดของโครงสร้างพื้นฐาน:





  • การกำหนดค่าโครงสร้างพื้นฐาน
  • การปรับใช้แอปพลิเคชัน
  • การกำหนดค่าได้รับการจัดการในเครือข่ายของคุณ

ชอบ หุ่น ซึ่งมีสถาปัตยกรรม Master-Slave แม้แต่ Chef ก็มีสถาปัตยกรรม Client-Server แต่ Chef มีส่วนประกอบพิเศษที่เรียกว่า Workstation ฉันจะพูดถึงเวิร์กสเตชันในบล็อกถัดไป ดูแผนภาพด้านล่าง:

Chef vs Puppet - เชฟคืออะไร - Edureka



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

ตอนนี้ให้เรามาดูเหตุผลเบื้องหลังความนิยมของเชฟ

เชฟคืออะไร - ตัวชี้วัดหลักของเชฟ

  • Chef รองรับหลายแพลตฟอร์มเช่น AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows และ Ubuntu แพลตฟอร์มไคลเอนต์เพิ่มเติม ได้แก่ Arch Linux, Debian และ Fedora
  • Chef สามารถรวมเข้ากับแพลตฟอร์มบนคลาวด์เช่น Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure และ Rackspace เพื่อจัดเตรียมและกำหนดค่าเครื่องใหม่โดยอัตโนมัติ
  • Chef มีการสนับสนุนชุมชนที่กระตือรือร้นฉลาดและเติบโตอย่างรวดเร็ว
  • เนื่องจากความเป็นผู้ใหญ่และความยืดหยุ่นของเชฟจึงถูกใช้โดยยักษ์ใหญ่เช่น Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, University of Minnesota, Wharton School จากมหาวิทยาลัยเพนซิลเวเนีย Bonobos Splunk Citi DueDil Disney และ Cheezburger

อ้างอิงจาก Phil Dibowitz วิศวกรการผลิต Facebook



เรียงลำดับ () c ++

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

ไม่ต้องสงสัยเลยว่า Chef เป็นหนึ่งในเครื่องมือการจัดการการกำหนดค่าที่มีชื่อเสียงที่สุดและกำลังแข่งขันกันอย่างใกล้ชิด หุ่น . แต่ก่อนที่จะเจาะลึกลงไปใน“ เชฟคืออะไร” ฉันจะอธิบายก่อนว่าการจัดการการกำหนดค่าคืออะไรและเหตุใดจึงสำคัญ

การจัดการการตั้งค่า

ไม่ต้องกังวลไม่มีคำจำกัดความที่ชัดเจนของ Configuration Management ในบล็อกนี้ :)

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

เพื่อแก้ปัญหานี้ได้มีการแนะนำการจัดการการกำหนดค่า การใช้เครื่องมือการจัดการการกำหนดค่าเช่น Chef, Puppet และอื่น ๆ จะทำให้งานนี้เป็นไปโดยอัตโนมัติ สิ่งที่คุณต้องทำคือระบุการกำหนดค่าในเซิร์ฟเวอร์รวมศูนย์เครื่องเดียวและตามนั้นโหนดทั้งหมดจะได้รับการกำหนดค่า ช่วยให้สามารถเข้าถึงบันทึกประวัติที่ถูกต้องของสถานะระบบเพื่อวัตถุประสงค์ในการจัดการโครงการและการตรวจสอบ โดยพื้นฐานแล้วเราจำเป็นต้องระบุการกำหนดค่าหนึ่งครั้งบนเซิร์ฟเวอร์ส่วนกลางและทำซ้ำบนโหนดหลายพันโหนด การจัดการการกำหนดค่าช่วยในการปฏิบัติงานด้านล่างด้วยวิธีที่มีโครงสร้างและง่ายมาก:

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

อ้างอิงบล็อกของฉันเกี่ยวกับ Puppet เพื่อเรียนรู้ว่า NYSE ช่วยประหยัดเงินหลายล้านดอลลาร์ได้อย่างไรด้วยความช่วยเหลือของ Configuration Management

มีสองวิธีกว้าง ๆ ในการจัดการการกำหนดค่าของคุณ ได้แก่ การกำหนดค่า Push และ Pull

  • ดึงการกำหนดค่า: ในการจัดการการกำหนดค่าประเภทนี้โหนดจะสำรวจเซิร์ฟเวอร์ส่วนกลางเป็นระยะสำหรับการอัปเดต โหนดเหล่านี้ได้รับการกำหนดค่าแบบไดนามิกดังนั้นโดยพื้นฐานแล้วพวกเขากำลังดึงการกำหนดค่าจากเซิร์ฟเวอร์ส่วนกลาง Pull configuration ใช้โดยเครื่องมือเช่น Chef, Puppet เป็นต้น
  • ผลักดันการกำหนดค่า: ในการจัดการการกำหนดค่าประเภทนี้เซิร์ฟเวอร์ส่วนกลางจะผลักการกำหนดค่าไปยังโหนด แตกต่างจาก Pull Configuration มีคำสั่งบางอย่างที่ต้องดำเนินการในเซิร์ฟเวอร์รวมศูนย์เพื่อกำหนดค่าโหนด Push Configuration ใช้โดยเครื่องมือเช่น Ansible

เรียนรู้ส่วนประกอบต่างๆของการจัดการการกำหนดค่าในบล็อกการสอนหุ่นของฉัน

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

เชฟคืออะไร - การจัดการการกำหนดค่าด้วยเชฟ

เราเข้าใจแล้วว่าเชฟคืออะไรตอนนี้ฉันจะอธิบายให้คุณทราบว่า Chef ประสบความสำเร็จในการจัดการการกำหนดค่าด้วยกรณีการใช้งานอย่างไร Gannett เป็น บริษัท โฮลดิ้งสื่ออเมริกันที่มีการซื้อขายต่อสาธารณะ เป็นผู้จัดพิมพ์หนังสือพิมพ์รายใหญ่ที่สุดในสหรัฐอเมริกาโดยวัดจากยอดขายรายวันทั้งหมด

เวิร์กโฟลว์การปรับใช้งานแบบเดิมของ Gannett มีลักษณะเฉพาะด้วยการจัดการหลายครั้งและการทดสอบด้วยตนเอง ให้เราดูว่าพวกเขาประสบปัญหาอะไรบ้างในกระบวนการนี้:

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

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

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

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

มาดูกันว่าเชฟที่ Gannett ทำหน้าที่อะไรบ้าง:

  • Gannett เริ่มสร้าง VPC (Virtual Private Cloud) สำหรับสภาพแวดล้อมการพัฒนาที่เลียนแบบการผลิต ไม่มีเครื่องมือใดที่พวกเขาใช้อยู่แล้วที่เหมาะสม แต่พวกเขาพบว่า Chef ทำงานได้ดีกับระบบคลาวด์และทั้งระบบ Linux และ Windows พวกเขาใช้ Chef เพื่อสร้างสภาพแวดล้อมการพัฒนาที่เข้ากับสภาพแวดล้อมการผลิตอย่างสมบูรณ์แบบ
  • สำหรับแอปพลิเคชันที่จะย้ายไปยัง VPC จะต้องมีการจัดเตรียมและปรับใช้กับ Chef
  • การรักษาความปลอดภัยจะเข้ามาเกี่ยวข้องตั้งแต่เนิ่นๆและจะจัดการการควบคุมบังคับสำหรับการเข้าถึง Chef และการรักษามาตรฐานความปลอดภัยของระบบ

semaphore ใน java คืออะไร

ตอนนี้เป็นเวลาทำความเข้าใจว่าอะไรคือผลลัพธ์ของกระบวนการนี้:

  • การปรับใช้ของ Gannett รวดเร็วและเชื่อถือได้มากขึ้น การจัดเตรียมและการปรับใช้แอปพลิเคชันซึ่งครั้งหนึ่งใช้เวลาหลายสัปดาห์หลังจากใช้ Chef ใช้เวลาไม่กี่นาที
  • แอปพลิเคชันใหม่ทั้งหมดถูกปรับใช้บนคลาวด์ด้วย Chef แอปพลิเคชันเหล่านี้ถูกปรับใช้กับสภาพแวดล้อมทั้งหมดในลักษณะเดียวกับที่ปรับใช้กับการผลิต นอกจากนี้การทดสอบยังเกิดขึ้นในแต่ละสภาพแวดล้อมเพื่อให้การปรับใช้งานมีความน่าเชื่อถือ
  • โครงสร้างพื้นฐานทั้งหมดถือว่าเป็นรหัสซึ่งช่วยเพิ่มการมองเห็นการเปลี่ยนแปลงที่เกิดขึ้นอย่างมาก การพัฒนาการปฏิบัติการความปลอดภัยและการเงินล้วนได้รับประโยชน์จากสิ่งนี้

หลังจาก“ Chef คืออะไร 'บล็อกถัดไปของฉันคือ บทแนะนำเชฟ มุ่งเน้นไปที่สถาปัตยกรรมของเชฟพร้อมกับส่วนประกอบต่างๆ ฉันยังได้อธิบายวิธีปรับใช้ Apache2 โดยใช้ Chef

หากคุณพบบล็อกนี้ใน“ Chef คืออะไร ” เกี่ยวข้อง ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรมการรับรอง Edureka DevOps ช่วยให้ผู้เรียนมีความเชี่ยวชาญในกระบวนการและเครื่องมือ DevOps ต่างๆเช่น Puppet, Jenkins, Nagios และ GIT สำหรับการทำหลายขั้นตอนใน SDLC โดยอัตโนมัติ