Page 72 - Linux Inside τ. 11

Linux Inside
72
Σ
την εποχή μας, ειδικά στα business-oriented projects,
αυτό που μετράει είναι η ποιότητα των υπηρεσιών, το
λεγόμενο Quality of Service (QoS). Κάθε καινούργια
επιχείρηση ενδιαφέρεται άμεσα για την ποιότητα και/ή την
ασφάλεια της ιστοσελίδας της, ιδιαίτερα όταν αποτελεί το
βασικό «πρόσωπό» της προς το ευρύ κοινό.
Για την «ποιότητα ιστοσελίδας» στην οποία αναφερθήκαμε
μόλις τώρα, σημαντικό παράγοντα αποτελεί η ταχύτητα εξυ-
πηρέτησης των χρηστών (πελατών) καθώς και η εγγύηση ότι
η ιστοσελίδα ή η on-line υπηρεσία που παρέχει κάθε επιχεί-
ρηση θα παραμένει πάντα διαθέσιμη για καθέναν, έτσι ώστε
να μπορεί οποτεδήποτε να έχει πρόσβαση σε αυτό για το
οποίο πληρώνει, ή απλώς για την αύξηση της αξιοπιστίας
της εταιρείας. Ένας συνήθης τρόπος για να επιτευχθεί αυτό
είναι η χρήση δικτύων CDN, στα οποία θα αναφερθούμε σε
αυτό το άρθρο.
Ας ξεκινήσουμε από το τι είναι ένα CDN και πού μπορού-
με να το χρησιμοποιήσουμε, καθώς και ποιες τεχνικές
εφαρμόζονται για την υλοποίηση ενός τέτοιου δικτύου. Το
CDN, δηλαδή Content Delivery (ή Distribution) Network, είναι
ένα κατανεμημένο δίκτυο από servers σε διαφορετικά
datacenters ανά τον κόσμο.
Ο στόχος του CDN και ο βασικός λόγος ύπαρξής του εί-
ναι η παροχή του περιεχομένου στους τελικούς χρήστες με
υψηλές επιδόσεις και διαθεσιμότητα (high performance &
availability για τους γνώστες).
Τα CDNs αναπτύχθηκαν και χρησιμοποιήθηκαν πολύ τα
προηγούμενα χρόνια, όταν η επικοινωνία μεταξύ δύο ηπεί-
ρων με Internet ήταν πολύ ακριβή.
Με αυτόν τον τρόπο, το περιεχόμενο μίας ιστοσελίδας
(
στατικά αρχεία και εικόνες, κώδικες html/php/css/javascript
κ.ο.κ.) που χρησιμοποιεί ένα τέτοιο δίκτυο διαμοιράζεται
στους χρήστες από διαφορετικούς servers, αυτούς του
CDN, και έτσι δεν περνά όλη η κίνηση από τον κεντρικό
server της ιστοσελίδας. Έτσι επιτυγχάνεται το offloading
του, κάτι που πρακτικά σημαίνει εξοικονόμηση πόρων, άρα
και χρημάτων, της ιστοσελίδας.
Από την άλλη, με το CDN δεν εξασφαλίζεται μόνο η γρή-
γορη πρόσβαση σε μία ιστοσελίδα ή ηλεκτρονική υπηρεσία,
αλλά παρέχεται κατά κάποιον τρόπο και ασφάλεια απέναντι
στις διαδικτυακές επιθέσεις. Συγκεκριμένα, ο σύγχρονος
φόβος και τρόμος των administrators είναι οι επιθέσεις
DDoS (Distributed Denial of Service), οι οποίες στοχεύουν
στην υπερφόρτωση του διακομιστή με σκοπό την κατάρρευ-
σή του, καθώς θα αδυνατεί να ανταποκριθεί ορθά σε πλη-
θώρα αιτημάτων (requests).
Όμως, εάν ο διαχειριστής χρησιμοποιεί ένα CDN, τότε ο
φόρτος εργασιών που θα προκληθεί από την επίθεση θα κα-
τανεμηθεί στους διακομιστές του CDN, κάτι που ουσιαστικά
οδηγεί στην «απορρόφηση» αυτών των επιθέσεων. Αυτό βέ-
βαια δεν συνεπάγεται την απόλυτη ασφάλεια του εκτεθειμέ-
νου υπολογιστικού συστήματος.
Αρχικά τα CDN που δημιουργήθηκαν, λειτουργούσαν με
τη χρήση dedicated servers των εταιρειών που παρείχαν
ολοκληρωμένα συστήματα CDN και έτσι διαμοιράζονταν τα
δεδομένα στους clients.
Αργότερα χρησιμοποιήθηκε πιο πολύ ένα υβριδικό μοντέ-
λο με το οποίο αξιοποιούνταν η P2P τεχνολογία, οπότε τα
δεδομένα μεταφέρονταν στον τελικό χρήστη μέσω των
servers του CDN, καθώς και μέσω peer-user-owned υπολο-
γιστές. Επίσης, σημαντικό είναι να αναφερθεί ότι για την
υλοποίηση κάθε CDN χρησιμοποιούνται ευρέως proxy
servers που διευκολύνουν το έργο του.
Κάθε CDN εφαρμόζει τεχνικές για HTTP acceleration, συ-
γκεκριμένα για front-end acceleration. Ο στόχος του είναι να
μειώσει με οποιονδήποτε τρόπο τις HTTP Requests. Παρα-
κάτω θα αναφερθούμε στις πιο βασικές.
Αρχικά, με το web cache αποθηκεύεται δημοφιλές περιε-
χόμενο σε διακομιστές που έχουν μεγαλύτερη ζήτηση για το
περιεχόμενο που έχει ζητηθεί. Έτσι μειώνονται οι απαιτή-
σεις σε bandwidth και ο φόρτος εργασίας του server, με
αποτέλεσμα την ταχύτερη ανταπόκρισή του. Μία άλλη τεχνι-
κή είναι το balancing του φόρτου του server, το οποίο μπο-
Του Κωνσταντίνου Λιβιεράτου <koslibpro@klivieratos.info>
Linux Labs - CDN
Μάθετε τα πάντα γύρω από τη λειτουργία και τη χρησιμότητα ενός
Content Delivery Network...
Εργαλεία:
Servers, Linux
Δυσκολία:
URL:
-
Όσα πρέπει να γνωρίζετε για τα CDN
Σε κάθε σύστημα CDN μπορούν να
χρησιμοποιηθούν πρόσθετα modules ή
υπηρεσίες (π.χ., Statistics, Thread control, DNS
management κ.λπ.) που πολλές φορές
βολεύουν τους site/server administrators σε
πληθώρα εφαρμογών.
Ο Κώστας είναι φοιτητής και του αρέσει ο προγραμματισμός και το IT administration
Σχηματικό παράδειγμα του πώς λειτουργεί το CDN μίας
πολύ γνωστής εταιρείας του κλάδου, της AKAMAI.
1