From 90706e13b24ceb48597b585bb5385867db2721f2 Mon Sep 17 00:00:00 2001 From: konsthol Date: Wed, 1 Nov 2023 20:55:53 +0200 Subject: [PATCH] At times like this I wish I was a Garbage Man. --- Chapters/1.Introduction.tex | 35 ++--- Chapters/2.Background.tex | 248 +++++++++++++++++++----------------- Thesis.tex | 30 ++--- 3 files changed, 161 insertions(+), 152 deletions(-) diff --git a/Chapters/1.Introduction.tex b/Chapters/1.Introduction.tex index ddb0865..2fd9e67 100644 --- a/Chapters/1.Introduction.tex +++ b/Chapters/1.Introduction.tex @@ -1,6 +1,6 @@ \chapter{Εισαγωγή} \label{introduction} -Παραδοσιακά, όταν ήθελε κάποιος χρήστης/εταιρία να παράσχει μια υπηρεσία, στο +Παραδοσιακά, όταν ήθελε κάποιος χρήστης/εταιρεία να παράσχει μια υπηρεσία, στο ευρύ κοινό θα έπρεπε να διαθέσει ένα ````Χ'''' κεφάλαιο για την αγορά εξοπλισμού. Σε περίπτωση που η υπηρεσία αυτή ετύγχανε ευρείας αποδοχής καθίστατο επιτακτική η ανάγκη της επέκτασης του υφιστάμενου εξοπλισμού αλλά και @@ -56,7 +56,7 @@ Click}. Τις περισσότερες φορές διατίθενται διά Πολλά λειτουργικά συστήματα αλλά και αυτά που κάνουν χρήση του πυρήνα \textlatin{Linux} διαθέτουν μηχανισμούς απομόνωσης διεργασιών και δυνατότητες -εικονοποίησης όπως είναι τα \textlatin{control groups} για την ενάθεση πόρων +εικονικοποίησης όπως είναι τα \textlatin{control groups} για την ενάθεση πόρων μεταξύ διεργασιών και \textlatin{namespaces} για τον περιορισμό πρόσβασης ή ορατότητας αυτών σε σχέση με άλλες διεργασίες ή περιοχές του συστήματος δημιουργώντας έτσι δοχεία. @@ -72,7 +72,7 @@ Click}. Τις περισσότερες φορές διατίθενται διά υβριδικό μοντέλο νέφους και εγκαταστάσεων ή αποκλειστικά στο \textlatin{Cloud}. Το βασικότερο από τα πλεονεκτήματα του σε σχέση με παραδοσιακές εικονικές μηχανές είναι το γεγονός ότι όλα τα δοχεία μοιράζονται τον ίδιο πυρήνα και -επομένως δε χρειάζεται να απονεμηθούν πόροι για εικονοποίηση ολόκληρου του +επομένως δε χρειάζεται να απονεμηθούν πόροι για εικονικοποίηση ολόκληρου του λειτουργικού συστήματος. Επιπλέον, τα δοχεία μπορούν να εκτελεστούν σε κάθε περιβάλλον που έχει εγκατεστημένο το \textlatin{Docker} και πολύ ταχύτερα από μια εικονική μηχανή κάνοντας τα ιδανικά για \textlatin{CI/CD} αλλά και @@ -87,7 +87,7 @@ Click}. Τις περισσότερες φορές διατίθενται διά Η δημοτικότητα του έχει συνταυτίσει τους όρους \textlatin{Docker} και \textlatin{Container}. Παρόλα αυτά ιστορικά, οι πρώτες τεχνολογίες περί δοχείων υπήρχαν πολύ πριν βγει στην αγορά. Συγκεκριμένα το 2008 εφαρμόστηκε στον πυρήνα -του \textlatin{Linux} το \textlatin{LXC} που επέτρεπε πλήρη εικονοποίηση ενός +του \textlatin{Linux} το \textlatin{LXC} που επέτρεπε πλήρη εικονικοποίηση ενός στιγμιότυπου \textlatin{Linux}, ενώ η εντολή \textlatin{chroot} που προϋπήρχε από το 1979 στην έβδομη έκδοση του \textlatin{Unix} έδινε τη δυνατότητα δημιουργίας και φιλοξενίας ενός ξεχωριστού εικονικού αντιγράφου του συστήματος @@ -121,7 +121,7 @@ Click}. Τις περισσότερες φορές διατίθενται διά Μία από τις πιο σημαντικές προκλήσεις κατά την εκτέλεση υπηρεσιών σε δημόσια εικονικά περιβάλλοντα είναι η διατήρηση και επίτευξη της ασφάλειας. Παραδοσιακά -κατά την επιλογή χρήσης τεχνολογιών εικονοποίησης ανάμεσα στις επιλογές +κατά την επιλογή χρήσης τεχνολογιών εικονικοποίησης ανάμεσα στις επιλογές \textlatin{hypervisor-based} και \textlatin{container-based} είθισται να είναι προτιμότερη η δεύτερη. Μια λογική απόφαση εάν αναλογιστεί κανείς τα πλεονεκτήματα που προσφέρει στην απόδοση και την αποδοτική αλλά και εύκολη @@ -174,9 +174,9 @@ Click}. Τις περισσότερες φορές διατίθενται διά του \textlatin{Docker} είναι η ρύθμιση καλύτερων \textlatin{Apparmor} προφίλ ή κανόνων \textlatin{SELinux} προκειμένου να απομονωθεί καλύτερα από το κύριο σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως -τα δοχεία και όχι τη μηχανή δοχείων καθ'' αυτού. Γι'' αυτό τον λόγο πολλές φορές -πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία του όπως η -αποφυγή χρήσης του διαχειριστικού λογαριασμού όσον αφορά τα δοχεία και η +τα δοχεία και όχι τη μηχανή δοχείων καθ'' αυτού. Γι'' αυτό τον λόγο πολλές +φορές πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία του +όπως η αποφυγή χρήσης του διαχειριστικού λογαριασμού όσον αφορά τα δοχεία και η αποφυγή λήψης δοχείων από μη έμπιστες πηγές. \pagebreak @@ -200,16 +200,17 @@ Click}. Τις περισσότερες φορές διατίθενται διά Συνεχίζοντας παρακάτω, η δομή που θα συναντήσει ο αναγνώστης είναι η εξής. Στο κεφάλαιο [\ref{background}] θα μελετήσουμε τον όρο \textlatin{cloud computing}, -θα αναλύσουμε τις διάφορες τεχνολογίες εικονοποίησης και θα εμβαθύνουμε στην +θα αναλύσουμε τις διάφορες τεχνολογίες εικονικοποίησης και θα εμβαθύνουμε στην τεχνολογία των δοχείων και συγκεκριμένα στην ασφάλεια του \textlatin{Docker}. Στο επόμενο κεφάλαιο [\ref{relevantWork}], θα δούμε εργασίες σχετικές με την παρούσα και θα πραγματοποιηθεί ανάλυση και σύγκριση αυτών. Αμέσως μετά, στο [\ref{projectDevelopment}], αναφερόμαστε στον σχεδιασμό του εργαλείου μιλώντας -για τις απαιτήσεις, τα συστατικά του μέρη και πως συνεργάζονται μεταξύ τους. -Προχωρώντας στο [\ref{installationANDShowcase}], θα αναφερθούμε στις οδηγίες -εγκατάστασης και λειτουργίας του εργαλείου με βάση στοχευμένα σενάρια χρήσης. -Έπειτα, στο [\ref{experimentationANDresults}] βλέπουμε την αποδοτικότητα του -μετά από αρκετές χρήσεις και μετρήσεις που έγιναν προκειμένου να αποτιμηθεί -ορθότερα η εξασφάλιση των στόχων του. Τέλος, στο [\ref{conclusions}], γίνεται -αναφορά σημείων που θα μπορούσαν να επωφεληθούν με βελτιώσεις προκειμένου να -μπορέσει να πάρει μια θέση στην αγορά. +για τις απαιτήσεις, τα συστατικά του μέρη και πως αυτά συνεργάζονται μεταξύ +τους. Προχωρώντας στο [\ref{installationANDShowcase}], θα αναφερθούμε στις +οδηγίες εγκατάστασης και λειτουργίας του εργαλείου με βάση στοχευμένα σενάρια +χρήσης. Έπειτα, στο [\ref{experimentationANDresults}] βλέπουμε την +αποδοτικότητα του μετά από αρκετές χρήσεις και μετρήσεις που έγιναν προκειμένου +να αποτιμηθεί ορθότερα η εξασφάλιση των στόχων του. Τέλος, στο +[\ref{conclusions}], γίνεται αναφορά σημείων που θα μπορούσαν να επωφεληθούν με +βελτιώσεις προκειμένου να μπορέσει το εργαλείο αυτό να πάρει μια θέση στην +αγορά. diff --git a/Chapters/2.Background.tex b/Chapters/2.Background.tex index 21a8eea..6582331 100644 --- a/Chapters/2.Background.tex +++ b/Chapters/2.Background.tex @@ -3,17 +3,17 @@ Προκειμένου να κατανοήσουμε πλήρως το πρόβλημα που επιλύει η παρούσα εργασία πρέπει να αναλύσουμε μερικές βασικές έννοιες. Σε πρώτη φάση θα δούμε παρακάτω τι είναι το υπολογιστικό νέφος, τι μας προσφέρει και ποια μοντέλα παράδοσης -παρέχονται μέσω αυτού. Έπειτα θα μιλήσουμε για την έννοια της εικονοποίησης και -τις διάφορες υποκατηγορίες της που χρησιμοποιούνται στις μέρες μας. Έπειτα, θα -αναλυθούν τα πλεονεκτήματα τους και θα μπορέσουμε να εντοπίσουμε τον λόγο που -προτιμάται η αρχιτεκτονική δοχείων. Τέλος, θα εμβαθύνουμε στην τεχνολογία -δοχείων, θα δούμε διάφορες υλοποιήσεις της και θα πραγματοποιήσουμε μια ανάλυση -της ασφάλειας του \textlatin{Docker}. +παρέχονται μέσω αυτού. Έπειτα θα μιλήσουμε για την έννοια της εικονικοποίησης +και τις διάφορες υποκατηγορίες της που χρησιμοποιούνται στις μέρες μας. Αμέσως +μετά, θα αναλυθούν τα πλεονεκτήματα της και θα μπορέσουμε να εντοπίσουμε τον +λόγο που προτιμάται η αρχιτεκτονική δοχείων. Τέλος, θα εμβαθύνουμε στην +τεχνολογία δοχείων, θα δούμε διάφορες υλοποιήσεις της και θα πραγματοποιήσουμε +μια ανάλυση της ασφάλειας του \textlatin{Docker}. \section{\textlatin{Cloud Computing Definition}} \label{cloudComputingDefinition} Σύμφωνα με το \cite{mell2011nist} το \textlatin{Cloud Computing} είναι ένα -μοντέλο που επιτρέπει ανά πάσα στιγμή τη διαδικτυακή πρόσβαση σε μια κοινή +μοντέλο που επιτρέπει την ανά πάσα στιγμή διαδικτυακή πρόσβαση σε μια κοινή δεξαμενή ρυθμιζόμενων υπολογιστικών πόρων που μπορούν να παρέχονται και να απελευθερώνονται γρήγορα και με ελάχιστη προσπάθεια διαχείρισης ή αλληλεπίδρασης με τον πάροχο υπηρεσιών. Στους υπολογιστικούς αυτούς πόρους @@ -59,9 +59,9 @@ Οι δυνατότητες μπορούν να παρέχονται και να απελευθερώνονται ελαστικά και σε ορισμένες περιπτώσεις αυτόματα, με σκοπό την οριζόντια ή κάθετη - κλιμάκωση υπηρεσιών ανάλογα με τη ζήτηση. Από την οπτική γωνία του - καταναλωτή, οι παρεχόμενες δυνατότητες μοιάζουν απεριόριστες και - μπορούν να κατανεμηθούν σε οποιαδήποτε ποσότητα και ανά πάσα στιγμή. + κλιμάκωση υπηρεσιών αναλόγως την παρούσα ζήτηση. Από την οπτική γωνία + του καταναλωτή, οι παρεχόμενες δυνατότητες μοιάζουν απεριόριστες και + μπορούν να κατανεμηθούν ανά πάσα στιγμή σε οποιαδήποτε ποσότητα. \item \textbf{Μετρούμενη υπηρεσία}: @@ -69,7 +69,7 @@ πόρων αξιοποιώντας δυνατότητες μέτρησης κατάλληλες για τον τύπο της υπηρεσίας (π.χ, αποθήκευση, επεξεργασία, εύρος ζώνης και λογαριασμοί ενεργών χρηστών). Η χρήση των πόρων μπορεί να παρακολουθείται, να - ελέγχεται και να αναφέρεται, παρέχοντας διαφάνεια τόσο στον πάροχο όσο + ελέγχεται και να αναγράφεται, παρέχοντας διαφάνεια τόσο στον πάροχο όσο και στον καταναλωτή της υπηρεσίας που χρησιμοποιείται. \end{itemize} @@ -95,13 +95,13 @@ \item \textbf{\textlatin{Platform as a Service (PaaS)}}: Η παρεχόμενη δυνατότητα είναι η χρήση ή η ανάπτυξη εφαρμογών σε μια - υποδομή νέφους. Οι εφαρμογές αυτές μπορεί να δημιουργήθηκαν ή + υποδομή νέφους. Οι εφαρμογές αυτές μπορεί να δημιουργήθηκαν ή να αποκτήθηκαν από τον καταναλωτή και έχουν κατασκευαστεί χρησιμοποιώντας γλώσσες προγραμματισμού, βιβλιοθήκες, υπηρεσίες και εργαλεία που υποστηρίζονται από τον πάροχο. Ο καταναλωτής δεν έχει τον έλεγχο της υποκείμενης υποδομής νέφους, αλλά έχει τον έλεγχο των εφαρμογών που - εκτελούνται σε αυτήν, καθώς και των ρυθμίσεων διαμόρφωσης της εφαρμογής - και του περιβάλλοντος εκτέλεσης της. + εκτελούνται σε αυτήν, καθώς και των ρυθμίσεων διαμόρφωσης τους και του + περιβάλλοντος εκτέλεσης τους. \item \textbf{\textlatin{Infrastructure as a Service (IaaS)}}: @@ -111,8 +111,7 @@ συμπεριλαμβανομένων λειτουργικών συστημάτων και εφαρμογών. Ο καταναλωτής δεν έχει τον έλεγχο της υποκείμενης υποδομής νέφους, αλλά έχει τον έλεγχο των λειτουργικών συστημάτων, του αποθηκευτικού χώρου, - των εγκατεστημένων εφαρμογών και των ρυθμίσεων διαμόρφωσης των - εφαρμογών. + των εγκατεστημένων εφαρμογών και των ρυθμίσεων διαμόρφωσης τους. \end{itemize} @@ -128,17 +127,17 @@ Το νέφος υποδομής είναι αποκλειστικά αφιερωμένο σε έναν μόνο οργανισμό αποτελούμενο από πολλαπλούς καταναλωτές (π.χ. επιχειρησιακές μονάδες). - Ενδεχομένως να ανήκει, να διαχειρίζεται και να λειτουργεί είτε από τον - οργανισμό, είτε από τρίτον, είτε συνδυασμό των δύο και να μπορεί να - βρίσκεται εντός ή εκτός του οργανισμού. + Ενδεχομένως να ανήκει, να διαχειρίζεται και να λειτουργεί από τον + οργανισμό, από μια τρίτη οντότητα, ή έναν συνδυασμό των δύο και μπορεί + να βρίσκεται εντός ή εκτός του οργανισμού. \item \textbf{Κοινό νέφος}: Είναι διαθέσιμο για μια ευρύτερη κοινότητα καταναλωτών ή οργανισμών με κοινές ανησυχίες όπως οι απαιτήσεις ασφαλείας και ζητήματα πολιτικής και συμμόρφωσης. Μπορεί να ανήκει, να διαχειρίζεται και να λειτουργεί - από έναν ή περισσότερους οργανισμούς της κοινότητας, έναν τρίτο ή - συνδυασμό των δύο και να βρίσκεται εντός ή εκτός του οργανισμού. + από έναν ή περισσότερους οργανισμούς της κοινότητας, μια τρίτη οντότητα + ή έναν συνδυασμό των δύο και να βρίσκεται εντός ή εκτός του οργανισμού. \item \textbf{Δημόσιο νέφος}: @@ -150,7 +149,7 @@ \item \textbf{Υβριδικό νέφος}: Είναι συνδυασμός δύο ή περισσότερων νεφών (ιδιωτικού, κοινού ή - δημόσιου) που διατηρούνται ως ξεχωριστές οντότητες αλλά συνδέονται + δημοσίου) που διατηρούνται ως ξεχωριστές οντότητες αλλά συνδέονται μεταξύ τους με τεχνολογίες που επιτρέπουν τη μεταφορά δεδομένων και εφαρμογών. @@ -164,27 +163,30 @@ \cite{redhatVirtualizationDefinition}, η εικονικοποίηση είναι μια τεχνολογία που μας επιτρέπει να δημιουργήσουμε πολλαπλά εικονικά περιβάλλοντα ή αποκλειστικούς πόρους από ένα μόνο, φυσικό σύστημα υλικού. Ένα λογισμικό -ονόματι \textlatin{hypervidor} συνδέεται απευθείας στο υλικό αυτό και δίνει τη +ονόματι \textlatin{hypervisor} συνδέεται απευθείας στο υλικό αυτό και δίνει τη δυνατότητα διαμερισμού ενός συστήματος σε ξεχωριστά, διακριτά και ασφαλή -περιβάλλοντα, γνωστά ως εικονικές μηχανές (\textlatin{VM}). Αυτές οι εικονικές -μηχανές βασίζονται στην ικανότητα του \textlatin{hypervisor} να διαχωρίζει τους -πόρους της μηχανής από το υλικό και να τους κατανέμει κατάλληλα. +περιβάλλοντα, γνωστά και ως εικονικές μηχανές (\textlatin{VM}). Αυτές οι +εικονικές μηχανές βασίζονται στην ικανότητα του \textlatin{hypervisor} να +διαχωρίζει τους πόρους της μηχανής από το υλικό και να τους κατανέμει +κατάλληλα. Το φυσικό υλικό, εξοπλισμένο με έναν \textlatin{hypervisor}, ονομάζεται \textlatin{host}, ενώ τα πολλά \textlatin{VM} που χρησιμοποιούν τους πόρους του είναι οι \textlatin{guests}. Αυτοί, αντιμετωπίζουν τους υπολογιστικούς πόρους -όπως είναι η \textlatin{CPU}, η μνήμη και ο αποθηκευτικός χώρος, ως μια -δεξαμενή πόρων που μπορεί εύκολα να ανακατανεμηθεί. Οι χειριστές μπορούν να -ελέγχουν εικονικά στιγμιότυπα της μνήμης, της κεντρικής μονάδας επεξεργασίας +όπως είναι η κεντρική μονάδα επεξεργασίας, η μνήμη και ο αποθηκευτικός χώρος, +ως μια δεξαμενή πόρων που μπορεί εύκολα να ανακατανεμηθεί. Οι χειριστές μπορούν +να ελέγχουν εικονικά στιγμιότυπα της μνήμης, της κεντρικής μονάδας επεξεργασίας και άλλων πόρων, ούτως ώστε οι \textlatin{guest} να λαμβάνουν τους πόρους που χρειάζονται όταν είναι απαραίτητο. -Η εικονοποίηση καθιστά δυνατή τη δημιουργία χρήσιμων υπηρεσιών ΤΠ +Η εικονικοποίηση καθιστά δυνατή τη δημιουργία χρήσιμων υπηρεσιών ΤΠ χρησιμοποιώντας πόρους στους οποίους παραδοσιακά μπορούσαμε να έχουμε πρόσβαση -μονάχα από την ιδιοκτησία φυσικών μηχανημάτων. Μας επιτρέπει να αξιοποιήσουμε +μονάχα με την ιδιοκτησία φυσικών μηχανημάτων. Μας επιτρέπει να αξιοποιήσουμε όλες τις δυνατότητες ενός φυσικού μηχανήματος διανέμοντας τις σε πολλούς χρήστες και περιβάλλοντα. +\pagebreak + Ας φανταστούμε πως έχουμε τρεις διακομιστές, στον καθένα από τους οποίους έχει ανατεθεί ένας συγκεκριμένος σκοπός. Ένας διακομιστής ηλεκτρονικού ταχυδρομείου, ένας διακομιστής ιστού και ένας που εκτελεί εσωτερικές εταιρικές εφαρμογές οι @@ -200,7 +202,7 @@ Παραδοσιακά, αυτή η αρχιτεκτονική όπου εκτελούνται μεμονωμένες εργασίες σε μεμονωμένους διακομιστές ήταν ευκολότερη και πιο αξιόπιστη αλλά δεν παύει να -μην είναι η πιο αποδοτική λύση. Με την άφιξη της τεχνολογίας της εικονοποίησης +μην είναι η πιο αποδοτική λύση. Με την άφιξη της τεχνολογίας της εικονικοποίησης όμως ήταν πλέον εφικτό να χωριστεί ένας διακομιστής σε περισσότερα κομμάτια έχοντας πλέον δύο εικονικά μηχανήματα με τη χρήση ενός. @@ -214,7 +216,9 @@ περισσότερες από μια φορές αυξάνοντας την αξιοποίηση των δυνατοτήτων τους παραδείγματος χάριν από 30\% σε 60\% και έπειτα σε 90\% αφήνοντας μας με διακομιστές που είτε μπορούν μετά να χρησιμοποιηθούν για νέους σκοπούς είτε να -αποσυρθούν μειώνοντας έτσι και τα κόστη λειτουργίας και συντήρησης τους. +αποσυρθούν μειώνοντας έτσι και το κόστος λειτουργίας και συντήρησης τους. + +\pagebreak \section{Ιστορική αναδρομή της εικονικοποίησης} \label{virtualizationHistory} @@ -228,12 +232,12 @@ Ωστόσο, μέσα στις επόμενες δεκαετίες, ήρθαν στο προσκήνιο άλλες λύσεις στο πρόβλημα διαμοιρασμού ενός μηχανήματος σε πολλούς χρήστες, μειώνοντας έτσι το -ενδιαφέρον για την τεχνολογία εικονοποίησης. Μία από αυτές ήταν ο διαμοιρασμός +ενδιαφέρον για την τεχνολογία εικονικοποίησης. Μία από αυτές ήταν ο διαμοιρασμός χρόνου (\textlatin{time-sharing}) όπου ένας χρήστης μπορούσε να χρησιμοποιεί το λειτουργικό σύστημα απομονωμένα από του υπόλοιπους. Κάτι που οδήγησε στη δημιουργία λειτουργικών συστημάτων όπως το \textlatin{UNIX} το οποίο με τη σειρά του άνοιξε δρόμο για την άφιξη του \textlatin{Linux}. Καθ'' όλη τη -διάρκεια αυτή, η εικονοποίηση παρέμεινε σε μεγάλο βαθμό μη διαδεδομένη. +διάρκεια αυτή, η εικονικοποίηση παρέμεινε σε μεγάλο βαθμό μη διαδεδομένη. Προχωρώντας στη δεκαετία του 1990, οι περισσότερες επιχειρήσεις διέθεταν φυσικούς διακομιστές και στοίβες μηχανημάτων ενός προμηθευτή, οι οποίες δεν @@ -244,39 +248,39 @@ διακομιστής μπορούσε να εκτελέσει μόνο 1 εργασία που αφορούσε συγκεκριμένο προμηθευτή. -Από εκείνο το σημείο και έπειτα άρχισε να φαίνεται η ανάγκη της εικονοποίησης -και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν πλέον να -διαμερίσουν τους διακομιστές τους και να εκτελούν παλαιές εφαρμογές σε πολλούς -τύπους και εκδόσεις λειτουργικών συστημάτων. Οι διακομιστές άρχισαν να -χρησιμοποιούνται πιο αποδοτικά ή και καθόλου μειώνοντας τα κόστη αγοράς, -εγκατάστασης, συντήρησης και ψύξης. +Από εκείνο το σημείο και έπειτα άρχισε να γίνεται εμφανής η ανάγκη της +εικονικοποίησης και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν +πλέον να διαμερίσουν τους διακομιστές τους και να εκτελούν παλαιές εφαρμογές σε +πολλούς τύπους και εκδόσεις λειτουργικών συστημάτων. Οι διακομιστές άρχισαν να +χρησιμοποιούνται πιο αποδοτικά ή και καθόλου μειώνοντας το απαιτούμενο κόστος +αγοράς, εγκατάστασης, συντήρησης και ψύξης τους. -Η ευρεία εφαρμογή της εικονικοποίησης συνέβαλε στη μείωση του εγκλωβισμού στον -προμηθευτή και την κατέστησε το θεμέλιο του υπολογιστικού νέφους. Σήμερα είναι -τόσο διαδεδομένη σε όλες τις επιχειρήσεις που συχνά απαιτείται εξειδικευμένο -λογισμικό διαχείρισης των εικονικών πόρων για να μπορέσει κανείς να -παρακολουθεί τα δρώμενα της επιχείρησής. +Η ευρεία εφαρμογή της εικονικοποίησης συνέβαλε στη μείωση του εγκλωβισμού σε +έναν μόνο προμηθευτή και την κατέστησε το θεμέλιο του υπολογιστικού νέφους. +Σήμερα είναι τόσο διαδεδομένη σε όλες τις επιχειρήσεις που συχνά απαιτείται +εξειδικευμένο λογισμικό διαχείρισης των εικονικών πόρων για να μπορέσει κανείς +να παρακολουθεί τα δρώμενα της επιχείρησής. \section{Τι είναι ένας \textlatin{hypervisor}} \label{hypervisors} Προτού έρθουν στο προσκήνιο, οι περισσότεροι φυσικοί υπολογιστές μπορούσαν να εκτελέσουν ένα λειτουργικό σύστημα τη φορά. Αυτό συνέβαλε στη σταθερότητα τους -μιας και χρειαζόταν να διαχειριστούν αιτήματα από ένα μοναδικό λειτουργικό -σύστημα αλλά αυτή η προσέγγιση είχε ένα μειονέκτημα. Μεγάλο κομμάτι των πόρων -του συστήματος έμενε ανεκμετάλλευτο. +μιας και δε χρειαζόταν να διαχειριστούν αιτήματα από άλλα λειτουργικά συστήματα +αλλά αυτή η προσέγγιση είχε ένα μειονέκτημα. Μεγάλο κομμάτι των πόρων του +συστήματος έμενε ανεκμετάλλευτο. -Αυτό το πρόβλημα λύθηκε με την εισαγωγή των \textlatin{hypervisors}. Πρόκειται -για μια στρώση λογισμικού που καθιστά δυνατή την εκτέλεση πολλαπλών +Τη λύση σε αυτό το πρόβλημα την έφερε η εισαγωγή των \textlatin{hypervisors}. +Πρόκειται για μια στρώση λογισμικού που καθιστά δυνατή την εκτέλεση πολλαπλών λειτουργικών συστημάτων το ένα δίπλα στο άλλο μοιράζοντας τους ίδιους φυσικούς πόρους σε κάθε ένα από αυτά. Η πράξη αυτή ονομάζεται εικονικοποίηση και τα -στιγμιότυπα των λειτουργικών συστημάτων λέγονται εικονικές μηχανές. Είναι -προσομοιώσεις φυσικών υπολογιστών. +στιγμιότυπα των λειτουργικών συστημάτων λέγονται εικονικές μηχανές οι οποίες +αντιπροσωπεύουν προσομοιώσεις φυσικών υπολογιστών. Οι \textlatin{hypervisors} είναι υπεύθυνοι για τη διαχείριση των εικονικών -μηχανών χωρίζοντας τις αναθέτοντας σε κάθε μια ένα κομμάτι της διαθέσιμης -υπολογιστικής ισχύς, μνήμης και χώρου αποθήκευσης. Αυτή η διαδικασία τις +μηχανών χωρίζοντας τις και αναθέτοντας σε κάθε μια ένα κομμάτι της διαθέσιμης +υπολογιστικής ισχύος, μνήμης και χώρου αποθήκευσης. Αυτή η διαδικασία τις αποτρέπει από την αλληλεπίδραση μεταξύ τους και στην περίπτωση κατάρρευσης μιας -εικονικής μηχανής, δεν επηρεάζονται οι υπόλοιπες. +εικονικής μηχανής, οι υπόλοιπες παραμένουν ανεπηρέαστες. \pagebreak @@ -295,9 +299,11 @@ λόγο αυτό, οι \textlatin{hypervisors} τύπου 1 αναφέρονται επίσης ως \textlatin{bare-metal hypervisors} και αντικαθιστούν το λειτουργικό σύστημα του κεντρικού υπολογιστή. Η άμεση πρόσβαση στο φυσικό υλικό - έρχεται τους καθιστά ιδιαίτερα αποδοτικούς. Συχνά απαιτείται μια - ξεχωριστή μηχανή διαχείρισης για τον έλεγχο των εικονικών μηχανών και - του υλικού του κεντρικού υπολογιστή. + τους καθιστά ιδιαίτερα αποδοτικούς. Συχνά απαιτείται μια ξεχωριστή + μηχανή διαχείρισης για τον έλεγχο των εικονικών μηχανών και του υλικού + του κεντρικού υπολογιστή. + +\pagebreak \item \textbf{\textlatin{Type 2 (Hosted)}}: @@ -305,19 +311,19 @@ υποκείμενο υλικό. Αντ'' αυτού, εκτελείται ως εφαρμογή σε ένα υπάρχον λειτουργικό σύστημα. Η χρήση τους δε συνηθίζεται σε περιβάλλοντα με πολλούς διακομιστές. Αντίθετα, είναι καταλληλότεροι για μεμονωμένους - τελικούς χρήστες υπολογιστών που χρειάζονται να τρέξουν πολλαπλά - λειτουργικά συστήματα. Μερικοί από αυτούς είναι μηχανικοί, - επαγγελματίες ασφαλείας που αναλύουν κακόβουλο λογισμικό και - επιχειρηματικοί χρήστες που χρειάζονται πρόσβαση σε εφαρμογές που είναι - διαθέσιμες μόνο σε άλλες πλατφόρμες λογισμικού. + τελικούς χρήστες υπολογιστών που έχουν την ανάγκη να εκτελέσουν + πολλαπλά λειτουργικά συστήματα. Μερικοί από αυτούς είναι μηχανικοί, + επαγγελματίες ασφαλείας που αναλύουν κακόβουλο λογισμικό και υπάλληλοι + επιχειρήσεων που χρειάζονται πρόσβαση σε εφαρμογές που είναι διαθέσιμες + αποκλειστικά σε διαφορετικές πλατφόρμες λογισμικού από τη δική τους. - Διαθέτουν συχνά πρόσθετες εργαλειοθήκες για τους χρήστες που μπορούν να - εγκατασταθούν στο λειτουργικό σύστημα προκειμένου να παρέχουν - βελτιωμένες συνδέσεις μεταξύ του υποκείμενου λειτουργικού συστήματος - και εκείνου της εικονικής μηχανής. Οι πρόσθετες δυνατότητες που - υποστηρίζονται μετά την παραπάνω διαδικασία μπορεί να είναι η αποκοπή - και επικόλληση μεταξύ των δύο συστημάτων ή η κοινή πρόσβαση στον - αποθηκευτικό χώρο. + Διατίθενται συχνά πρόσθετες εργαλειοθήκες για τους χρήστες οι οποίες + μπορούν να εγκατασταθούν στο λειτουργικό σύστημα προκειμένου να + παρέχουν βελτιωμένες συνδέσεις μεταξύ του υποκείμενου λειτουργικού + συστήματος και εκείνου της εικονικής μηχανής. Οι πρόσθετες δυνατότητες + που υποστηρίζονται μετά την παραπάνω διαδικασία μπορεί να είναι η + αποκοπή και επικόλληση μεταξύ των δύο συστημάτων ή η κοινή πρόσβαση + στον αποθηκευτικό χώρο. Επιτρέπει τη γρήγορη εναλλαγή σε διαφορετικά λειτουργικά συστήματα πέραν του ήδη υπάρχοντος, πράγμα που αυξάνει την παραγωγικότητα του @@ -325,9 +331,9 @@ υποστηρίζονται στο δικό του. Εξαιτίας της αρχιτεκτονικής τους, οι \textlatin{hypervisors} τύπου 2 - εισάγουν προβλήματα καθυστέρησης που μπορεί να επηρεάσουν την απόδοση. - Αυτό συμβαίνει επειδή η πρόσβαση στους πόρους υπολογισμού, μνήμης και - δικτύου πραγματοποιείται μέσω του κεντρικού λειτουργικού συστήματος. + εισάγουν προβλήματα καθυστέρησης που μπορεί να επηρεάσουν την απόδοση + διότι η πρόσβαση στους πόρους υπολογισμού, μνήμης και δικτύου + πραγματοποιείται μέσω του κεντρικού λειτουργικού συστήματος. Επιπροσθέτως, εισάγει πιθανούς κινδύνους ασφάλειας εάν ένας εισβολέας παραβιάσει το κεντρικό λειτουργικό σύστημα, επειδή θα μπορούσε στη @@ -336,9 +342,11 @@ \end{itemize} +\pagebreak + \section{Χαρακτηριστικά των \textlatin{hypervisor}} \label{hypervisorCharacteristics} -Αν και υπάρχουν διαφορετικά είδη \textlatin{hypervisors}, όλοι έχουν κάποια +Αν και υπάρχουν διαφορετικά είδη \textlatin{hypervisor}, όλοι έχουν κάποια χαρακτηριστικά που πρέπει να λάβει κανείς υπόψιν όταν επιλέγει ποιον θα χρησιμοποιήσει. Μερικά σημαντικά αυτών είναι: @@ -347,9 +355,9 @@ \item \textbf{Απόδοση}: Βασικό χαρακτηριστικό ενός \textlatin{hypervisor} είναι η απόδοση του. - Διαφέρει από \textlatin{hypervisor} σε \textlatin{hypervisor} αναλόγως - τη κατασκευή και τον τύπο. Οι \textlatin{bare-metal hypervisors} θα - πρέπει να έχουν απόδοση κοντά στην εγγενή. + Διαφέρει από τον ένα στον άλλο αναλόγως την κατασκευή και τον τύπο του. + Οι \textlatin{bare-metal hypervisors} θα πρέπει να παρέχουν απόδοση + κοντά στην εγγενή. \item \textbf{Οικοσύστημα}: @@ -364,13 +372,15 @@ Η εκτέλεση εικονικών μηχανών δεν αποτελεί το μοναδικό καθήκον ενός διαχειριστή κατά τη χρήση ενός \textlatin{hypervisor}. Απαραίτητες πρόσθετες ενέργειες είναι η συντήρηση και η ανάλυση τους, καθώς και ο - καθαρισμός όσων δε χρησιμοποιούνται πλέον. + καθαρισμός όσων δε χρησιμοποιούνται πλέον. Επομένως, η ύπαρξη εργαλείων + που να καθιστούν δυνατές αυτές τις ενέργειες αποτελεί σημαντικό + παράγοντα κατά την επιλογή λογισμικού \textlatin{hypervisor}. \item \textbf{Μεταφορά κατά τη λειτουργία}: Πρέπει να υπάρχει η δυνατότητα μεταφοράς εικονικών μηχανών από έναν - \textlatin{hypervisor} σε κάποιον άλλο σε διαφορετική φυσική μηχανή - χωρίς την ανάγκη διακοπής της λειτουργίας της. Ένα χαρακτηριστικό που + \textlatin{hypervisor} σε έναν δεύτερο σε διαφορετική φυσική μηχανή + χωρίς την ανάγκη διακοπής της λειτουργίας τους. Ένα χαρακτηριστικό που χρησιμεύει τόσο για την ανατροπή αποτυχίας όσο και για την εξισορρόπηση του φόρτου εργασίας. @@ -380,7 +390,7 @@ επιλογή ενός \textlatin{hypervisor}. Οι περισσότεροι είναι δωρεάν αλλά υπάρχουν και εμπορικές εκδόσεις που προσφέρουν περισσότερες δυνατότητες. Όπως επίσης και ύπαρξη ή μη, λογισμικού διαχείρισης του - που να του επιτρέπει να κλιμακώνεται ανάλογα τις απαιτήσεις της + που να επιτρέπει την εύκολη κλιμάκωση με βάση τις απαιτήσεις της επιχείρησης. \end{itemize} @@ -388,7 +398,7 @@ \section {Τρόπος λειτουργίας της εικονικοποίησης} \label{virtualizationOperation} Για να πραγματοποιηθεί η εικονικοποίηση, χρειαζόμαστε έναν -\textlatin{hypervisor}. Αυτός είναι ένα λογισμικό που διαχωρίζει τους φυσικούς +\textlatin{hypervisor}. Δηλαδή ενός λογισμικό που διαχωρίζει τους φυσικούς πόρους από τα εικονικά περιβάλλοντα, τα οποία τους χρειάζονται. Ένας \textlatin{hypervisor} μπορεί να τοποθετηθεί πάνω σε ένα λειτουργικό σύστημα ή να εγκατασταθεί απευθείας στο υλικό. Κάτι που κάνουν οι περισσότερες @@ -411,7 +421,7 @@ εκτέλεση του εικονικού περιβάλλοντος, όταν ένας χρήστης ή ένα πρόγραμμα εκδώσει μία εντολή που απαιτεί περισσότερους πόρους από τους διαθέσιμους του, ο \textlatin{hypervisor} αναμεταδίδει το αίτημα αυτό στο φυσικό σύστημα και -μπορεί να διαθέσει τους απαραίτητους πόρους για την εκτέλεση. Όλα αυτά +μπορεί να διαθέσει τους απαραίτητους για την εκτέλεση πόρους. Όλα αυτά συμβαίνουν με σχεδόν εγγενή ταχύτητα, ιδίως αν αποστέλλεται μέσω ενός \textlatin{hypervisor} ανοιχτού κώδικα βασισμένου στο \textlatin{KVM}, το \textlatin{(Kernel-based Virtual Machine)}. @@ -420,7 +430,7 @@ \section{Τύποι εικονικοποίησης} \label{virtualizationTypes} -Υπάρχουν πολλοί τύποι εικονικοποίησης. Πέντε βασικοί αυτών είναι οι εξής: +Υπάρχουν πολλοί τύποι εικονικοποίησης. Πέντε βασικοί αυτών είναι οι παρακάτω: \begin{itemize} @@ -453,9 +463,9 @@ περιβάλλοντα εργασίας σε εκατοντάδες φυσικές μηχανές ταυτοχρόνως. Εν αντιθέσει με τα παραδοσιακά περιβάλλοντα εργασίας που χρήζουν εγκατάστασης, διαμόρφωσης και ενημέρωσης σε κάθε υπολογιστή, η - εικονικοποίηση επιφάνειας εργασίας καθιστά δυνατή τη μαζική - διαμόρφωση, ενημέρωση και έλεγχο ασφαλείας σε όλα τα εικονικά - περιβάλλοντα εργασίας. + εικονικοποίηση επιφάνειας εργασίας καθιστά δυνατή τη μαζική διαμόρφωση, + ενημέρωση και έλεγχο ασφαλείας σε όλα τα εικονικά περιβάλλοντα + εργασίας. \item \textbf{\textlatin{Server Virtualization}}: @@ -467,11 +477,12 @@ Οι διακομιστές είναι υπολογιστές σχεδιασμένοι με σκοπό να επεξεργάζονται πολύ καλά έναν μεγάλο όγκο συγκεκριμένων εργασιών, ώστε - άλλοι υπολογιστές να μπορούν να δίνουν προτεραιότητα σε άλλες εργασίες. - Η εικονικοποίηση ενός διακομιστή του επιτρέπει να εκτελεί περισσότερες - από τις συγκεκριμένες λειτουργίες που σχεδιάστηκε να κάνει. Για την - επίτευξη αυτού απαιτείται η κατάτμησή του έτσι ώστε τα στοιχεία του να - μπορούν να χρησιμοποιηθούν για την εξυπηρέτηση πολλαπλών λειτουργιών. + οι κύριοι υπολογιστές να μπορούν να δίνουν προτεραιότητα σε άλλες + εργασίες. Η εικονικοποίηση ενός διακομιστή του επιτρέπει να εκτελεί + περισσότερες λειτουργίες από αυτές που σχεδιάστηκε αρχικά να + πραγματοποιεί. Για την επίτευξη αυτού απαιτείται η κατάτμησή του με + τέτοιο τρόπο ώστε τα οι πόροι του να μπορούν να χρησιμοποιηθούν για την + εξυπηρέτηση πολλαπλών λειτουργιών. \pagebreak @@ -486,7 +497,7 @@ Η εικονικοποίηση λειτουργικού συστήματος είναι κάτι που συμβαίνει στον πυρήνα. Αποτελεί έναν χρήσιμο τρόπο εκτέλεσης \textlatin{Linux} και \textlatin{Windows} συστημάτων στο ίδιο μηχάνημα. Πολλές επιχειρήσεις - προωθούν τα εικονικά λειουργικά συστήματα σε υπολογιστές, προκειμένου + προωθούν τα εικονικά λειτουργικά συστήματα σε υπολογιστές, προκειμένου να μειωθεί το κόστος μηχανημάτων, να αυξηθεί η ασφάλεια και να μειωθεί ο χρόνος συντήρησης τους. @@ -504,13 +515,13 @@ βασικές λειτουργίες ενός δικτύου (όπως ο διαμοιρασμός αρχείων, και η διαμόρφωση \textlatin{IP}), ώστε να μπορούν να διανεμηθούν σε διάφορα περιβάλλοντα. Από τη στιγμή που οι λειτουργίες λογισμικού είναι - ανεξάρτητες από τα φυσικά μηχανήματα στα οποία εκτελούνταν, + ανεξάρτητες από τα φυσικά μηχανήματα στα οποία εκτελούνται, συγκεκριμένες λειτουργίες μπορούν να πακεταριστούν μαζί σε ένα νέο - δίκτυο και να ανατεθούν σε ένα περιβάλλον. Η εικονικοποίηση των δικτύων - μειώνει τον αριθμό των φυσικών εξαρτημάτων όπως οι μεταγωγείς, - δρομολογητές, διακομιστές, καλώδια και κόμβοι που απαιτούνται για τη - δημιουργία πολλαπλών, ανεξάρτητων δικτύων και είναι ιδιαίτερα δημοφιλής - στον κλάδο των τηλεπικοινωνιών. + δίκτυο και να ανατεθούν σε ένα ξεχωριστό περιβάλλον. Η εικονικοποίηση + των δικτύων μειώνει τον αριθμό των φυσικών εξαρτημάτων όπως οι + μεταγωγείς, δρομολογητές, διακομιστές, καλώδια και κόμβοι που + απαιτούνται για τη δημιουργία πολλαπλών, ανεξάρτητων δικτύων και είναι + ιδιαίτερα δημοφιλής στον κλάδο των τηλεπικοινωνιών. \end{itemize} @@ -520,7 +531,7 @@ Η εικονικοποίηση προσφέρει πολλά πλεονεκτήματα στις επιχειρήσεις. Τα πιο αξιοσημείωτα αυτών με βάση την -\textlatin{\citeauthor{ibmVirtualizationDefinition}} είναι τα παρακάτω. +\textlatin{\citeauthor{ibmVirtualizationDefinition}} είναι τα εξής: \begin{itemize} @@ -533,22 +544,22 @@ προτιμώμενη αρχιτεκτονική για λόγους αξιοπιστίας ήταν να υπάρχει μια εφαρμογή και ένα μόνο λειτουργικό σύστημα για κάθε υπολογιστή. Αυτό είχε ως αποτέλεσμα την υποχρησιμοποίηση κάθε διακομιστή. Η λύση ήρθε με - τη μορφή της εικονοποίησης διακομιστών η οποία επέτρεπε την εκτέλεση - πολλαπλών εφαρμογών σε έναν φυσικό υπολογιστή δίχως την υπονόμευση της + τη μορφή της εικονικοποίησης διακομιστών η οποία επέτρεπε την εκτέλεση + πολλαπλών εφαρμογών σε έναν φυσικό υπολογιστή δίχως την ελάττωση της αξιοπιστίας. \item \textbf{Ευκολότερη διαχείριση}: Αντικαθιστώντας φυσικούς υπολογιστές με προγραμματιστικά καθορισμένες - εικονικές μηχανές γίνεται δυνατή η χρήση αυτοματοποιημένων ροών - διαχείρισης εργασιών. Οι διαχειριστές συστημάτων μπορούν να - χρησιμοποιούν εργαλεία για τον καθορισμό εικονικών μηχανών - χρησιμοποιώντας πρότυπα κατάλληλα για την υποδομή κάθε επιχείρησης. Με - αυτόν τον τρόπο η εγκατάσταση και η ρύθμιση τους μπορεί να γίνεται - επανειλημμένα δίχως το ρίσκο ανθρώπινου λάθους και γλιτώνοντας τον - χρόνο εγκατάστασης και ρύθμισης τους χειροκίνητα. Ένας συνδυασμός - εργαλείων που το κάνει πραγματικότητα είναι το \textlatin{Ansible} - \cite{ansible} και \textlatin{Terraform} \cite{terraform}. + εικονικές μηχανές δύναται η χρήση αυτοματοποιημένων ροών διαχείρισης + εργασιών. Οι διαχειριστές συστημάτων μπορούν να χρησιμοποιούν εργαλεία + για τον καθορισμό εικονικών μηχανών χρησιμοποιώντας πρότυπα κατάλληλα + για την υποδομή κάθε επιχείρησης. Με αυτόν τον τρόπο η εγκατάσταση και + η ρύθμισή τους μπορεί να γίνεται επανειλημμένα δίχως το ρίσκο + ανθρώπινου λάθους και γλιτώνοντας τον χρόνο εγκατάστασης και ρύθμισης + τους χειροκίνητα. Ένας συνδυασμός εργαλείων που κάνει αυτή τη + διαδικασία πραγματικότητα είναι το \textlatin{Ansible} \cite{ansible} + και \textlatin{Terraform} \cite{terraform}. \item \textbf{Ελάχιστος χρόνος διακοπής λειτουργίας}: @@ -556,15 +567,14 @@ προκαλέσουν διακοπή λειτουργίας και να διαταράξουν την παραγωγικότητα των χρηστών. Οι διαχειριστές μπορεί να έχουν πλεονάζουσες εικονικές μηχανές και να πραγματοποιούν εναλλαγή σε αυτές εάν εμφανιστούν - προβλήματα, κάτι που θα ήταν μη αποδοτικό για την επιχείρηση με - φυσικούς διακομιστές. + προβλήματα, κάτι που θα δε θα ήταν αποδοτικό για την επιχείρηση + διαθέτοντας μονάχα φυσικούς διακομιστές. \item \textbf{Ταχύτερη παροχή}: - Η αγορά, εγκατάσταση και διαμόρφωση του υλικού για - κάθε εφαρμογή είναι χρονοβόρα. Εφόσον το υλικό είναι ήδη στη θέση του, - η παροχή εικονικών μηχανών για την εκτέλεση όλων των εφαρμογών σας - είναι σημαντικά ταχύτερη. + Η αγορά, εγκατάσταση και διαμόρφωση του υλικού για κάθε εφαρμογή είναι + χρονοβόρα. Εφόσον το υλικό είναι ήδη στη θέση του, η παροχή εικονικών + μηχανών για την εκτέλεση όλων των εφαρμογών είναι σημαντικά ταχύτερη. \end{itemize} @@ -582,8 +592,6 @@ διεργασιών, αρχείων, της συσκευής, του \textlatin{IPC}, δικτύου και τέλος, των πόρων. -\pagebreak - Αυτά επιτυγχάνονται κατά σειρά με την χρήση \textlatin{namespaces} όπου οριοθετείται η ορατότητα των διεργασιών ανάμεσα στα δοχεία και το σύστημα όπως επίσης, τα δικαιώματά τους. Χρήση \textlatin{mount namespaces}, με τα οποία οι diff --git a/Thesis.tex b/Thesis.tex index 4201244..f614399 100644 --- a/Thesis.tex +++ b/Thesis.tex @@ -117,7 +117,7 @@ \null\vfill % Now comes the "Funny Quote", written in italics -\textit{\textlatin{Απόφθεγμα (προεραιτικό)}} +\textit{\textlatin{Απόφθεγμα (προαιρετικό)}} \begin{flushright} \textlatin{Συγγραφέας Αποφθέγματος} @@ -132,18 +132,18 @@ \abstract{ \addtocontents{toc}{\vspace{1em}} % Add a gap in the Contents, for aesthetics -Τη σήμερον ημέρα όλο και περισσότερος κόσμος βασίζεται πλέον σε υπηρεσίες -τύπου \textlatin{IaaS} έναντι των παραδοσιακών \textlatin{Server Room} για -τις υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ' αυτό τον τρόπο -μειώνονται τα λειτουργικά έξοδα μιας και δεν υπάρχει ανάγκη δαπάνης για -την αγορά εξοπλισμού για την έναρξη διάθεσης της εκάστοτε υπηρεσίας αλλά -είναι πλέον δυνατό να κλιμακωθεί ανάλογα με τις ανάγκες των χρηστών της -υπηρεσίας που προσφέρεται με μια απλή και γρήγορη επανεκκίνηση της -εικονικής μηχανής χρησιμοποιώντας νέες παραμέτρους. Με αυτόν τον τρόπο -μεταβιβάζεται η ευθύνη της συντήρησης εξοπλισμού σε τρίτους αλλά -ταυτόχρονα εισάγεται ένα καινούριο μοντέλο εμπιστοσύνης ανάμεσα όχι μόνο -στον χρήστη και τον πάροχο νέφους αλλά και αυτόν που παρέχει τις πολλές -φορές προ ρυθμισμένες διανομές \textlatin{Linux} σε αυτόν. +Τη σήμερον ημέρα όλο και περισσότερος κόσμος βασίζεται πλέον σε υπηρεσίες τύπου +\textlatin{IaaS} έναντι των παραδοσιακών \textlatin{Server Room} για τις +υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ' αυτό τον τρόπο μειώνονται τα +λειτουργικά έξοδα μιας και δεν υπάρχει ανάγκη δαπάνης για την αγορά εξοπλισμού +για την έναρξη διάθεσης της εκάστοτε υπηρεσίας αλλά είναι πλέον δυνατό να +κλιμακωθεί ανάλογα με τις ανάγκες των χρηστών της υπηρεσίας που προσφέρεται με +μια απλή και γρήγορη επανεκκίνηση της εικονικής μηχανής χρησιμοποιώντας νέες +παραμέτρους. Με αυτόν τον τρόπο μεταβιβάζεται η ευθύνη της συντήρησης +εξοπλισμού σε τρίτους αλλά ταυτόχρονα εισάγεται ένα καινούριο μοντέλο +εμπιστοσύνης ανάμεσα όχι μόνο στον χρήστη και τον πάροχο νέφους αλλά και αυτόν +που παρέχει τις πολλές φορές προ ρυθμισμένες διανομές \textlatin{Linux} σε +αυτόν. Στην παρούσα εργασία θα αναλύσουμε τις τρωτότητες μιας ιδεατής μηχανής και τρόπους για την αντιμετώπισή τους. Έπειτα θα μιλήσουμε για την τεχνολογία @@ -151,8 +151,8 @@ Ο σκοπός της εργασίας είναι η δημιουργία ενός εργαλείου που θα μπορεί όχι μόνο να δημιουργεί ιδεατές μηχανές κατά μήκος πολλών παρόχων νέφους αλλά και να τις σκληραίνει με έναν αυτοματοποιημένο τρόπο. Επιπροσθέτως θα εγκαθιστά σε αυτές -τη μηχανή δοχείων \textlatin{Docker} την οποία επίσης θα σκληραίνει με σκοπό -το εύκολο στήσιμο υπηρεσιών με ασφαλή τρόπο για οποιονδήποτε χρήστη ανεξαρτήτως +τη μηχανή δοχείων \textlatin{Docker} την οποία επίσης θα σκληραίνει με σκοπό το +εύκολο στήσιμο υπηρεσιών με ασφαλή τρόπο για οποιονδήποτε χρήστη ανεξαρτήτως επιπέδου γνώσεων στον τομέα της ασφάλειας και των λειτουργικών συστημάτων τύπου \textlatin{Unix}.