כאשר אנו חושבים על משאבי מחשוב (ע"ע מכונות וירטואליות) בסביבת ענן ציבורי, לרובנו יש את אותה ארכיטקטורה בראש – מערכת הפעלה, המותקנת מעל שכבת hypervisor, אשר מותקנת על גבי חומרה פיזית.
מרבית ספקי הענן הציבורי מבססים את התשתית שלהם על אותה ארכיטקטורה.
במאמר זה, נסקור תשתית וירטואליזציה נפוצה ונציג את היתרונות בווירטואליזציה מודרנית עבור תשתיות ענן ציבורי.
מבוא ל-Hypervisors ולטכנולוגיית וירטואליזציה
הרעיון העומד מאחורי וירטואליזציה הוא היכולת להתקין מספר מערכות הפעלה במקביל, על אותה חומרה פיזית ועדיין לאפשר לכל מערכת הפעלה גישה למעבד, לזיכרון, ל-storage ולמשאבי רשת.
על-מנת לאפשר למערכת הפעלה וירטואלית (להלן "Guest machines") גישה לחומרה, אנו משתמשים ברכיב שנקרא Hypervisor.
קיימים שני סוגים של Hypervisors:
Hypervisor מסוג 1
מערכת הפעלה המותקנת על גבי חומרה פיזית (ע"ע Bare Metal) המאפשרת גישה למשאבי החומרה למכונות הווירטואליות (Guest machines).
Hypervisor מסוג 2
תוכנה המותקנת בתוך מערכת הפעלה (להלן “Host operating system”) המותקנת על גבי חומרה פיזית. המכונות הווירטואליות (Guest machines) מותקנות מעל שכבת מערכת ההפעלה המארחת. רכיב ה-hypervisor בתוך מערכת ההפעלה המארחת (Host OS), מאפשר גישה למכונות הווירטואליות (Guest machines) לחומרה הפיזית.
ל-Hypervisors הקיימים כיום בקרב ספקי הענן, יש שני חסרונות עיקריים:
-לא קיים בידוד מוחלט בין המכונות הווירטואליות (Guest machines) המותקנות על גבי אותה שכבת hypervisor ועל גבי אותה חומרה פיזית. כלל תעבורת התקשורת עוברת דרך אותו כרטיס רשת פיזי ודרך אותה שכבת וירטואליזציה.
-ככל שמוסיפים יותר שכבות (בין אם משתמשים ב-Hypervisor מסוג 1 או מסוג 2), אנו מוסיפים תקורה (overhead) על מערכת ההפעלה המארחת (Host OS) ועל שכבת ה-hypervisor. במילים אחרות, המכונות הווירטואליות (Guest VM’s) לא יוכלו להנות מגישה מלאה למשאבי החומרה.
AWS Nitro System
בשנת 2017, הציגה חברת AWS את הדור העדכני ביותר של טכנולוגיית ה-hypervisors עבור הענן שלה.
ארכיטקטורת Nitro, מתחת לשכבת המכונות הווירטואליות (EC2 instances), עשתה קפיצת דרך משמעותית באופן בו אנו משתמשים ב-hypervisors, ע"י הוצאות חלק מהיכולות של שכבת הווירטואליזציה (כגון תקשורת, אחסון, תכונות אבטחת מידע ועוד) לרכיבי תוכנה וכרטיסי חומרה ייעודיים. הדבר מאפשר ללקוחות לקבל ביצועים טובים יותר, עם רמת אבטחת מידע גבוהה יותר, תוך בידוד והגנה על נתוני הלקוחות.
דוגמה ל-Hypervisor, לפני טכנולוגיית AWS Nitro:
דוגמה ל-Hypervisor המבוסס על טכנולוגיית AWS Nitro:
ארכיטקטורת Nitro מבוססת על כרטיסי Nitro:
-כרטיס Nitro עבור VPC – מטפל בתעבורת התקשורת ל-VPC של הלקוח ומאפשר תקשורת מהירה באמצעות בקר ENA (Elastic Network Adapter)
-כרטיס Nitro עבור EBS – מאפשר גישה לשירות EBS (Elastic Block Storage)
-כרטיס Nitro עבור Instance storage – מאפשר גישה לדיסקים בחיבור מקומי עבור מכונות EC2
-שבב Nitro עבור Security – מאפשר Root of trust מבוסס חומרה
בשנת 2020, הציגה חברת AWS את טכנולוגיית AWS Nitro Enclaves המאפשרת ללקוח לייצר סביבה מבודדת עבור נתונים רגישים ובכך לצמצם את משטח התקיפה (Attack surface).
מכונת EC2, לפני טכנולוגיית AWS Nitro Enclaves:
מכונת EC2 עם טכנולוגיית AWS Nitro Enclaves מופעלת:
הדיאגרמה מטה מציגה שתי מכונות EC2 וירטואליות, על גבי אותה חומרה פיזית, כאשר באחת המכונות הפעילו את תכונות Nitro Enclaves:
מידע נוסף:
AWS Nitro System
https://aws.amazon.com/ec2/nitro/
Powering next-gen Amazon EC2: Deep dive into the Nitro system
https://www.youtube.com/watch?v=rUY-00yFlE4
Deep Dive Into AWS Nitro Enclaves
https://www.youtube.com/watch?v=K5PRNHaEdOw
Reinventing virtualization with the AWS Nitro System
https://www.allthingsdistributed.com/2020/09/reinventing-virtualization-with-aws-nitro.html
AWS Nitro System
https://perspectives.mvdirona.com/2019/02/aws-nitro-system/
AWS Nitro – What Are AWS Nitro Instances, and Why Use Them?
https://www.metricly.com/aws-nitro/
AWS Nitro Enclaves
https://aws.amazon.com/ec2/nitro/nitro-enclaves
AWS Nitro Enclaves – Isolated EC2 Environments to Process Confidential Data
https://aws.amazon.com/blogs/aws/aws-nitro-enclaves-isolated-ec2-environments-to-process-confidential-data
AWS Nitro Enclaves – Getting Started Video
https://www.youtube.com/watch?v=t-XmYt2z5S8
הדור השני של טכנולוגיית הענן של אורקל (Oracle Gen2 Cloud)
בשנת 2018, הציגה חברת אורקל את הדור השני של תשתית הענן שלה.
טכנולוגיית Oracle Gen2 מאפשרת לבודד את שכבת הרשת בתשתית הווירטואליזציה, תוך שימוש בכרטיס חומרה ייעודי בשם SmartNIC (שילוב של תוכנה עם כרטיס חומרה), המאפשר ללקוח לקבל את היתרונות הבאים:
-הקטנת משטח התקיפה (Attack surface)
-מניעת היכולת של תוקף לשוטט (Lateral traversal) בין שרתים פיזיים (Bare Metal), קונטיינרים ומכונות וירטואליות (VM Hosts)
-הגנה מפני מתקפות Man-in-the-Middle בין מחשבים מאחרים (Hosts) ובין מכונות וירטואליות (Guest VMs)
-הגנה מפני מתקפות מניעת שירות (Denial-of-service) כלפי מכונות וירטואליות
שרטוט דוגמא לדור הראשון של Hypervisors בתשתית ענן ציבורי:
שרטוט דוגמא ל-Hypervisor בטכנולוגיית Oracle Gen2:
ארכיטקטורת הענן של אורקל שונה מיתר ספקי הענן הציבורי בכל הנוגע לכוח המעבד.
בענן של אורקל, יחידת מעבד אחת / (OCPU (Oracle Compute Unit = מעבד פיזי אחד, בעוד ייתר ספקי הענן הציבורי משתמשים בטכנולוגיית ה-Hyperthreading של אינטל ובה כל שני vCPU = מעבד פיזי אחד.
כתוצאה מכך, הלקוח מקבל ביצועים טובים יותר לכל OCPU שהוא צורך.
תכונה נוספת המאפיינת את ארכיטקטורת הענן של אורקל – אין שיתוף משאבי חומרה (Oversubscription) דוגמת מעבד, זיכרון, רשת וכו' בין לקוחות שונים, גם לא בין לקוחות שונים על אותה חומרה פיזית, דבר המונע תרחיש של “Noisy neighbor” ומאפשר ללקוח לקבל ביצועים טובים ומובטחים.
מידע נוסף:
Oracle Cloud Infrastructure Security Architecture
https://www.oracle.com/a/ocom/docs/oracle-cloud-infrastructure-security-architecture.pdf
Oracle Cloud Infrastructure — Isolated Network Virtualization
https://www.oracle.com/security/cloud-security/isolated-network-virtualization/
What is a Gen 2 Cloud?
https://blogs.oracle.com/platformleader/what-is-a-gen-2-cloud
Exploring Oracle's Gen 2 Cloud Infrastructure Security Architectures: Isolated Network Virtualization
https://blogs.oracle.com/cloudsecurity/exploring-oracles-gen-2-cloud-infrastructure-security-architectures3a-isolated-network-virtualization
Cloud Generation 2: Autonomous, Secure, and Extensible
https://youtu.be/ceH8QJ_RWTI
Properly sizing workloads in the Oracle Government Cloud: Save costs and gain performance with OCPUs
https://blogs.oracle.com/cloud-infrastructure/properly-sizing-workloads-in-the-oracle-government-cloud-save-costs-and-gain-performance-with-ocpus