Προγραμματισμός

Χρήση του Redis Enterprise στο Azure

Η αποθήκευση NoSQL διατίθεται σε πολλούς τύπους. Ορισμένα είναι βάσεις δεδομένων εγγράφων, άλλα αποθηκεύουν ζεύγη κλειδιών / τιμών, όλα υποστηρίζουν πολλούς διαφορετικούς τύπους ευρετηρίου και ερωτήματος. Υπάρχουν συστήματα που βασίζονται σε δίσκο και αυτά που έχουν σχεδιαστεί για να λειτουργούν στη μνήμη. Ορισμένοι χειρίζονται μεγάλες ποσότητες δεδομένων αποτελεσματικά. Άλλοι επικεντρώνονται στην παροχή ταχύτητας. Με τόσα πολλά διαφορετικά προϊόντα, μερικές φορές είναι δύσκολο να επιλέξετε ένα.

Ένα από τα πιο δημοφιλή συστήματα στη μνήμη είναι το Redis, ο απομακρυσμένος διακομιστής λεξικών. Είναι χτισμένο στον διακομιστή Redis ανοιχτού κώδικα, που χρηματοδοτείται από το RedisLabs, με ένα σύνολο επιλογών εμπορικής επιχείρησης. Η Microsoft έχει προσφέρει τη δική της εφαρμογή του ανοιχτού κώδικα Redis στο Azure εδώ και αρκετό καιρό, όπου χρησιμοποιείται κυρίως ως προσωρινή μνήμη υψηλής απόδοσης. Ωστόσο, ανακοίνωσε πρόσφατα μια συνεργασία με την RedisLabs, φέρνοντας μια πλήρως διαχειριζόμενη στοίβα Redis Enterprise στο cloud της Microsoft.

Προσθήκη Redis Enterprise στο Azure

Η νέα υπηρεσία θεωρείται ίσως η καλύτερη προσθήκη δύο νέων επιπέδων στις υπάρχουσες υπηρεσίες Basic, Standard και Premium: Enterprise and Enterprise SSD. Η εφαρμογή Redis της Microsoft επικεντρώθηκε στην παροχή προσωρινής μνήμης υψηλής απόδοσης για τα δεδομένα σας σε μεγάλες εφαρμογές εγγενών cloud, όπου η προσωρινή μνήμη βοηθά στη διαχείριση μηνυμάτων για κώδικα ή κατάσταση περιόδου λειτουργίας βάσει συμβάντων όταν δημιουργείτε συστήματα με κοντέινερ ή χωρίς διακομιστές.

Οι κρυφές μνήμες δεν προορίζονται μόνο για τη διαχείριση εισερχόμενων δεδομένων. Οι σύγχρονες εφαρμογές μπορούν να τις χρησιμοποιήσουν ως τρόπο προφόρτωσης περιεχομένου στο οποίο έχουν πρόσβαση τακτικά οι χρήστες. Μπορείτε να προφορτώσετε το Azure's Redis με τα κοινά στοιχεία σας, όπως κεφαλίδες και λογότυπα, τα οποία δεν αλλάζουν συχνά. Φιλοξενώντας τους στη μνήμη μπορούν να παραδοθούν πολύ πιο γρήγορα, αντί να τα τραβούν από το δίσκο κάθε φορά που φορτώνεται μια σελίδα.

Η χρήση του Redis αφορά την απόδοση. Η τοποθέτηση των δεδομένων cache σε σύστημα μνήμης μπορεί να μειώσει σημαντικά τον λανθάνοντα χρόνο της εφαρμογής, ειδικά όταν δημιουργείτε και εκτελείτε κατανεμημένες εφαρμογές σε κλίμακα. Το περιεχόμενο στα καταστήματα Redis μπορεί να αναπαραχθεί μεταξύ των περιοχών Azure, μειώνοντας τον κίνδυνο των χρηστών σε μια περιοχή να έχουν πρόσβαση σε περιεχόμενο που είναι αποθηκευμένο στον μισό κόσμο.

Ξεκινώντας με το Azure Cache για το Redis

Η υλοποίηση ανοιχτού κώδικα της Microsoft, Azure Cache για Redis, διατίθεται σε Basic, Standard και Premium, με μέγιστο μέγεθος 1,2 TB για βάσεις δεδομένων Premium. Το Basic είναι μια σχετικά απλή υλοποίηση ενός κόμβου, χωρίς SLA αλλά επιλογή μεγέθους μνήμης. Το πρότυπο σας δίνει μεγαλύτερη αξιοπιστία εφαρμόζοντας ένα σύστημα δύο κόμβων και προσθέτοντας ένα SLA. Εάν χρειάζεστε καλύτερη απόδοση και χαμηλότερο λανθάνοντα χρόνο, η επιλογή Premium χρησιμοποιεί διαφορετικό βαθμό εξοπλισμού Azure, προσφέροντας υψηλότερη απόδοση από την τυπική για διαφορετικά που θα ήταν η ίδια διαμόρφωση.

Είναι αρκετά εύκολο να ρυθμίσετε μια κρυφή μνήμη Redis στο Azure. Ξεκινήστε με ένα όνομα DNS και, στη συνέχεια, προσθέστε την προσωρινή μνήμη σε μια ομάδα πόρων και επιλέξτε μια τοποθεσία. Αυτό ρυθμίζει τις υποκείμενες εικονικές μηχανές και ξεκινά την προσωρινή μνήμη σας. Μόλις το Azure το αναφέρει ότι εκτελείται, μπορείτε να το χρησιμοποιήσετε στον κωδικό σας. Τα διαπιστευτήρια που απαιτούνται για τη σύνδεση στο Redis βρίσκονται στην πύλη Azure, με πλήκτρα πρόσβασης και συμβολοσειρές σύνδεσης. Η πύλη εμφανίζει τη διεύθυνση της παρουσίας σας καθώς και τη θύρα στην οποία πρέπει να συνδεθεί ο κώδικάς σας. Από προεπιλογή, αυτό θα γίνεται μέσω SSL.

Υπάρχουν διάφορα πακέτα NuGet για τη χρήση του Redis με τις εφαρμογές .NET, με κλήσεις για λήψη και ρύθμιση στοιχείων στην προσωρινή μνήμη Redis, καθώς και για τον έλεγχο της σύνδεσης της εφαρμογής σας στο Redis. Το μόνο που χρειάζεται να κάνετε είναι να ορίσετε τη συμβολοσειρά σύνδεσης προσωρινής μνήμης και στη συνέχεια να τη χρησιμοποιήσετε για να δημιουργήσετε ένα αντικείμενο προσωρινής μνήμης από τη βάση δεδομένων Redis. Εάν χρησιμοποιείτε το Visual Studio, μπορείτε να εργαστείτε με το Redis χρησιμοποιώντας οικεία εργαλεία βάσης δεδομένων .NET, όπως το Entity Framework.

Οι εφαρμογές που βασίζονται στο Redis είναι εύκολο να εφαρμοστούν χρησιμοποιώντας μοτίβα MVC (μοντέλο, προβολή και ελεγκτής), χρησιμοποιώντας ελεγκτές για την εγγραφή σειριακών δεδομένων στην κρυφή μνήμη και την ανάγνωσή τους όταν είναι απαραίτητο. Η Microsoft συνιστά τη χρήση μορφών JSON για τη σύνταξη και ανάγνωση δεδομένων, με τα δεδομένα JSON που επιστρέφονται εύκολα να μορφοποιηθούν και να εμφανιστούν χρησιμοποιώντας κοινές βιβλιοθήκες JavaScript και .NET.

Το Azure Cache για Redis είναι κάτι περισσότερο από μια βάση δεδομένων και ένα σύνολο API, καθώς περιέχει ένα πλήρες σύνολο εργαλείων διαχείρισης, συμπεριλαμβανομένης της παρακολούθησης. Αυτά μπορούν να σας βοηθήσουν να κλιμακώσετε την παρουσία Redis, όπως απαιτείται. Μπορείτε να αυξήσετε μόνο τις βαθμίδες, μεταβαίνοντας από το Basic στο Standard στο Premium.

Οποιεσδήποτε αλλαγές μεγέθους είναι μια ξεχωριστή λειτουργία και μπορείτε να αλλάξετε το μέγεθος προς τα πάνω ή προς τα κάτω εντός του ίδιου επιπέδου (με την προϋπόθεση ότι δεν μπορείτε να μειώσετε τη μικρότερη προσφορά τυπικού μεγέθους). Εάν θέλετε να κατεβείτε ένα επίπεδο, δημιουργήστε μια νέα παρουσία Redis και, στη συνέχεια, αντιγράψτε τυχόν δεδομένα ή δομές στη νέα βάση δεδομένων πριν διαγράψετε την παλαιότερη έκδοση. Εάν πρέπει να αυτοματοποιήσετε την κλιμάκωση, μπορείτε να χρησιμοποιήσετε το PowerShell ή το Azure CLI ή με κωδικό χρησιμοποιώντας τις βιβλιοθήκες διαχείρισης Azure.

Κλιμάκωση των λειτουργιών βάσης δεδομένων στη μνήμη της Redis Enterprise

Η εφαρμογή Redis του Azure είναι καλή, αλλά δεν είναι ολόκληρη η ιστορία. Βασίζεται στον ανοιχτό κώδικα Redis, επομένως δεν διαθέτει όλες τις δυνατότητες της εμπορικής Redis Enterprise. Αυτός είναι ο λόγος για τον οποίο η Microsoft και η Redis συνεργάστηκαν για την παράδοση δύο επιπέδων, που διαχειρίζεται η Microsoft και υποστηρίζονται και από τις δύο εταιρείες, με πλήρη ενσωμάτωση στο Azure Portal. Το Enterprise, το βασικό επίπεδο, χρησιμοποιεί τον τυπικό χώρο αποθήκευσης Azure, ενώ το επίπεδο SSD Enterprise προσθέτει υποστήριξη για αποθήκευση flash για ταχύτερη πρόσβαση σε δεδομένα που δεν είναι διαθέσιμα στη μνήμη.

Αυτήν τη στιγμή σε μια ιδιωτική προεπισκόπηση, η νέα υπηρεσία προσθέτει υποστήριξη για βασικές λειτουργικές μονάδες Redis Enterprise, επιτρέποντάς σας να χρησιμοποιείτε την υπηρεσία για πολύ περισσότερα από δεδομένα καθαρά αποθηκευμένα. Αυτή είναι μια σημαντική διάκριση, καθώς μια γρήγορη βάση δεδομένων στη μνήμη είναι ένα σημαντικό μέρος ενός συστήματος σε κλίμακα, βάσει συμβάντων, ειδικά ενός συστήματος που βασίζεται σε δεδομένα χρονοσειρών. Άλλες υποστηριζόμενες λειτουργίες περιλαμβάνουν το RedisBloom, το οποίο προσθέτει πιθανό φιλτράρισμα δεδομένων και το RediSearch, το οποίο βελτιώνει την ευρετηρίαση και σας επιτρέπει να χρησιμοποιείτε αναζήτηση πλήρους κειμένου στα δεδομένα σας.

Πρόσθετες δυνατότητες θα προστεθούν καθώς η υπηρεσία μετακινείται από την ιδιωτική προεπισκόπηση στη γενική διαθεσιμότητα (αυτή τη στιγμή προγραμματίζεται για το τέλος του 2020). Αυτά θα σας επιτρέψουν να χρησιμοποιήσετε ενεργό-ενεργό αναπαραγωγή μεταξύ γεωγραφικών περιοχών και υβριδικών αναπτύξεων που λειτουργούν μεταξύ ιδιωτικών και Azure που φιλοξενούνται από το Redis. Δεν χρειάζεται να υπάρχει ειδική σύνδεση μεταξύ εσωτερικών χώρων και Azure Redis. Το ενεργό-ενεργό αντίγραφο θα λειτουργεί μέσω VPN.

Η νέα εφαρμογή του Redis Enterprise μοιάζει με την υπάρχουσα Azure Cache για το Redis μέσα στην πύλη και θα μπορείτε να πραγματοποιήσετε κλιμάκωση από τις υπάρχουσες παρουσίες ή να ξεκινήσετε από το μηδέν. Εάν αναζητάτε καλύτερη απόδοση, η αναβάθμιση είναι μια επιλογή, αλλά πιθανότατα θα θελήσετε να δημιουργήσετε μια εντελώς νέα παρουσία, εάν χρησιμοποιείτε κάποια από τις νέες δυνατότητες της βάσης δεδομένων. Μπορείτε να τα ενεργοποιήσετε ως μέρος της διαδικασίας δημιουργίας, από την πύλη ή μέσω ενός προτύπου Azure Resource Manager. Παρόλο που μεγάλο μέρος της διαχείρισης και της παρακολούθησής σας θα προέρχεται από το Azure Portal, έχετε την επιλογή να χρησιμοποιήσετε τα εργαλεία διαχείρισης του Redis για να συντονίσετε και να βελτιστοποιήσετε τα δεδομένα σας.

Ο συνδυασμός της εφαρμογής Redis της Azure και της RedisLabs Redis Enterprise είναι ένας ενδιαφέρων που δείχνει πώς ένας προμηθευτής με μια premium προσφορά που βασίζεται σε ένα ίδρυμα ανοιχτού κώδικα μπορεί να συνυπάρξει με υπερκλίμακα σύννεφα. Το Azure είναι σε θέση να προσφέρει μια υπηρεσία βασισμένη στην πλατφόρμα ανοιχτού κώδικα, ενώ πιο σύνθετες εφαρμογές μπορούν να χρησιμοποιήσουν τα εργαλεία του RedisLabs. Αυτή η διαδρομή δίνει στην εταιρεία πρόσβαση σε μια νέα ροή εσόδων χωρίς να χρειάζεται να αλλάξει το μοντέλο αδειοδότησης σε μοντέλο που κλείνει τους παρόχους cloud.

Με μια απλή διαδρομή από την υπηρεσία προσωρινής αποθήκευσης που βασίζεται στο Redis της Azure στο Redis Enterprise και χωρίς αλλαγή στα εργαλεία διαχείρισης ή στις σχέσεις χρέωσης, είναι επίσης διαφανής για τους τελικούς χρήστες. Παίρνουν πρόσβαση σε νέα επίπεδα και νέες δυνατότητες χωρίς να χρειάζεται να αλλάξουν τον τρόπο λειτουργίας τους.