ZeroVM จำลองเสมือนอะไร


12

ฉันมีบิตของปัญหาการตัดหัวของฉัน aroung ZeroVM

สมมติว่าฉันต้องการเรียกใช้ Wordpress ทางเลือกหนึ่งคือให้เช่าเซิร์ฟเวอร์เสมือนที่โฮสต์ซึ่งใช้ VMWare, Virtualbox, Xen, CoreOS หรือสิ่งที่คล้ายกัน ในกรณีนั้นสิ่งที่กำลังทำเวอร์ชวลไลเซชันคือเซิร์ฟเวอร์และฮาร์ดแวร์ เมื่อได้รับการจัดเตรียมเซิร์ฟเวอร์เสมือนฉันสามารถใช้ SSH เริ่มและหยุดบริการรีสตาร์ทเครื่อง ฯลฯ

สิ่งที่ฉันได้อ่านทางออนไลน์กล่าวว่า ZeroVM ทำให้แอปเสมือนจริง แต่ฉันไม่เข้าใจความหมาย ZeroVM ให้บริการคอนเทนเนอร์เหมือนกับDockerหรือไม่?

ต่อจากตัวอย่างด้านบนฉันจะใช้ ZeroVM เพื่อเรียกใช้ Wordpress ได้อย่างไร ประโยชน์ที่จะได้รับคืออะไร?

ลองขยายตัวอย่าง Wordpress ของฉันไปยังสภาพแวดล้อมการโฮสต์ที่ใช้ร่วมกัน

โฮมเพจ ZeroVM พูดว่า:

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

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

คำตอบ:


9

คำถามที่ดี! ฉันทำงานกับทีม 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 ปัจจุบันมาก แต่สามารถปรับขนาดได้มากกว่า การใช้งานจริงนี้เหลืออยู่ในขณะนี้เป็นแบบฝึกหัดสำหรับผู้อ่าน


4

ดูเหมือนจะเป็นขอบเลือดออก Rackspace กำลังขุดที่ LXC เพื่อเป็น 'ไม่ปลอดภัย' ในการเปรียบเทียบ แต่จนกระทั่ง whitepapers ปรากฏในหัวข้อฉันจะมีการตัดสิน

  • ZeroVM ให้บริการคอนเทนเนอร์เหมือนกับ Docker หรือไม่?

จาก: Info World "การเปรียบเทียบที่ชัดเจนบางอย่างเป็นไปได้ระหว่าง ZeroVM และโครงการเช่น Docker แต่ความตั้งใจแตกต่างกันเล็กน้อย Docker เป็นเรื่องเกี่ยวกับบรรจุภัณฑ์สำหรับการปรับใช้ผ่านสภาพแวดล้อมที่หลากหลาย ZeroVM เป็นอีกวิธีที่จะทำให้แอพเสมือนจริง ด้วยวิธีที่มีน้ำหนักเบาในสภาพแวดล้อมที่กำหนดซึ่งโซลูชัน VM แบบเต็มจะมากเกินไปและไม่จำเป็นต้องใช้จริงๆ "

  • ฉันจะใช้ ZeroVM เพื่อเรียกใช้ Wordpress ได้อย่างไร

สมมุติว่าคุณต้องการรวบรวม apache สำหรับ ZeroVM ฉันไม่แน่ใจว่าเท่าไหร่รหัสฐาน Wordpress จะแตกภายใต้เงื่อนไขดังกล่าว

  • ประโยชน์คืออะไร

ฝ่ายการตลาดของ Rackspace จะทำให้ดีที่สุดสำหรับเรื่องนี้: ที่นี่

  • ฉันจะเผชิญหน้ากับความท้าทายอะไร (เพิ่มเพื่อประโยชน์ของผู้อ่านในอนาคต)

ซอฟต์แวร์ / แพลตฟอร์มนั้นมีเลือดออกเพื่อให้มีการทดลองและ difficulities ทั้งหมดที่เกี่ยวข้องกับการรันซอฟต์แวร์ edge blood (รวมถึงการขาดฐานผู้ใช้ขนาดใหญ่ที่ให้การสนับสนุน) นอกจากนี้ยังเป็น " แพลตฟอร์ม " ใหม่นักพัฒนาซอฟต์แวร์กำลังถูกใช้เพื่อจัดการกับแพลตฟอร์มเสมือนจริง ... แต่นี่เป็นสายพันธุ์ใหม่ของการทำเวอร์ชวลไลเซชันเหนือและเหนือกว่าฮาร์ดแวร์ (VMWare OracleVVV, HyperV) และเคอร์เนลเสมือนจริง (OpenVZ) .. อย่าแปลกใจถ้าไม่มีอะไรทำงานตามที่คาดไว้ในช่วงต้นเกม


2

ต่อจากตัวอย่างด้านบนฉันจะใช้ ZeroVM เพื่อเรียกใช้ Wordpress ได้อย่างไร ประโยชน์ที่จะได้รับคืออะไร?

ZeroVM นั้นเป็นแพลตฟอร์มสำหรับสร้าง PaaS'es ดังนั้นคำถามข้างต้นจึงมีความหมายเพียงเล็กน้อยใน "ZeroVM world" แต่สมมติว่ามีใครบางคนติดตั้งโครงสร้างพื้นฐาน ZeroVM ให้คุณ (จะเรียกมันว่า จากนั้นคุณสามารถสร้าง PaaS หรือ SaaS ของคุณเองบนโครงสร้างพื้นฐานนั้น ในกรณีของ WordPress: ผู้ให้บริการให้ความสามารถในการเรียกใช้รหัสใด ๆ บนโครงสร้างพื้นฐานของผู้ให้บริการคุณสามารถเรียกใช้ WordPress เมื่อรหัสของคุณกำลังทำงาน - คุณจ่ายเงินให้ เมื่อรหัสของคุณไม่ทำงานคุณไม่ต้องจ่ายเงิน คือเมื่อมีคนเปิดเพจเวิร์ดเพรสคุณจะจ่ายค่าคำขอหลังจากส่งคำตอบไปยังผู้ใช้แล้ว - คุณหยุดจ่ายอะไรเลย ยิ่งกว่านั้นเนื่องจากแต่ละอินสแตนซ์ ZeroVM จะให้บริการหนึ่งคำขอไซต์ WordPress ของคุณจำเป็นต้องให้บริการหนึ่งหน้าแก่ผู้ใช้หนึ่งคนเท่านั้น แล้วฉันจะยืนยันว่าคุณไม่จำเป็นต้องใช้ "WordPress" เพราะ WordPress ตอนนี้เป็นอินเทอร์เฟซ PHP ไปยังฐานข้อมูล MySQL และในกรณีที่มีผู้ใช้หนึ่งคนและคำขอเดียวคุณไม่ต้องการฐานข้อมูลส่วนกลาง และอื่น ๆ

นี่หมายความว่าแต่ละคำขอไปยังแอป ZeroVM สร้างกระบวนการใหม่หรือไม่

ใช่และไม่. ขึ้นอยู่กับว่าคุณต้องการใช้มันอย่างไร หากคำขอแต่ละครั้งเป็นแอปที่แตกต่างกันโดยสิ้นเชิงกับรหัสฐานที่แตกต่างกันโดยสิ้นเชิง - ใช่คุณจะต้องมีกระบวนการใหม่ แต่ถ้าการร้องขอแต่ละครั้งเป็นการเรียกไปที่ PHP หรือ WSGI เว็บแอพ ZeroVM สามารถทำหน้าที่เป็น "daemon" ที่ให้บริการคำขอได้เร็วขึ้นมากโดยประหยัดเวลาในการตั้งค่าของแพลตฟอร์ม (การตั้งค่าระบบไฟล์ + หลาม + wsgi ในกรณีของ WSGI )

คำขอจะถูกส่งไปยังแอปที่ถูกต้องอย่างไร

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

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