พวกเรากำลังโต้เถียงกันที่น่าสนใจและกำลังตกอยู่ในสองค่าย ฉันสนใจในปัญหาเฉพาะใด ๆ กับความคิดหรือ gotchas เราอาจจะหายไป จริงๆแล้วอะไรก็ตามที่สามารถช่วยเราในการตัดสินใจหรือชี้ให้เห็นสิ่งที่เราไม่ได้พิจารณา ฉันรู้ว่ากระโปรงนี้มีกฎว่า "ไม่มีความคิดเห็น" อย่างใกล้ชิด แต่ฉันหวังว่ามันจะยังเป็นคำถามที่ยอมรับได้ ขออภัยในความยาวเช่นกันมีความแตกต่างกันนิดหน่อย
1) ด้านหนึ่ง (ของฉัน - ฉันไม่ไร้อคติ) พบว่ารูปแบบเซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบน่าสนใจมากสำหรับระบบคลาวด์ ด้วยเหตุนี้เราจึงทำการย้ายต้นแบบส่วนประกอบทั้งหมดของโครงสร้างพื้นฐานของเราไปยัง Docker แอปพลิเคชันที่กำหนดเองของเราสร้างขึ้นผ่าน Jenkins โดยตรงในอิมเมจ Docker ที่ปรับใช้กับ Docker Registry ในพื้นที่ จากนั้นเราสร้างบทบาท Ansible จำนวนมากและ playbook ที่สามารถเข้าถึงเซิร์ฟเวอร์เปล่าติดตั้ง Docker แล้วบอก Docker ให้ติดตั้งคอนเทนเนอร์ทั้งหมดตามต้องการ หลังจากผ่านไปสองสามนาทีแอปทั้งหมดและโครงสร้างพื้นฐานที่รองรับทั้งหมดจะเชื่อมต่อและทำงาน - การบันทึกการตรวจสอบการสร้างฐานข้อมูล / ประชากร ฯลฯ เครื่องที่เสร็จแล้วเป็นสภาพแวดล้อมแบบ QA หรือ dev ที่มีอยู่ในตัวเองพร้อมสำเนาที่แน่นอนของ ใบสมัคร แผนของเราในการขยายขนาดนี้คือการสร้าง Playbooks ใหม่เพื่อสร้างเซิร์ฟเวอร์ AWS ใหม่จากฐานที่เชื่อถือได้ของ AMI (อาจเป็นภาพที่เปลือยเปล่า) ทำการปรับใช้แอพพลิเคชั่นการผลิตเพื่อจัดการการจัดการการกำหนดค่าและเผยแพร่ เพียงแค่ทำให้พวกเขาใหม่ ฉันไม่ได้กังวลเกี่ยวกับการได้รับสิ่งที่ฉันอธิบายการทำงานในทางปฏิบัติ - ถ้าเป็นแบบอย่างที่สมเหตุสมผล
2) ค่ายอื่น ๆ ต้องการใช้ Puppet เพื่อจัดการการจัดการการกำหนดค่า Ansible ในการปรับใช้แอปพลิเคชันที่กำหนดเองของเราซึ่งเป็น tarballs ที่สร้างขึ้นจากกระบวนการสร้างของเราโฟร์แมนเพื่อจัดการการกระตุ้นและการจัดการกระบวนการทั้งหมด การจัดการภาพ รีลีสจะเกี่ยวข้องกับการเปลี่ยนแปลงการกำหนดค่าหุ่นเชิดตามต้องการและการปรับใช้คอมโพเนนต์ที่อัพเดตพร้อมการประสานงานของโฟร์แมนจำนวนหนึ่ง เซิร์ฟเวอร์จะถูกสร้างขึ้นอย่างรวดเร็วพอสมควรหากเราต้องการสิ่งใหม่ แต่ความตั้งใจไม่ได้ทำให้พวกเขาทิ้งเป็นส่วนหนึ่งของกระบวนการมาตรฐาน สิ่งนี้อยู่ใกล้กับเซิร์ฟเวอร์รุ่นฟีนิกซ์มาก แต่มีอายุการใช้งานที่ยาวนาน
ดังนั้นคำถามของฉันมาถึงสิ่งนี้จริง ๆ : มีรูปแบบเซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบที่มีเครื่องมือตามที่ฉันอธิบายไว้ข้างต้นจริงตามที่ปรากฏจริงหรือไม่ ฉันชอบความคิดที่ว่าขั้นตอนการแสดงละครของเราสามารถสร้างแอปพลิเคชันทั้งหมดในแบบสดๆปล่อยให้ QA ใช้งานได้จากนั้นเพียงแค่พลิกที่เก็บฐานข้อมูลและการตั้งค่า DNS บางอย่างเพื่อให้มีชีวิตอยู่
หรือรูปแบบเซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบล้มเหลวในทางปฏิบัติหรือไม่ เรามีประสบการณ์ที่ดีกับทั้ง AWS และสภาพแวดล้อมคลาวด์ดังนั้นจึงไม่ใช่เรื่องที่น่าเป็นห่วง - เป็นเรื่องของการได้รับแอพที่มีความซับซ้อนพอสมควร นี่เป็นเรื่องที่น่าสนใจเป็นพิเศษเมื่อเราปล่อยค่อนข้างบ่อย
เรามี Ansible ในการทำสิ่งต่าง ๆ ที่จำเป็นยกเว้นการสร้างเซิร์ฟเวอร์ EC2 สำหรับเราและนั่นไม่ใช่เรื่องยาก ฉันมีปัญหาในการทำความเข้าใจว่าทำไมคุณถึงต้องการหุ่นเชิด / Foreman / Katello ในโมเดลนี้เลย นักเทียบท่านั้นสะอาดและเรียบง่ายกว่าสคริปต์ปรับใช้แบบกำหนดเองในเครื่องมือจริงๆที่ฉันสามารถบอกได้ Ansible ดูเหมือนจะใช้งานง่ายกว่าหุ่นเชิดเมื่อคุณไม่ต้องกังวลเกี่ยวกับการกำหนดค่าเหล่านั้นในแหล่งกำเนิดและเพียงสร้างขึ้นใหม่ด้วยการกำหนดค่าใหม่ ฉันเป็นแฟนตัวยงของ KISS - โดยเฉพาะอย่างยิ่งในระบบอัตโนมัติที่กฎหมายของเมอร์ฟีทำงานอาละวาด เครื่องจักรน้อยกว่า IMO ที่ดีกว่า
ความคิด / ความคิดเห็นหรือข้อเสนอแนะเกี่ยวกับวิธีการจะได้รับการชื่นชมอย่างมาก!