Η Microsoft αποκάλυψε πρόσφατα η έναρξη του ένα νέο έργο ανοιχτού κώδικα, που έχει το όνομα "Υπερβολισμός«. Αυτός είναι ένας hypervisor που έχει σχεδιαστεί ειδικά για να ενσωματώνεται σε εφαρμογές που απαιτούν απομονωμένη εκτέλεση κώδικα, είτε για λόγους ασφαλείας είτε για χειρισμό μη αξιόπιστων τμημάτων.
Το Hyperlight τοποθετείται ως κοινόχρηστη βιβλιοθήκη, η οποία σας επιτρέπει να εκτελείτε λειτουργίες σε μικρο-VMs, ελαχιστοποίηση της καθυστέρησης και διευκόλυνση της αποτελεσματικής επικοινωνίας με τις φιλοξενούμενες λειτουργίες.
Σχετικά με το Hyperlight
Σε σύγκριση με τις παραδοσιακές εικονικές μηχανές, το Hyperlight ξεχωρίζει για το χαμηλό αντίκτυπό του στην απόδοση, δεδομένου ότι σε σύγκριση με την εκκίνηση μιας τυπικής εικονικής μηχανής που απαιτεί τουλάχιστον 120 χιλιοστά του δευτερολέπτου, το Hyperlight σας επιτρέπει να δημιουργήσετε μικρο-VM σε μόλις 1 έως 2 χιλιοστά του δευτερολέπτου, επιτρέποντας την απομόνωση σε λειτουργικό επίπεδο.
Επιπλέον, αναφέρεται ότι παρόλο που περιβάλλοντα όπως το Wasmtime for WebAssembly προσφέρουν ακόμη χαμηλότερους χρόνους, 0,03 χιλιοστών του δευτερολέπτου, το Hyperlight επιδιώκει να προσφέρει μια ιδανική ισορροπία μεταξύ απομόνωσης και λειτουργικότητας για πολύπλοκες εφαρμογές.
Σε αντίθεση με τις παραδοσιακές διαμορφώσεις, Τα micro-VM στο Hyperlight δεν χρησιμοποιούν πυρήνα ή πλήρες λειτουργικό σύστημα. Αντίθετα, η εικονική μηχανή ανάγεται σε αυτόνομο πρόγραμμα που περιλαμβάνει τον κωδικό λειτουργίας, έναν ελάχιστο εξειδικευμένο πυρήνα και τον απαραίτητο χρόνο εκτέλεσης, που εκτελείται σε μια ενιαία περιοχή μνήμης με εκχωρημένη εικονική CPU, χωρίς διεργασίες κατάτμησης ή συσκευές χαρτογράφησης.
Το Hyperlight επιτρέπει αυτές τις προσαρμογές σε ένα ευρύ φάσμα σεναρίων: για την ενσωμάτωση λειτουργιών πύλης Internet of Things (IoT), χρήση σε βιομηχανικούς αυτοματισμούς, υπηρεσίες cloud υψηλής απόδοσης κ.λπ.
Η ροή ανάπτυξης με το Hyperlight περιλαμβάνει τη σύνδεση του κύριου κώδικα εφαρμογής με τη βιβλιοθήκη Hyperlight Host, υπεύθυνος για τη διαχείριση μικρο-VM. Από την πλευρά του, ο Απομονωμένος κώδικας που εκτελείται μέσα σε αυτά τα μικρο-VM χρησιμοποιεί τη βιβλιοθήκη Hyperlight Guest, η οποία προσφέρει τα απαραίτητα API για αλληλεπίδραση με το εξωτερικό και επιτρέπει στον κώδικα να εκτελείται εντελώς ανεξάρτητα από το λειτουργικό σύστημα του κεντρικού υπολογιστή. Με αυτήν την αρχιτεκτονική, το Hyperlight επιδιώκει να επαναπροσδιορίσει την απομονωμένη εκτέλεση των λειτουργιών, προσφέροντας μια αποτελεσματική και ασφαλή προσέγγιση για σύγχρονες εφαρμογές.

ένα εξέχον χαρακτηριστικό από το Hyperlight είναι η ικανότητά του να δημιουργεί μια αμφίδρομη αλληλεπίδραση μεταξύ της εφαρμογής κεντρικού υπολογιστή και των απομονωμένων συναρτήσεων, καθώς όχι μόνο επιτρέπει στις εφαρμογές να καλούν συναρτήσεις που φιλοξενούνται σε απομονωμένα περιβάλλοντα, αλλά επιτρέπει επίσης σε αυτές τις λειτουργίες να έχουν πρόσβαση σε ορισμένα στοιχεία του κεντρικού υπολογιστή. Ωστόσο, αυτό Η πρόσβαση ελέγχεται αυστηρά για να διασφαλιστεί η ασφάλεια αφού από προεπιλογή, οι απομονωμένες συναρτήσεις μπορούν να επικοινωνούν με τον κεντρικό υπολογιστή μόνο μέσω ενός ελάχιστου API που διευκολύνει την ανταλλαγή μηνυμάτων. Αυτός ο περιορισμός διασφαλίζει ένα ελεγχόμενο περιβάλλον και μειώνει τους κινδύνους ασφαλείας που σχετίζονται με τη λειτουργική απομόνωση.
Από την πλευρά τους μακροπρόθεσμα σχέδιαMicrosoft αναφέρει ότι επιδιώκει να μετατρέψει το Hyperlight σε ένα συλλογικό έργο ευρύτερο υπό τη διαχείριση του Cloud Native Computing Foundation (CNCF). Αυτό το κίνημα στοχεύει να προωθήσει την ουδέτερη και ανοιχτή ανάπτυξη, αποκομμένη από την αποκλειστική επιρροή συγκεκριμένων κατασκευαστών. Το CNCF, το οποίο λειτουργεί υπό το Ίδρυμα Linux, είναι ήδη υπεύθυνο για έργα με επιρροή όπως τα Kubernetes, Containerd, Istio και gRPC, γεγονός που μας δίνει μια ιδέα για τη μεγάλη ικανότητα που έχει στη διαχείριση βασικών τεχνολογικών πρωτοβουλιών στο υπολογιστικό οικοσύστημα στο σύννεφο. Αυτό το βήμα υπόσχεται να επεκτείνει την εμβέλεια του Hyperlight και να το καθιερώσει ως βασικό εργαλείο στον εγγενή χώρο εφαρμογών του cloud.
Ως προς τρέχουσα υποστήριξη πλατφόρμας, είναι σημαντικό να αναφέρουμε ότι υποστηρίζει πολλαπλά περιβάλλοντα για να εγγυηθεί την ευελιξία του. Σε Linux, υποστηρίζει hypervisors KVM και mshv (Microsoft Hypervisor σε Azure Linux), ενώ στα Windows χρησιμοποιεί WHP (Windows Hypervisor Platform) και WSL2 με KVM (προς το παρόν, το macOS έχει μείνει εκτός).
Τέλος, αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, θα πρέπει να γνωρίζετε ότι το έργο αναπτύσσεται στο Rust, και είναι δΔιατίθεται με την άδεια Apache 2.0. Μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.