คำถามที่ดี! ฉันทำงานกับทีม ZeroVM และหวังว่าฉันจะช่วยล้างสิ่งต่างๆได้!
ZeroVM ให้บริการคอนเทนเนอร์เหมือนกับ Docker หรือไม่?
ไม่ไม่ได้จริงๆ นักเทียบท่าใช้ LXC และคุณสมบัติเคอร์เนลอื่น ๆ เพื่อให้สภาพแวดล้อมแบบ sandbox ZeroVM ทำงานในพื้นที่ผู้ใช้และแซนด์บ็อกซ์ในแอปพลิเคชันเดียว
สังเขป ZeroVM ทำงานโดยตรวจสอบแอปพลิเคชั่นที่จะเรียกใช้ก่อนจากนั้นก็ดำเนินการ เมื่อเรียกใช้งานแอปพลิเคชันจะทำงานโดยไม่มีค่าใช้จ่ายเพิ่มเติม - ไม่มีเครื่องเสมือนอยู่ด้านหลัง
ในการตรวจสอบแอปพลิเคชันจะต้องมีการคอมไพล์ข้ามรูปแบบเป็นรหัสพิเศษของเครื่อง x86 แบบฟอร์มพิเศษนี้มีคุณสมบัติที่ดีที่สามารถยืนยันแบบคงที่ "ปลอดภัย" เหนือสิ่งอื่นใด "ปลอดภัย" หมายความว่ารหัสจะไม่ข้ามไปยังที่อยู่นอกเซ็กเมนต์หน่วยความจำที่ระบุโดย ZeroVM โปรแกรมไม่สามารถเรียกการเรียกของระบบปกติมันสามารถเรียกอินเตอร์เฟส syscall ที่แคบมากที่จัดทำโดย ZeroVM การตรวจสอบนี้นำมาจากโครงการNative Client ของ Google
ฉันจะใช้ ZeroVM เพื่อเรียกใช้ Wordpress ได้อย่างไร ประโยชน์ที่จะได้รับคืออะไร?
ในหลักการคุณสามารถคอมไพล์โปรแกรม C นั่นคือตัวแปล PHP ZeroVM สามารถเริ่มล่าม PHP ในแซนด์บ็อกซ์และป้อนไฟล์ PHP ที่เป็นเวิร์ดเพรส ZeroVM จัดให้มีระบบไฟล์ในหน่วยความจำแบบอ่านอย่างเดียวและสามารถใช้เพื่ออ่านฐานข้อมูล SQLite ได้ นั่นจะทำให้คุณมีเว็บไซต์ WordPress อ่านอย่างเดียว - ไม่น่าตื่นเต้นมาก :-)
อย่างไรก็ตามอย่างที่ฉันเห็นนี่ไม่ใช่กรณีการใช้งานหลักสำหรับ ZerovM แอปพลิเคชันที่มีฐานข้อมูลหนักที่มีอยู่จะต้องถูกเขียนใหม่เพื่อใช้กับ ZeroVM ZeroVM มีความหมายมากกว่าสำหรับระบบที่ปรับขนาดได้อย่างหนาแน่นซึ่งคุณต้องการประมวลผลข้อมูลจำนวนมากในแบบคู่ขนาน
ลองนึกภาพคุณมี 1,000,000 อีเมลที่คุณต้องการค้นหา อีเมลจะถูกเก็บไว้ในห้องเก็บของบล็อกเช่นOpenStack SwiftหรือAmazon S3 ซึ่งหมายความว่าฟิสิคัลไฟล์ถูกเก็บในเซิร์ฟเวอร์หน่วยเก็บข้อมูลจำนวนหนึ่ง ตามเนื้อผ้าคุณจะต้องดึงเมลทั้งหมดไปยังโหนดการคำนวณจำนวนหนึ่งเพื่อค้นหา ด้วย ZeroVM และการทำงานร่วมกับสวิฟท์ , คุณสามารถส่งรหัสไปที่ข้อมูล สิ่งนี้อาจเกิดขึ้นได้เนื่องจากรหัสมีขนาดเล็ก (บางเมกะไบต์) เมื่อเปรียบเทียบกับอิมเมจเครื่องเสมือนขนาดใหญ่และเพราะมันปลอดภัยที่จะเรียกใช้รหัสที่ไม่น่าเชื่อถือในกล่องแซนด์ ZeroVM
ดังนั้น ZeroVM จึงมีความหมายสำหรับสถาปัตยกรรมที่ปรับขนาดได้สูงซึ่งแต่ละคำขอดำเนินการกับข้อมูลที่แตกต่างกัน
สำหรับเว็บไซต์ WordPress หมายความว่าควรเก็บโพสต์บล็อกแต่ละรายการในข้อมูลแยกต่างหากและมีอินสแตนซ์ ZeroVM เฉพาะที่รับผิดชอบในการโพสต์แต่ละรายการ ปัจจุบันระบบไฟล์เป็นแบบอ่านอย่างเดียว แต่มีแผนการที่จะทำให้อ่าน - เขียนและอินสแตนซ์ ZeroVM ที่รับผิดชอบในการโพสต์บล็อกที่กำหนดนั้นสามารถจัดการกับสิ่งต่าง ๆ เช่นความคิดเห็น คุณจะต้องมี load-balancer ด้านหน้าที่สามารถกำหนดเส้นทางทราฟฟิกได้อย่างเหมาะสม ผลที่ได้คือสถาปัตยกรรมที่แตกต่างจาก WordPress ปัจจุบันมาก แต่สามารถปรับขนาดได้มากกว่า การใช้งานจริงนี้เหลืออยู่ในขณะนี้เป็นแบบฝึกหัดสำหรับผู้อ่าน