Τι είναι το Azure Front Door
Το Azure Front Door είναι μια υπηρεσία της Microsoft που λειτουργεί σαν η κεντρική είσοδος μιας διαδικτυακής εφαρμογής. Όταν ένας χρήστης θέλει να δει μια εφαρμογή, δεν συνδέεται απευθείας στο κεντρικό της σύστημα, αλλά πρώτα περνά από ένα ειδικό σημείο που βρίσκεται πολύ κοντά στον χρήστη. Αυτό το σημείο ονομάζεται edge node και είναι σαν ένα μικρό κέντρο εισόδου τοποθετημένο σε πολλά σημεία του κόσμου. Έτσι, ο χρήστης φτάνει πιο γρήγορα στην εφαρμογή γιατί δεν χρειάζεται να συνδεθεί σε κάποιο μακρινό server.
Γιατί χρησιμοποιούμε το Azure Front Door
Το Azure Front Door χρησιμοποιείται όταν μια εφαρμογή έχει χρήστες σε πολλές χώρες και χρειάζεται να παραμένει γρήγορη και διαθέσιμη ακόμη και αν παρουσιαστεί πρόβλημα σε κάποιο μέρος του κόσμου. Προσφέρει επίσης ασφάλεια, γιατί ελέγχει αν τα αιτήματα είναι νόμιμα, αν υπάρχει κάποια ύποπτη ενέργεια ή επίθεση και προστατεύει την εφαρμογή. Επιπλέον, μπορεί να κρατά αποθηκευμένα κάποια στατικά αρχεία της εφαρμογής, όπως εικόνες, ώστε να τα εμφανίζει πιο γρήγορα χωρίς να επιβαρύνει τον κεντρικό server. Όλα αυτά βελτιώνουν την εμπειρία του τελικού χρήστη και μειώνουν τα προβλήματα από τη μεγάλη απόσταση και από πιθανές βλάβες.
Πώς λειτουργεί η δρομολόγηση με το Azure Front Door
Η δρομολόγηση είναι η διαδικασία που καθορίζει σε ποιο backend θα στείλει το σύστημα το αίτημα του χρήστη. Το backend είναι το σύστημα που εκτελεί πραγματικά την εφαρμογή. Το Azure Front Door αναλύει από ποια χώρα συνδέεται ο χρήστης και αποφασίζει ποιο backend είναι πιο κοντά και πιο γρήγορο. Μετρά διαρκώς την υγεία του κάθε backend μέσω των health probes που είναι μικρά test αιτήματα για να διαπιστωθεί αν η εφαρμογή λειτουργεί σωστά. Αν το backend απαντήσει σωστά, θεωρείται υγιές. Αν δεν απαντήσει ή απαντήσει με λάθος, τότε το σύστημα το θεωρεί ότι έχει πρόβλημα.
Παράδειγμα με τρεις περιοχές Βραζιλία Γαλλία Ινδία
Φανταζόμαστε ότι έχουμε μια εφαρμογή που τρέχει ταυτόχρονα σε τρεις διαφορετικές περιοχές. Στη Βραζιλία για τους χρήστες της Λατινικής Αμερικής. Στη Γαλλία για τους χρήστες της Ευρώπης. Στην Ινδία για τους χρήστες της Ασίας. Κάθε περιοχή έχει το ίδιο πρόγραμμα και μπορεί να εξυπηρετήσει οποιονδήποτε χρήστη. Όταν κάποιος συνδέεται από τη Βραζιλία, το αίτημά του φτάνει πρώτα στο κοντινότερο edge node και από εκεί στέλνεται στο backend της Βραζιλίας γιατί είναι πιο κοντά και πιο γρήγορο. Το ίδιο συμβαίνει με τη Γαλλία και την Ινδία για τους δικούς τους χρήστες.
Τι συμβαίνει όταν μια περιοχή πέσει
Αν για κάποιο λόγο η Βραζιλία σταματήσει να λειτουργεί, το Azure Front Door το καταλαβαίνει αμέσως μέσω των health probes που δεν θα πάρουν σωστή απάντηση. Μόλις αυτό συμβεί, το σύστημα σταματά να στέλνει αιτήματα εκεί και τα μεταφέρει αυτόματα στα άλλα δύο λειτουργικά regions, δηλαδή στη Γαλλία και στην Ινδία. Η αλλαγή αυτή γίνεται πολύ γρήγορα και ο χρήστης δεν βλέπει μήνυμα λάθους. Το μόνο που συμβαίνει είναι ότι τα αιτήματα οδηγούνται προσωρινά σε άλλη περιοχή μέχρι να επανέλθει η Βραζιλία. Έτσι εξασφαλίζεται ότι η εφαρμογή δεν σταματά ποτέ να λειτουργεί.
Ο ρόλος του Azure Front Door στην αρχιτεκτονική
Το Azure Front Door είναι το κομμάτι της αρχιτεκτονικής που εξασφαλίζει ότι η εφαρμογή είναι πάντα διαθέσιμη και λειτουργεί με τον καλύτερο δυνατό τρόπο για κάθε χρήστη παγκοσμίως. Προσφέρει ασφάλεια, ταχύτητα, έξυπνη δρομολόγηση και αυτόματο failover όταν προκύψουν προβλήματα. Είναι δηλαδή βασικό στοιχείο για κάθε εφαρμογή που έχει παγκόσμιο κοινό, γιατί χωρίς αυτό η ταχύτητα, η εμπειρία και η αξιοπιστία της εφαρμογής θα μειώνονταν σημαντικά.
Τελικό Συμπέρασμα
Το Azure Front Door λειτουργεί ως ο κεντρικός παγκόσμιος μηχανισμός που αναλαμβάνει το balance loading της εφαρμογής, δηλαδή τη σωστή και έξυπνη κατανομή της κίνησης σε πολλά γεωγραφικά σημεία. Παρακολουθεί συνεχώς την κατάσταση των regions και κατευθύνει κάθε χρήστη στο πιο κοντινό, γρήγορο και υγιές σημείο εξυπηρέτησης. Αν κάποιο region αντιμετωπίσει πρόβλημα, το Front Door μεταφέρει άμεσα και αυτόματα τα αιτήματα στα υπόλοιπα διαθέσιμα, εξασφαλίζοντας σταθερή λειτουργία και ταχύτητα χωρίς διακοπές. Με αυτό τον τρόπο προσφέρει μια ολοκληρωμένη και αξιόπιστη μορφή load balancing που προστατεύει την εφαρμογή και βελτιώνει σημαντικά την εμπειρία των χρηστών σε παγκόσμιο επίπεδο.
nikosst
