diff --git a/Bibliography.bib b/Bibliography.bib index 1add58c..cae7189 100644 --- a/Bibliography.bib +++ b/Bibliography.bib @@ -169,12 +169,30 @@ howpublished="\url{https://www.ibm.com/topics/virtualization}" } +@misc{ibmHypervisorDefinition, + title={What are hypervisors?}, + author={IBM}, + howpublished="\url{https://www.ibm.com/topics/hypervisors}" +} + @misc{redhatVirtualizationDefinition, title={Understanding virtualization}, author={Red Hat}, howpublished="\url{https://www.redhat.com/en/topics/virtualization}" } +@misc{ansible, + title={Ansible}, + author={Red Hat}, + howpublished="\url{https://www.ansible.com/}" +} + +@misc{terraform, + title={Terraform}, + author={HashiCorp}, + howpublished="\url{https://www.terraform.io/}" +} + @article{mell2011nist, title={The NIST definition of cloud computing}, author={Mell, Peter and Grance, Tim and others}, diff --git a/Chapters/2.Background.tex b/Chapters/2.Background.tex index 84dfa9c..21a8eea 100644 --- a/Chapters/2.Background.tex +++ b/Chapters/2.Background.tex @@ -120,6 +120,8 @@ \subsection{Μοντέλα Παράδοσης} \label{cloudComputingDeploymentModels} +Τα τέσσερα μοντέλα παράδοσης του υπολογιστικού νέφους είναι: + \begin{itemize} \item \textbf{Ιδιωτικό νέφος}: @@ -160,11 +162,28 @@ Σύμφωνα με τον ορισμό της \textlatin{Red Hat} \cite{redhatVirtualizationDefinition}, η εικονικοποίηση είναι μια τεχνολογία -που καθιστά δυνατή τη δημιουργία χρήσιμων υπηρεσιών ΤΠ χρησιμοποιώντας πόρους -στους οποίους παραδοσιακά μπορούσαμε να έχουμε πρόσβαση μονάχα από την -ιδιοκτησία φυσικών μηχανημάτων. Μας επιτρέπει να αξιοποιήσουμε όλες τις -δυνατότητες ενός φυσικού μηχανήματος διανέμοντας τις σε πολλούς χρήστες και -περιβάλλοντα. +που μας επιτρέπει να δημιουργήσουμε πολλαπλά εικονικά περιβάλλοντα ή +αποκλειστικούς πόρους από ένα μόνο, φυσικό σύστημα υλικού. Ένα λογισμικό +ονόματι \textlatin{hypervidor} συνδέεται απευθείας στο υλικό αυτό και δίνει τη +δυνατότητα διαμερισμού ενός συστήματος σε ξεχωριστά, διακριτά και ασφαλή +περιβάλλοντα, γνωστά ως εικονικές μηχανές (\textlatin{VM}). Αυτές οι εικονικές +μηχανές βασίζονται στην ικανότητα του \textlatin{hypervisor} να διαχωρίζει τους +πόρους της μηχανής από το υλικό και να τους κατανέμει κατάλληλα. + +Το φυσικό υλικό, εξοπλισμένο με έναν \textlatin{hypervisor}, ονομάζεται +\textlatin{host}, ενώ τα πολλά \textlatin{VM} που χρησιμοποιούν τους πόρους του +είναι οι \textlatin{guests}. Αυτοί, αντιμετωπίζουν τους υπολογιστικούς πόρους +όπως είναι η \textlatin{CPU}, η μνήμη και ο αποθηκευτικός χώρος, ως μια +δεξαμενή πόρων που μπορεί εύκολα να ανακατανεμηθεί. Οι χειριστές μπορούν να +ελέγχουν εικονικά στιγμιότυπα της μνήμης, της κεντρικής μονάδας επεξεργασίας +και άλλων πόρων, ούτως ώστε οι \textlatin{guest} να λαμβάνουν τους πόρους που +χρειάζονται όταν είναι απαραίτητο. + +Η εικονοποίηση καθιστά δυνατή τη δημιουργία χρήσιμων υπηρεσιών ΤΠ +χρησιμοποιώντας πόρους στους οποίους παραδοσιακά μπορούσαμε να έχουμε πρόσβαση +μονάχα από την ιδιοκτησία φυσικών μηχανημάτων. Μας επιτρέπει να αξιοποιήσουμε +όλες τις δυνατότητες ενός φυσικού μηχανήματος διανέμοντας τις σε πολλούς +χρήστες και περιβάλλοντα. Ας φανταστούμε πως έχουμε τρεις διακομιστές, στον καθένα από τους οποίους έχει ανατεθεί ένας συγκεκριμένος σκοπός. Ένας διακομιστής ηλεκτρονικού ταχυδρομείου, @@ -174,7 +193,7 @@ το 30\% των δυνατοτήτων του. \begin{center} - \includegraphics[width = .8\textwidth]{Figures/redhat_virtualization_server_usage1.png} + \includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_virtualization_server_usage1.png} \captionof{figure}{Χρήση διακομιστών χωρίς εικονικοποίηση} \label{fig:virtualizationServerUsage1} \end{center} @@ -186,7 +205,7 @@ έχοντας πλέον δύο εικονικά μηχανήματα με τη χρήση ενός. \begin{center} - \includegraphics[width = .8\textwidth]{Figures/redhat_virtualization_server_usage2.png} + \includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_virtualization_server_usage2.png} \captionof{figure}{Χρήση διακομιστών με εικονικοποίηση} \label{fig:virtualizationServerUsage2} \end{center} @@ -201,11 +220,11 @@ Ενώ η τεχνολογία εικονικοποίησης χρονολογείται από τη δεκαετία του 1960, δεν υιοθετήθηκε ευρέως μέχρι τις αρχές της δεκαετίας του 2000. Οι τεχνολογίες που -επέτρεψαν την εικονικοποίηση όπως οι \textlatin{hypervisors} αναπτύχθηκαν πριν -από δεκαετίες για να δώσουν σε πολλούς χρήστες ταυτόχρονη πρόσβαση σε -υπολογιστές που επεξεργαζόντουσαν πολλά δεδομένα ταυτόχρονα. Κάτι ιδιαίτερα -δημοφιλές στον τομέα των επιχειρήσεων για καθήκοντα ρουτίνας που έπρεπε να -εκτελεστούν χιλιάδες φορές πολύ γρήγορα όπως η μισθοδοσία υπαλλήλων. +την έκαναν πραγματικότητα όπως οι \textlatin{hypervisors} αναπτύχθηκαν πριν από +δεκαετίες για να δώσουν σε πολλούς χρήστες ταυτόχρονη πρόσβαση σε υπολογιστές +που επεξεργαζόντουσαν πολλά δεδομένα ταυτόχρονα. Κάτι ιδιαίτερα δημοφιλές στον +τομέα των επιχειρήσεων για καθήκοντα ρουτίνας που έπρεπε να εκτελεστούν +χιλιάδες φορές πολύ γρήγορα όπως η μισθοδοσία υπαλλήλων. Ωστόσο, μέσα στις επόμενες δεκαετίες, ήρθαν στο προσκήνιο άλλες λύσεις στο πρόβλημα διαμοιρασμού ενός μηχανήματος σε πολλούς χρήστες, μειώνοντας έτσι το @@ -216,7 +235,338 @@ σειρά του άνοιξε δρόμο για την άφιξη του \textlatin{Linux}. Καθ'' όλη τη διάρκεια αυτή, η εικονοποίηση παρέμεινε σε μεγάλο βαθμό μη διαδεδομένη. +Προχωρώντας στη δεκαετία του 1990, οι περισσότερες επιχειρήσεις διέθεταν +φυσικούς διακομιστές και στοίβες μηχανημάτων ενός προμηθευτή, οι οποίες δεν +επέτρεπαν την εκτέλεση παλαιών εφαρμογών σε υλικό διαφορετικού προμηθευτή. +Καθώς οι εταιρείες αναβάθμιζαν τα περιβάλλοντα πληροφορικής τους με λιγότερο +δαπανηρούς διακομιστές, λειτουργικά συστήματα και εφαρμογές από διάφορους +προμηθευτές, ήταν υποχρεωμένες να υπολειτουργούν το φυσικό υλικό αφού κάθε +διακομιστής μπορούσε να εκτελέσει μόνο 1 εργασία που αφορούσε συγκεκριμένο +προμηθευτή. +Από εκείνο το σημείο και έπειτα άρχισε να φαίνεται η ανάγκη της εικονοποίησης +και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν πλέον να +διαμερίσουν τους διακομιστές τους και να εκτελούν παλαιές εφαρμογές σε πολλούς +τύπους και εκδόσεις λειτουργικών συστημάτων. Οι διακομιστές άρχισαν να +χρησιμοποιούνται πιο αποδοτικά ή και καθόλου μειώνοντας τα κόστη αγοράς, +εγκατάστασης, συντήρησης και ψύξης. + +Η ευρεία εφαρμογή της εικονικοποίησης συνέβαλε στη μείωση του εγκλωβισμού στον +προμηθευτή και την κατέστησε το θεμέλιο του υπολογιστικού νέφους. Σήμερα είναι +τόσο διαδεδομένη σε όλες τις επιχειρήσεις που συχνά απαιτείται εξειδικευμένο +λογισμικό διαχείρισης των εικονικών πόρων για να μπορέσει κανείς να +παρακολουθεί τα δρώμενα της επιχείρησής. + +\section{Τι είναι ένας \textlatin{hypervisor}} \label{hypervisors} + +Προτού έρθουν στο προσκήνιο, οι περισσότεροι φυσικοί υπολογιστές μπορούσαν να +εκτελέσουν ένα λειτουργικό σύστημα τη φορά. Αυτό συνέβαλε στη σταθερότητα τους +μιας και χρειαζόταν να διαχειριστούν αιτήματα από ένα μοναδικό λειτουργικό +σύστημα αλλά αυτή η προσέγγιση είχε ένα μειονέκτημα. Μεγάλο κομμάτι των πόρων +του συστήματος έμενε ανεκμετάλλευτο. + +Αυτό το πρόβλημα λύθηκε με την εισαγωγή των \textlatin{hypervisors}. Πρόκειται +για μια στρώση λογισμικού που καθιστά δυνατή την εκτέλεση πολλαπλών +λειτουργικών συστημάτων το ένα δίπλα στο άλλο μοιράζοντας τους ίδιους φυσικούς +πόρους σε κάθε ένα από αυτά. Η πράξη αυτή ονομάζεται εικονικοποίηση και τα +στιγμιότυπα των λειτουργικών συστημάτων λέγονται εικονικές μηχανές. Είναι +προσομοιώσεις φυσικών υπολογιστών. + +Οι \textlatin{hypervisors} είναι υπεύθυνοι για τη διαχείριση των εικονικών +μηχανών χωρίζοντας τις αναθέτοντας σε κάθε μια ένα κομμάτι της διαθέσιμης +υπολογιστικής ισχύς, μνήμης και χώρου αποθήκευσης. Αυτή η διαδικασία τις +αποτρέπει από την αλληλεπίδραση μεταξύ τους και στην περίπτωση κατάρρευσης μιας +εικονικής μηχανής, δεν επηρεάζονται οι υπόλοιπες. + +\pagebreak + +\section{Είδη \textlatin{hypervisor}} \label{hypervisorTypes} + +Οι \textlatin{hypervisors} χωρίζονται σε δύο κατηγορίες ανάλογα με το +περιβάλλον στο οποίο εκτελούνται. Αυτές είναι: + +\begin{itemize} + + \item \textbf{\textlatin{Type 1 (Bare Metal)}}: + + Ένας \textlatin{hypervisor} τύπου 1 εκτελείται απευθείας στο φυσικό + υλικό του υποκείμενου υπολογιστή, αλληλεπιδρώντας άμεσα με την κεντρική + μονάδα επεξεργασίας, τη μνήμη και τη φυσικό αποθηκευτικό χώρο. Για το + λόγο αυτό, οι \textlatin{hypervisors} τύπου 1 αναφέρονται επίσης ως + \textlatin{bare-metal hypervisors} και αντικαθιστούν το λειτουργικό + σύστημα του κεντρικού υπολογιστή. Η άμεση πρόσβαση στο φυσικό υλικό + έρχεται τους καθιστά ιδιαίτερα αποδοτικούς. Συχνά απαιτείται μια + ξεχωριστή μηχανή διαχείρισης για τον έλεγχο των εικονικών μηχανών και + του υλικού του κεντρικού υπολογιστή. + + \item \textbf{\textlatin{Type 2 (Hosted)}}: + + Ένας \textlatin{hypervisor} τύπου 2 δεν εκτελείται απευθείας στο + υποκείμενο υλικό. Αντ'' αυτού, εκτελείται ως εφαρμογή σε ένα υπάρχον + λειτουργικό σύστημα. Η χρήση τους δε συνηθίζεται σε περιβάλλοντα με + πολλούς διακομιστές. Αντίθετα, είναι καταλληλότεροι για μεμονωμένους + τελικούς χρήστες υπολογιστών που χρειάζονται να τρέξουν πολλαπλά + λειτουργικά συστήματα. Μερικοί από αυτούς είναι μηχανικοί, + επαγγελματίες ασφαλείας που αναλύουν κακόβουλο λογισμικό και + επιχειρηματικοί χρήστες που χρειάζονται πρόσβαση σε εφαρμογές που είναι + διαθέσιμες μόνο σε άλλες πλατφόρμες λογισμικού. + + Διαθέτουν συχνά πρόσθετες εργαλειοθήκες για τους χρήστες που μπορούν να + εγκατασταθούν στο λειτουργικό σύστημα προκειμένου να παρέχουν + βελτιωμένες συνδέσεις μεταξύ του υποκείμενου λειτουργικού συστήματος + και εκείνου της εικονικής μηχανής. Οι πρόσθετες δυνατότητες που + υποστηρίζονται μετά την παραπάνω διαδικασία μπορεί να είναι η αποκοπή + και επικόλληση μεταξύ των δύο συστημάτων ή η κοινή πρόσβαση στον + αποθηκευτικό χώρο. + + Επιτρέπει τη γρήγορη εναλλαγή σε διαφορετικά λειτουργικά συστήματα + πέραν του ήδη υπάρχοντος, πράγμα που αυξάνει την παραγωγικότητα του + τελικού χρήστη, αφού μπορεί να έχει πρόσβαση σε εργαλεία που δεν + υποστηρίζονται στο δικό του. + + Εξαιτίας της αρχιτεκτονικής τους, οι \textlatin{hypervisors} τύπου 2 + εισάγουν προβλήματα καθυστέρησης που μπορεί να επηρεάσουν την απόδοση. + Αυτό συμβαίνει επειδή η πρόσβαση στους πόρους υπολογισμού, μνήμης και + δικτύου πραγματοποιείται μέσω του κεντρικού λειτουργικού συστήματος. + + Επιπροσθέτως, εισάγει πιθανούς κινδύνους ασφάλειας εάν ένας εισβολέας + παραβιάσει το κεντρικό λειτουργικό σύστημα, επειδή θα μπορούσε στη + συνέχεια να χειραγωγήσει οποιοδήποτε φιλοξενούμενο λειτουργικό σύστημα + που εκτελείται σε αυτόν. + +\end{itemize} + +\section{Χαρακτηριστικά των \textlatin{hypervisor}} \label{hypervisorCharacteristics} + +Αν και υπάρχουν διαφορετικά είδη \textlatin{hypervisors}, όλοι έχουν κάποια +χαρακτηριστικά που πρέπει να λάβει κανείς υπόψιν όταν επιλέγει ποιον θα +χρησιμοποιήσει. Μερικά σημαντικά αυτών είναι: + +\begin{itemize} + + \item \textbf{Απόδοση}: + + Βασικό χαρακτηριστικό ενός \textlatin{hypervisor} είναι η απόδοση του. + Διαφέρει από \textlatin{hypervisor} σε \textlatin{hypervisor} αναλόγως + τη κατασκευή και τον τύπο. Οι \textlatin{bare-metal hypervisors} θα + πρέπει να έχουν απόδοση κοντά στην εγγενή. + + \item \textbf{Οικοσύστημα}: + + Για τη διαχείριση \textlatin{hypervisor} σε διάφορες κλίμακες πρέπει να + υπάρχει καλή τεκμηρίωση και διάφορα εργαλεία είτε επίσημα είτε από την + κοινότητα που να επιτρέπουν δυνατότητες όπως δημιουργία αντιγράφων + ασφαλείας, ανάλυση χωρητικότητας και διαχείριση εναλλαγής εικονικών + μηχανών σε περιπτώσεις σφάλματος του λειτουργικού συστήματος. + + \item \textbf{Εργαλεία διαχείρισης}: + + Η εκτέλεση εικονικών μηχανών δεν αποτελεί το μοναδικό καθήκον ενός + διαχειριστή κατά τη χρήση ενός \textlatin{hypervisor}. Απαραίτητες + πρόσθετες ενέργειες είναι η συντήρηση και η ανάλυση τους, καθώς και ο + καθαρισμός όσων δε χρησιμοποιούνται πλέον. + + \item \textbf{Μεταφορά κατά τη λειτουργία}: + + Πρέπει να υπάρχει η δυνατότητα μεταφοράς εικονικών μηχανών από έναν + \textlatin{hypervisor} σε κάποιον άλλο σε διαφορετική φυσική μηχανή + χωρίς την ανάγκη διακοπής της λειτουργίας της. Ένα χαρακτηριστικό που + χρησιμεύει τόσο για την ανατροπή αποτυχίας όσο και για την εξισορρόπηση + του φόρτου εργασίας. + + \item \textbf{Κόστος}: + + Το κόστος είναι ένας παράγοντας που πρέπει να ληφθεί υπόψιν κατά την + επιλογή ενός \textlatin{hypervisor}. Οι περισσότεροι είναι δωρεάν αλλά + υπάρχουν και εμπορικές εκδόσεις που προσφέρουν περισσότερες + δυνατότητες. Όπως επίσης και ύπαρξη ή μη, λογισμικού διαχείρισης του + που να του επιτρέπει να κλιμακώνεται ανάλογα τις απαιτήσεις της + επιχείρησης. + +\end{itemize} + +\section {Τρόπος λειτουργίας της εικονικοποίησης} \label{virtualizationOperation} + +Για να πραγματοποιηθεί η εικονικοποίηση, χρειαζόμαστε έναν +\textlatin{hypervisor}. Αυτός είναι ένα λογισμικό που διαχωρίζει τους φυσικούς +πόρους από τα εικονικά περιβάλλοντα, τα οποία τους χρειάζονται. Ένας +\textlatin{hypervisor} μπορεί να τοποθετηθεί πάνω σε ένα λειτουργικό σύστημα ή +να εγκατασταθεί απευθείας στο υλικό. Κάτι που κάνουν οι περισσότερες +επιχειρήσεις για λόγους αποδοτικότητας αφού θα βρίσκεται μια στρώση πιο κοντά +στο υλικό το οποίο θα διαχειρίζεται. Η δουλειά ενός \textlatin{hypervisor} +είναι ουσιαστικά να πάρουν τους φυσικούς μας πόρους και να τους χωρίσουν με +τέτοιο τρόπο ώστε να μπορούν να χρησιμοποιηθούν από τα εικονικά μας +περιβάλλοντα. + +\begin{center} + \includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_virtualization_architecture.png} + \captionof{figure}{\textlatin{hypervisor} πάνω σε διακομιστές} + \label{fig:hypervisorOnServers} +\end{center} + +Μετά τη δημιουργία μιας εικονικής μηχανής, οι χρήστες αλληλεπιδρούν με αυτήν +όπως θα αλληλεπιδρούσαν με μια φυσική. Οι εικονικές μηχανές έχουν τη μορφή ενός +ενιαίου αρχείου, πράγμα που καθιστά εύκολη τη μεταφορά και ανάγνωση τους από +οποιονδήποτε υπολογιστή αναμένοντας τον ίδιο τρόπο λειτουργίας. Κατά την +εκτέλεση του εικονικού περιβάλλοντος, όταν ένας χρήστης ή ένα πρόγραμμα εκδώσει +μία εντολή που απαιτεί περισσότερους πόρους από τους διαθέσιμους του, ο +\textlatin{hypervisor} αναμεταδίδει το αίτημα αυτό στο φυσικό σύστημα και +μπορεί να διαθέσει τους απαραίτητους πόρους για την εκτέλεση. Όλα αυτά +συμβαίνουν με σχεδόν εγγενή ταχύτητα, ιδίως αν αποστέλλεται μέσω ενός +\textlatin{hypervisor} ανοιχτού κώδικα βασισμένου στο \textlatin{KVM}, το +\textlatin{(Kernel-based Virtual Machine)}. + +\pagebreak + +\section{Τύποι εικονικοποίησης} \label{virtualizationTypes} + +Υπάρχουν πολλοί τύποι εικονικοποίησης. Πέντε βασικοί αυτών είναι οι εξής: + +\begin{itemize} + + \item \textbf{\textlatin{Data Virtualization}}: + + \begin{center} + \includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_data_virtualization.png} + \captionof{figure}{\textlatin{Data Virtualization}} + \label{fig:dataVirtualization} + \end{center} + + Διασκορπισμένα δεδομένα μπορούν να ενοποιηθούν σε μια ενιαία πηγή. Με + την εικονικοποίηση δεδομένων, οι εταιρείες μπορούν να οργανώσουν και να + επεξεργαστούν διασκορπισμένες πληροφορίες με γνώμονα τις ανάγκες των + χρηστών με μεγαλύτερη ευκολία και αποδοτικότητα. Τομείς οι οποίοι + επωφελούνται από την εικονικοποίηση δεδομένων είναι η λήψη αποφάσεων, η + επιχειρηματική αναλυτική και η αξιολόγηση των κινδύνων. + +\pagebreak + + \item \textbf{\textlatin{Desktop Virtualization}}: + + \begin{center} + \includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_desktop_virtualization.png} + \captionof{figure}{\textlatin{Desktop Virtualization}} + \label{fig:desktopVirtualization} + \end{center} + + Επιτρέπει σε έναν κεντρικό διαχειριστή να μοιράζει προσομοιωμένα + περιβάλλοντα εργασίας σε εκατοντάδες φυσικές μηχανές ταυτοχρόνως. Εν + αντιθέσει με τα παραδοσιακά περιβάλλοντα εργασίας που χρήζουν + εγκατάστασης, διαμόρφωσης και ενημέρωσης σε κάθε υπολογιστή, η + εικονικοποίηση επιφάνειας εργασίας καθιστά δυνατή τη μαζική + διαμόρφωση, ενημέρωση και έλεγχο ασφαλείας σε όλα τα εικονικά + περιβάλλοντα εργασίας. + + \item \textbf{\textlatin{Server Virtualization}}: + + \begin{center} + \includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_server_virtualization.png} + \captionof{figure}{\textlatin{Server Virtualization}} + \label{fig:serverVirtualization} + \end{center} + + Οι διακομιστές είναι υπολογιστές σχεδιασμένοι με σκοπό να + επεξεργάζονται πολύ καλά έναν μεγάλο όγκο συγκεκριμένων εργασιών, ώστε + άλλοι υπολογιστές να μπορούν να δίνουν προτεραιότητα σε άλλες εργασίες. + Η εικονικοποίηση ενός διακομιστή του επιτρέπει να εκτελεί περισσότερες + από τις συγκεκριμένες λειτουργίες που σχεδιάστηκε να κάνει. Για την + επίτευξη αυτού απαιτείται η κατάτμησή του έτσι ώστε τα στοιχεία του να + μπορούν να χρησιμοποιηθούν για την εξυπηρέτηση πολλαπλών λειτουργιών. + +\pagebreak + + \item \textbf{\textlatin{Operating System Virtualization}}: + + \begin{center} + \includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_os_virtualization.png} + \captionof{figure}{\textlatin{Operating System Virtualization}} + \label{fig:operatingSystemVirtualization} + \end{center} + + Η εικονικοποίηση λειτουργικού συστήματος είναι κάτι που συμβαίνει στον + πυρήνα. Αποτελεί έναν χρήσιμο τρόπο εκτέλεσης \textlatin{Linux} και + \textlatin{Windows} συστημάτων στο ίδιο μηχάνημα. Πολλές επιχειρήσεις + προωθούν τα εικονικά λειουργικά συστήματα σε υπολογιστές, προκειμένου + να μειωθεί το κόστος μηχανημάτων, να αυξηθεί η ασφάλεια και να μειωθεί + ο χρόνος συντήρησης τους. + +\pagebreak + + \item \textbf{\textlatin{Network Function Virtualization}}: + + \begin{center} + \includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_network_function_virtualization.png} + \captionof{figure}{\textlatin{Network Function Virtualization}} + \label{fig:networkFunctionVirtualization} + \end{center} + + Η εικονικοποίηση λειτουργιών δικτύου (\textlatin{NFV}) διαχωρίζει τις + βασικές λειτουργίες ενός δικτύου (όπως ο διαμοιρασμός αρχείων, και η + διαμόρφωση \textlatin{IP}), ώστε να μπορούν να διανεμηθούν σε διάφορα + περιβάλλοντα. Από τη στιγμή που οι λειτουργίες λογισμικού είναι + ανεξάρτητες από τα φυσικά μηχανήματα στα οποία εκτελούνταν, + συγκεκριμένες λειτουργίες μπορούν να πακεταριστούν μαζί σε ένα νέο + δίκτυο και να ανατεθούν σε ένα περιβάλλον. Η εικονικοποίηση των δικτύων + μειώνει τον αριθμό των φυσικών εξαρτημάτων όπως οι μεταγωγείς, + δρομολογητές, διακομιστές, καλώδια και κόμβοι που απαιτούνται για τη + δημιουργία πολλαπλών, ανεξάρτητων δικτύων και είναι ιδιαίτερα δημοφιλής + στον κλάδο των τηλεπικοινωνιών. + +\end{itemize} + +\pagebreak + +\section{Πλεονεκτήματα της εικονικοποίησης} \label{virtualizationAdvantages} + +Η εικονικοποίηση προσφέρει πολλά πλεονεκτήματα στις επιχειρήσεις. Τα πιο +αξιοσημείωτα αυτών με βάση την +\textlatin{\citeauthor{ibmVirtualizationDefinition}} είναι τα παρακάτω. + +\begin{itemize} + + \item \textbf{Αποδοτικότητα πόρων}: + + Προτού η εικονικοποίηση γίνει δημοφιλής, κάθε διακομιστής εφαρμογής + απαιτούσε τη δική αποκλειστική μονάδα κεντρικής επεξεργασίας. Το + προσωπικό της επιχείρησης έπρεπε να αγοράσει και να ρυθμίσει έναν + ξεχωριστό διακομιστή για κάθε εφαρμογή που έπρεπε να εκτελέσει. Η + προτιμώμενη αρχιτεκτονική για λόγους αξιοπιστίας ήταν να υπάρχει μια + εφαρμογή και ένα μόνο λειτουργικό σύστημα για κάθε υπολογιστή. Αυτό + είχε ως αποτέλεσμα την υποχρησιμοποίηση κάθε διακομιστή. Η λύση ήρθε με + τη μορφή της εικονοποίησης διακομιστών η οποία επέτρεπε την εκτέλεση + πολλαπλών εφαρμογών σε έναν φυσικό υπολογιστή δίχως την υπονόμευση της + αξιοπιστίας. + + \item \textbf{Ευκολότερη διαχείριση}: + + Αντικαθιστώντας φυσικούς υπολογιστές με προγραμματιστικά καθορισμένες + εικονικές μηχανές γίνεται δυνατή η χρήση αυτοματοποιημένων ροών + διαχείρισης εργασιών. Οι διαχειριστές συστημάτων μπορούν να + χρησιμοποιούν εργαλεία για τον καθορισμό εικονικών μηχανών + χρησιμοποιώντας πρότυπα κατάλληλα για την υποδομή κάθε επιχείρησης. Με + αυτόν τον τρόπο η εγκατάσταση και η ρύθμιση τους μπορεί να γίνεται + επανειλημμένα δίχως το ρίσκο ανθρώπινου λάθους και γλιτώνοντας τον + χρόνο εγκατάστασης και ρύθμισης τους χειροκίνητα. Ένας συνδυασμός + εργαλείων που το κάνει πραγματικότητα είναι το \textlatin{Ansible} + \cite{ansible} και \textlatin{Terraform} \cite{terraform}. + + \item \textbf{Ελάχιστος χρόνος διακοπής λειτουργίας}: + + Οι καταρρεύσεις λειτουργικών συστημάτων και εφαρμογών μπορεί να + προκαλέσουν διακοπή λειτουργίας και να διαταράξουν την παραγωγικότητα + των χρηστών. Οι διαχειριστές μπορεί να έχουν πλεονάζουσες εικονικές + μηχανές και να πραγματοποιούν εναλλαγή σε αυτές εάν εμφανιστούν + προβλήματα, κάτι που θα ήταν μη αποδοτικό για την επιχείρηση με + φυσικούς διακομιστές. + + \item \textbf{Ταχύτερη παροχή}: + + Η αγορά, εγκατάσταση και διαμόρφωση του υλικού για + κάθε εφαρμογή είναι χρονοβόρα. Εφόσον το υλικό είναι ήδη στη θέση του, + η παροχή εικονικών μηχανών για την εκτέλεση όλων των εφαρμογών σας + είναι σημαντικά ταχύτερη. + +\end{itemize} \section{Ασφάλεια στο \textlatin{Cloud Computing} Στις Μέρες Μας} \label{cloudComputingSecurityNowadays} diff --git a/Figures/RedHat_Virtualization/redhat_data_virtualization.png b/Figures/RedHat_Virtualization/redhat_data_virtualization.png new file mode 100644 index 0000000..306c754 Binary files /dev/null and b/Figures/RedHat_Virtualization/redhat_data_virtualization.png differ diff --git a/Figures/RedHat_Virtualization/redhat_desktop_virtualization.png b/Figures/RedHat_Virtualization/redhat_desktop_virtualization.png new file mode 100644 index 0000000..f378f95 Binary files /dev/null and b/Figures/RedHat_Virtualization/redhat_desktop_virtualization.png differ diff --git a/Figures/RedHat_Virtualization/redhat_network_function_virtualization.png b/Figures/RedHat_Virtualization/redhat_network_function_virtualization.png new file mode 100644 index 0000000..0eb341b Binary files /dev/null and b/Figures/RedHat_Virtualization/redhat_network_function_virtualization.png differ diff --git a/Figures/RedHat_Virtualization/redhat_os_virtualization.png b/Figures/RedHat_Virtualization/redhat_os_virtualization.png new file mode 100644 index 0000000..b8314ee Binary files /dev/null and b/Figures/RedHat_Virtualization/redhat_os_virtualization.png differ diff --git a/Figures/RedHat_Virtualization/redhat_server_virtualization.png b/Figures/RedHat_Virtualization/redhat_server_virtualization.png new file mode 100644 index 0000000..c54a5a2 Binary files /dev/null and b/Figures/RedHat_Virtualization/redhat_server_virtualization.png differ diff --git a/Figures/RedHat_Virtualization/redhat_virtualization_architecture.png b/Figures/RedHat_Virtualization/redhat_virtualization_architecture.png new file mode 100644 index 0000000..17ab7e9 Binary files /dev/null and b/Figures/RedHat_Virtualization/redhat_virtualization_architecture.png differ diff --git a/Figures/redhat_virtualization_server_usage1.png b/Figures/RedHat_Virtualization/redhat_virtualization_server_usage1.png similarity index 100% rename from Figures/redhat_virtualization_server_usage1.png rename to Figures/RedHat_Virtualization/redhat_virtualization_server_usage1.png diff --git a/Figures/redhat_virtualization_server_usage2.png b/Figures/RedHat_Virtualization/redhat_virtualization_server_usage2.png similarity index 100% rename from Figures/redhat_virtualization_server_usage2.png rename to Figures/RedHat_Virtualization/redhat_virtualization_server_usage2.png