ฉันเป็นแฟนของ Heroku มาตั้งแต่วันแรกสุด แต่ฉันชอบความจริงที่ว่า AWS Elastic Beanstalk ช่วยให้คุณควบคุมลักษณะของอินสแตนซ์ได้มากขึ้น สิ่งหนึ่งที่ฉันชอบเกี่ยวกับ Heroku คือความจริงที่ว่าฉันสามารถปรับใช้แอพและไม่ต้องกังวลกับการจัดการมัน ฉันสมมติว่า Heroku มั่นใจว่าการอัปเดตความปลอดภัยของระบบปฏิบัติการทั้งหมดนั้นถูกนำไปใช้ในเวลาที่เหมาะสม ฉันแค่ต้องแน่ใจว่าแอพของฉันปลอดภัย
การวิจัยเริ่มต้นของฉันเกี่ยวกับ Beanstalk แสดงให้เห็นว่าแม้ว่ามันจะสร้างและกำหนดค่าอินสแตนซ์สำหรับคุณหลังจากนั้นมันก็ย้ายไปที่กระบวนการจัดการด้วยตนเองที่มากขึ้น การปรับปรุงความปลอดภัยจะไม่ถูกนำไปใช้กับอินสแตนซ์โดยอัตโนมัติ ดูเหมือนว่ามีความกังวลสองด้าน:
- ใหม่การเปิดตัว AMI - เมื่อมีการเปิดตัว AMI ใหม่ดูเหมือนว่าเราต้องการเรียกใช้งานล่าสุด (น่าจะปลอดภัยที่สุด) แต่งานวิจัยของฉันดูเหมือนจะบ่งบอกว่าคุณต้องเปิดการตั้งค่าใหม่ด้วยตนเองเพื่อดูเวอร์ชัน AMI ล่าสุดจากนั้นสร้างสภาพแวดล้อมใหม่เพื่อใช้เวอร์ชันใหม่นั้น มีวิธีอัตโนมัติที่ดีกว่าในการหมุนอินสแตนซ์ของคุณไปเป็นรุ่น AMI ใหม่หรือไม่?
- ในระหว่างการเปิดตัวจะมีการอัพเดทความปลอดภัยสำหรับแพ็คเกจ ดูเหมือนว่าเราต้องการอัพเกรดสิ่งเหล่านั้นเช่นกัน ดูเหมือนว่างานวิจัยของฉันจะระบุว่าผู้ใช้ติดตั้งคำสั่งเพื่อเรียกใช้การปรับปรุงยำ. แต่เนื่องจากอินสแตนซ์ใหม่ถูกสร้าง / ทำลายตามการใช้งานดูเหมือนว่าอินสแตนซ์ใหม่จะไม่ได้รับการอัปเดตเสมอ (เช่นเวลาระหว่างการสร้างอินสแตนซ์และการอัปเดต yum ครั้งแรก) ดังนั้นบางครั้งคุณจะมีกรณีที่ไม่ได้รับการแก้ไข และคุณก็จะมีอินสแตนซ์ที่ปะต่อกันอยู่เรื่อย ๆ จนกว่าจะมีการใช้งาน AMI ใหม่ ข้อกังวลอื่น ๆ ของฉันคือบางทีการอัปเดตความปลอดภัยเหล่านี้อาจไม่ผ่านการตรวจสอบของ Amazon เอง (เช่นการเปิดตัว AMI) และอาจทำให้แอปของฉันอัปเดตโดยอัตโนมัติ ฉันรู้ว่า Dreamhost เคยมีปัญหา 12 ชั่วโมงเพราะพวกเขาใช้การอัพเดทเดเบียนโดยอัตโนมัติโดยไม่ต้องมีการรีวิวใด ๆ ฉันต้องการให้แน่ใจว่าสิ่งเดียวกันจะไม่เกิดขึ้นกับฉัน
ดังนั้นคำถามของฉันคือ Amazon ให้วิธีที่จะเสนอ PaaS ที่มีการจัดการอย่างเต็มที่เช่น Heroku หรือไม่? หรือ AWS Elastic Beanstalk เป็นเพียงสคริปต์การติดตั้งจริง ๆ และหลังจากนั้นคุณเป็นเจ้าของ (นอกเหนือจากเครื่องมือตรวจสอบและปรับใช้ที่มีให้)