Όταν πριν από τρία χρόνια ο Vijay Gill, ένας από τους κορυφαίους μηχανικούς της Google, ρωτήθηκε τί θα έκανε εάν κάποιος του έδινε ένα μαγικό ραβδί, η απάντησή του ήταν θα έχτιζε ένα ενιαίο σύστημα που θα διαχειριζόταν αυτόματα και στιγμιαία πληροφορίες σε ολόκληρο το εύρος των κέντρων δεδομένων (data center) της εταιρείας. Το «πρόβλημα», όμως, ήταν ότι η Google είχε ήδη χτίσει ένα τέτοιο σύστημα: το Spanner.
Πράγματι, η βάση του Spanner έχει σχεδιαστεί έτσι ώστε να μπορεί να λειτουργεί ταυτόχρονα μεταξύ διαφορετικών κέντρων δεδομένων ανά τον κόσμο και να συγχρονίζει τα δεδομένα ξεπερνώντας όχι μόνο το εμπόδιο της απόστασης, αλλά και αυτό του χρόνου.
Όπως εξηγεί χαρακτηριστικά ο εξέχων μηχανικός της εταιρείας, Andrew Fikes, ως προγραμματιστής έμαθε από πολύ νωρίς «να μην εμπιστεύεται τον χρόνο».
Κι αυτό γιατί οι server των κέντρων δεδομένων των «κοινών θνητών» συγχρονίζουν μεταξύ τους χρησιμοποιώντας το λεγόμενο Network Time Protocol (NTP), μια online υπηρεσία που τους συνδέει με τα επίσημα ατομικά ρολόγια που μετρούν τον χρόνο για τους οργανισμούς ανά τον κόσμο. Καθώς όμως χρειάζεται χρόνος για την μεταφορά της πληροφορίας σε ένα δίκτυο, η μέθοδος αυτή δεν είναι ποτέ απόλυτα ακριβής και, μερικές φορές, μπορεί να δημιουργήσει σοβαρά προβλήματα. Ένα τέτοιο παράδειγμα δυσλειτουργίας είχαμε δει το καλοκαίρι, όταν μερικοί από τους μεγαλύτερους διαδικτυακούς οργανισμούς του κόσμου, μεταξύ των οποίων το Reddit, οι ιστοχώροι της Gawker και η Mozilla, αντιμετώπισαν πρόβλημα λόγω του ότι οι υποδομές τους δεν κατάφεραν να αντιμετωπίσουν το έξτρα δευτερόλεπτο που προστέθηκε στα ατομικά ρολόγια.
Με το Spanner, όμως, η Google απέρριψε τελείως το NTP για χάρη ενός δικού της, ιδιόκτητου μηχανισμού παρακολούθησης του χρόνου: το TrueTime APΙ.
Έτσι, αντί να βασίζεται σε εξωτερικά ρολόγια, η Google εξοπλίζει τα κέντρα δεδομένων της, που εντάσσονται στο Spanner, με τα δικά τους ατομικά ρολόγια και δέκτες GPS. Οι συσκευές αυτές συνδέονται με συγκεκριμένους κεντρικούς server και αυτοί με τη σειρά τους μεταφέρουν την πληροφορία στις άλλες μηχανές του δικτύου. Βασικά, κάθε μηχανή του δικτύου τρέχει μια εφαρμογή στο παρασκήνιο που ελέγχει συνεχώς την ώρα όπως αυτή καταγράφεται στους κεντρικούς server του κέντρου δεδομένων στο οποίο ανήκει αλλά και στα άλλα κέντρα δεδομένων της εταιρείας.
Με αυτό τον τρόπο, θα μπορούσαμε να πούμε πως οι μηχανές σε όλο το εύρος του δικτύου της Google φτάνουν πολύ κοντά στο να τρέχουν ένα κοινό ρολόι. Χάρη στην υπηρεσία του TrueTime, μάλιστα, οι μηχανές παραμένουν συγχρονισμένες ακόμη κι όταν διασπείρονται σε πολλά διαφορετικά κέντρα δεδομένων – κάτι που σημαίνει ότι μπορούν γρήγορα να αποθηκεύσουν και να ανακτήσουν δεδομένα χωρίς να δημιουργούνται «συγκρούσεις» μεταξύ τους.
Το γεγονός αυτό έχει αρκετές και σημαντικές, για μια εταιρεία σαν τη Google, πρακτικές εφαρμογές. Για παράδειγμα, μπορεί να υποβληθούν δεδομένα από δύο περιοχές που βρίσκονται σε εντελώς διαφορετικά σημεία του πλανήτη και παρόλα αυτά να υπάρξει μια συμφωνία στην σειρά με την οποία θα ταξινομηθούν, ανεξάρτητα από το που θα μπει ο χρήστης.
Γενικότερα, «ελέγχοντας τον χρόνο», η Google καταφέρνει όχι μόνο να χτίσει μια βάση που είναι παγκόσμια και συνεπής, αλλά και να κάνει τις υπηρεσίες της πιο ανθεκτικές σε προβλήματα όπως καθυστερήσεις δικτύων, πτώσεις των κέντρων δεδομένων και άλλων τεχνικών δυσλειτουργιών.
Όσο για το μέγεθος του όλου εγχειρήματος; Ο Fikes θεωρεί ότι το Spanner, με τα 4,5 χρόνια ανάπτυξης που χρειάστηκε, είναι το πιο δύσκολο πράγμα που έχει κάνει ποτέ, ενώ ο συνάδελφός του, Andy Gross, εκτιμά πως και μόνο το κόστος των ατομικών ρολογιών και των δεκτών GPS είναι αρκετό ώστε να καταστήσει απαγορευτικό το εγχείρημα για οποιαδήποτε άλλη εταιρεία.
Παρόλα αυτά, ο συντάκτης του Wired θεωρεί ότι τα πράγματα κινούνται προς αυτή την κατεύθυνση. Έτσι, παρόλο που το Facebook δεν έχει δοκιμάσει ακόμη κάτι τόσο μεγάλο, έχει ωστόσο ξεκινήσει να χτίζει μια πλατφόρμα ονόματι Prism που θα διαχειρίζεται τον τεράστιο όγκο των διεργασιών του μεταξύ διαφορετικών κέντρων δεδομένων.
Όσο για το Spanner, σύμφωνα με τον Fikes είναι μόνο το πρώτο παράδειγμα του τρόπου με τον οποίο η Google εκμεταλλεύεται τον έλεγχο του χρόνου και περιμένει στο μέλλον να δούμε ακόμη περισσότερα πράγματα. Κρίνοντας, μάλιστα, από το γεγονός πως, ενώ η εταιρεία δούλευε πάνω στο Spanner εδώ και χρόνια, δημοσιοποίησε την ύπαρξή του μόλις τον περασμένο Σεπτέμβριο, είναι μάλλον δύσκολο ακόμη και να φανταστούμε τις τεχνολογίες που χτίζει αυτή τη στιγμή.
Πηγή: Wired
ΑΚΟΛΟΥΘΗΣΤΕ ΤΟ FREEWEIRD