Η ομάδα υποστήριξης αποθήκευσης του Bloomberg βασίζεται σε ανοιχτό κώδικα και SDS

Η ομάδα υποστήριξης αποθήκευσης του Bloomberg βασίζεται σε ανοιχτό κώδικα και SDS

TL? DR: Η ομάδα του Bloomberg Storage Engineering δημιούργησε αποθήκευση cloud για εσωτερική χρήση που δεν παρεμβαίνει στην υποδομή και μπορεί να αντέξει το μεγάλο φορτίο της αστάθειας των συναλλαγών κατά τη διάρκεια της πανδημίας.

Ο Mattew Leonard, όταν μιλά για τη δουλειά του ως τεχνικός διευθυντής στην ομάδα του Bloomberg Storage Engineering, χρησιμοποιεί συχνά τις λέξεις «προκλητικό» και «διασκεδαστικό». Οι προκλήσεις προκύπτουν από το ευρύ πεδίο αποθήκευσης, από τις πιο πρόσφατες συστοιχίες SAN που βασίζονται σε NVMe έως την αποθήκευση που ορίζεται από λογισμικό ανοιχτού κώδικα στο DevOps. Εδώ αρχίζει η «διασκέδαση» (δείτε το avatar μου στο Habré, περίπου. μεταφράστης).

Ο Leonard και η ομάδα 25 συναδέλφων του επιβλέπουν περισσότερα από 100 petabyte χωρητικότητας και ένα εσωτερικό σύννεφο για 6000 μηχανικούς που αναπτύσσουν εφαρμογές για το Bloomberg Terminal, την τεχνολογία που έκανε τον Michael Bloomberg δισεκατομμυριούχο. Η ομάδα σχεδιάζει, κατασκευάζει και συντηρεί συστήματα αποθήκευσης για την Bloomberg Engineering.

Όπως και το υπόλοιπο επάγγελμα της πληροφορικής, το 2020 ήταν μια ασυνήθιστη χρονιά για τα μέλη της ομάδας Storage Engineering καθώς ο COVID-19 τα ανάγκασε να εργάζονται εξ αποστάσεως. Ο Λέοναρντ είπε ότι η πανδημία είχε επηρεάσει κοινωνικά τη «σφιχτή ομάδα» του καθώς εξαλείφθηκαν οι αλληλεπιδράσεις πρόσωπο με πρόσωπο, αλλά το προσωπικό είχε προσαρμοστεί πολύ γρήγορα στην εργασία από το σπίτι σε φορητούς υπολογιστές και τηλεδιάσκεψη.

Παραδόξως, θέλω να πω ότι αυτό δεν έκανε τα πράγματα χειρότερα. Υπήρξε μια σύντομη περίοδος προσαρμογής - δεν ήταν όλοι έτοιμοι να δουλέψουν από το σπίτι. Μετά από μια ή δύο εβδομάδες όλοι το κατάλαβαν αυτό. Καταφέραμε να βρούμε τρόπους να κρατήσουμε τον εαυτό μας απασχολημένο, να αγοράσουμε και να αναβαθμίσουμε εξοπλισμό και να αυξήσουμε το κόστος για να υποστηρίξουμε την εταιρεία κατά τη διάρκεια αυτών των περιόδων. Έπρεπε να γίνουμε δημιουργικοί, αλλά δεν πληγωθήκαμε

Η μεγαλύτερη πρόκληση μπορεί να προϋπήρχε της κορύφωσης του COVID-19. Αυτό οφειλόταν στις ασταθείς συναλλαγές στην αγορά λόγω των ανησυχιών για τις επιπτώσεις της πανδημίας στην παγκόσμια οικονομία. Ο όγκος των δεδομένων που εισρέουν στα τερματικά του Bloomberg από τις παγκόσμιες κεφαλαιαγορές σχεδόν διπλασιάστηκε, φτάνοντας τα 240 δισεκατομμύρια πληροφορίες σε ορισμένες ημέρες στα τέλη Μαρτίου. Αυτή είναι μια σοβαρή δοκιμή συστημάτων αποθήκευσης.

Όταν διπλασιάζεις αμέσως τις απαιτήσεις αποθήκευσης σε μια μέρα, δημιουργεί ενδιαφέροντα προβλήματα. Καταφέραμε να το ξεπεράσουμε και να διασφαλίσουμε ότι οι ομάδες ανάπτυξης εφαρμογών θα είχαν τον χώρο και την απόδοση που χρειάζονταν. Τα περισσότερα από αυτά έχουν να κάνουν με το πώς σκεφτόμαστε τα συστήματα αποθήκευσης. Σήμερα δεν δημιουργούμε τίποτα. Δεν λέμε, "Χρησιμοποιούμε ABC, οπότε θα φτιάξουμε την υποδομή για το ABC." Κάνουμε αυτό που ονομάζουμε "προϋπολογισμός δεδομένων" με τις ομάδες μας για να προβλέψουμε τη χρήση, να αναλύσουμε τις τάσεις χρήσης και απόδοσης και επίσης εξετάζουμε την ασφάλεια. Αυτός ο τύπος προγραμματισμού, σκέψης και μεθοδικής δέουσας επιμέλειας μας επιτρέπει να αναλαμβάνουμε δραστικά μέτρα σε υπερτάσεις χωρίς να ιδρώνουμε. Φυσικά, ήμουν νευρικός, αλλά ένιωθα άνετα να είμαι στη θέση μου.

Ο Leonard μίλησε πρόσφατα με το SearchStorage λεπτομερώς σχετικά με τη διαχείριση του χώρου αποθήκευσης για επιχειρήσεις που βασίζονται σε δεδομένα. Συζήτησε τι θα χρειαζόταν για να προσφέρει μια ιδιωτική λύση αποθήκευσης cloud, με τη δυνατότητα να παρέχει δυνατότητες AWS στους χρήστες της, ενώ διατηρεί τυχόν δεδομένα στα κέντρα δεδομένων του Bloomberg.

Εάν δεν υπάρχει πλέον πανδημία, τι δυσκολίες αντιμετωπίζουν οι μηχανικοί του Bloomberg με τη διαχείριση του αποθηκευτικού χώρου;

Έχουμε πολλές ανάγκες, απλά είμαστε διχασμένοι σε διαφορετικές κατευθύνσεις. Επομένως, πρέπει να παρέχουμε πολλούς διαφορετικούς τύπους προϊόντων σε διαφορετικά επίπεδα SLA για να βοηθήσουμε τους προγραμματιστές εφαρμογών μας να επικεντρωθούν στις εργασίες τους αντί να ανησυχούν για την ίδια την αποθήκευση.

Και ποια στρατηγική ακολουθείτε για αυτό;

Μέρος αυτού που προσπαθούμε να κάνουμε είναι να βελτιώσουμε την απόδοση αποθήκευσης. Σκεφτείτε το μοντέλο AWS όπου μπαίνει ένας μηχανικός ανάπτυξης, πατάει ένα κουμπί και, στη συνέχεια, το "κλικ" παίρνει με μαγικό τρόπο τον κατάλληλο τύπο αποθήκευσης για να λύσει το πρόβλημά του.

Πώς μοιάζει η υποδομή αποθήκευσης σας;

Επειδή έχουμε ένα πολύ διαφορετικό οικοσύστημα και πολλούς διαφορετικούς προγραμματιστές, δεν μπορούμε να προσφέρουμε ένα μόνο προϊόν. Έχουμε αποθήκευση αντικειμένων, αρχείων και μπλοκ. Αυτά είναι διαφορετικά προϊόντα και προσφέρουμε διαφορετικούς τύπους τεχνολογιών για την παράδοσή τους. Για μπλοκ χρησιμοποιούμε SAN. Έχουμε επίσης SDS, το οποίο παρέχει μια άλλη επιλογή αποθήκευσης μπλοκ με διαφορετικό σύνολο απαιτήσεων απόδοσης. Για αρχεία χρησιμοποιούμε NFS. Το SDS χρησιμοποιείται επίσης για αποθήκευση αντικειμένων. Τα τμήματα του μπλοκ και του αντικειμένου σχηματίζουν ένα εσωτερικό ιδιωτικό σύννεφο για υπολογιστές και αποθήκευση.

Άρα δεν χρησιμοποιείτε δημόσιο χώρο αποθήκευσης cloud;

Σωστά. Ορισμένες ομάδες ανάπτυξης έχουν άδεια να χρησιμοποιούν δημόσια σύννεφα. Αλλά λόγω της φύσης της επιχείρησής μας, προτιμούμε να έχουμε περισσότερο έλεγχο στα πράγματα που αφήνουν τους τοίχους μας. Οπότε ναι, έχουμε τα δικά μας σύννεφα που είναι υπό τον έλεγχό μας. Αυτός είναι εξοπλισμός που βρίσκεται στο κέντρο δεδομένων μας υπό τη διαχείρισή μας.

Στα κέντρα δεδομένων μας, προτιμούμε μια στρατηγική πολλών προμηθευτών. Είναι μεγάλοι προμηθευτές, αλλά δεν θα πούμε ποιος ακριβώς (η πολιτική του Bloomberg είναι να μην εγκρίνει κανέναν προμηθευτή, περίπου. μεταφράστης).

Χρησιμοποιείτε υπερσυγκλίνουσα υποδομή για να δημιουργήσετε το ιδιωτικό σας σύννεφο;

Οχι. Εμείς στο Bloomberg επιλέγουμε μια κατεύθυνση όπου δεν κινούμαστε προς την υπερσύγκλιση. Προσπαθούμε να αποσυνδέσουμε τους υπολογισμούς από τον χώρο αποθήκευσης, ώστε να μπορούμε να τους κλιμακώσουμε ανεξάρτητα. Η κατεύθυνση προς την οποία κινούμαστε, ειδικά με το σύννεφο μας, είναι να μπορούμε να διαχωρίσουμε αυτές τις δύο οντότητες. Και όλα αυτά γιατί κάποια πράγματα στη χώρα μας απαιτούν εντατικούς υπολογισμούς, ενώ άλλα απαιτούν αποθήκευση. Εάν τα κλιμακώσετε ομοιόμορφα, θα χάσετε πόρους, ανεξάρτητα από χρήματα ή χώρο στα κέντρα δεδομένων ή αγοράζοντας χωρητικότητα που δεν χρειάζεστε. Γι' αυτό μας αρέσει να έχουμε μια κοινή διεπαφή μεταξύ των δύο οντοτήτων, αλλά να είναι εντελώς διαφορετικά συστήματα και να διαχειρίζονται διαφορετικές ομάδες.

Ποια εμπόδια πρέπει να ξεπεραστούν για να δημιουργηθεί ένα ιδιωτικό σύννεφο;

Πρόβλημα κλίμακας. Όπως συμβαίνει με τα περισσότερα πράγματα, ο διάβολος βρίσκεται στις λεπτομέρειες. Όταν σκέφτεστε πώς λειτουργούν αυτά τα πράγματα, πώς να τα κάνετε ανθεκτικά, πώς να χειριστείτε το λειτουργικό φόρτο, πώς επικοινωνείτε με τις ομάδες φυσικών πόρων, τα πράγματα γίνονται λίγο ενδιαφέροντα. Η πρόκληση είναι να βρούμε έναν τρόπο να κάνουμε τα πάντα ένα επεκτάσιμο και υποστηρίσιμο προϊόν που θα ήθελαν να χρησιμοποιήσουν οι προγραμματιστές εφαρμογών μας, έχοντας τη δυνατότητα να εμπλουτίσουν το σύνολο δυνατοτήτων, ενώ θα παραμείνουν στην αιχμή του τι κάνει το δημόσιο cloud. Και επίσης να τα συγκεντρώσουμε όλα ώστε να συνεχίσει να λειτουργεί. Αυτό είναι το κύριο πρόβλημά μας - εργαζόμαστε σε όλους τους τομείς της επιχείρησης, προσπαθώντας να ικανοποιήσουμε όλες τις ανάγκες, χωρίς όμως να αγνοούμε άλλες ανάγκες.

Πιστεύετε ότι χρειάζεστε τις πιο πρόσφατες δυνατότητες που είναι διαθέσιμες στο AWS και σε άλλα δημόσια cloud;

Το πιο διασκεδαστικό γεγονός για το S3 είναι ότι το βιοτικό επίπεδο αλλάζει συνεχώς, προστίθενται πάντα νέα χαρακτηριστικά. Είναι σαν ένα καινούργιο παιχνίδι. Αν κάποιος δει μια νέα δυνατότητα σε μια νέα κυκλοφορία, το θέλει. Δεν είναι όλες οι δυνατότητες του AWS εφαρμόσιμες στο περιβάλλον μας, επομένως είναι σημαντικό και ενδιαφέρον να γνωρίζουμε τι θα βοηθήσει τους προγραμματιστές και πώς να το αποκτήσουν εσωτερικά.

Τι εξοπλισμό αποθήκευσης χρησιμοποιείτε;

Χρησιμοποιούμε τον πιο σύγχρονο εξοπλισμό. Το εσωτερικό μας σύννεφο βασίζεται πλήρως στο NVMe Flash, γεγονός που καθιστά αυτά τα συστήματα πολύ ισχυρά. Κάνει τη ζωή μας λίγο πιο εύκολη και είναι επίσης ένα ωραίο χαρακτηριστικό για τους προγραμματιστές μας, επειδή δεν χρειάζεται να ανησυχούν για την απόδοση αποθήκευσης.

Σε τι χρησιμοποιείτε την αποθήκευση αντικειμένων;

Έχουμε 6000 προγραμματιστές που εργάζονται σε υποδομές, δεν τους ενώνει καμία περίπτωση χρήσης. Όποια επιλογή μπορείτε να σκεφτείτε, πιθανώς την έχουμε στην αποθήκευση αντικειμένων. Ορισμένες ομάδες το χρησιμοποιούν για ψυχρή αποθήκευση αρχείων, άλλες για μεταφορά δεδομένων και άλλες που το χρησιμοποιούν για εφαρμογές συναλλαγών. Όλες αυτές οι περιπτώσεις χρήσης απαιτούν διαφορετικά επίπεδα SLA, επομένως, όπως μπορείτε να δείτε, έχουμε διαφορετικούς τύπους κίνησης, κάθε είδους ανάγκες για διαφορετικούς χρήστες της υποδομής μας. Αυτή δεν είναι μια ομοιογενής θήκη χρήσης που τρέχει πάνω από οποιονδήποτε χώρο αποθήκευσης, κάτι που προφανώς κάνει τα πράγματα πιο περίπλοκα.

Πόσο μεγάλο ρόλο παίζουν τα Kubernetes και τα κοντέινερ για εσάς και πώς αυτό επηρεάζει την αποθήκευση;

Πιέζουμε την παραγωγικότητα της αποθήκευσης για να δημιουργήσουμε μια αίσθηση cloud, μια αίσθηση του κάτι σαν υπηρεσία, όπου υπάρχει ένα κουμπί για τους προγραμματιστές να επιταχύνουν την τέχνη τους και να αφαιρέσουν την υποδομή στην πορεία.

Συντάκτης n.b.: 15 Οκτωβρίου 2020 θα είναι έτοιμο Μαθήματα βίντεο Ceph. Θα μάθετε την τεχνολογία αποθήκευσης δικτύου Ceph για χρήση στα έργα σας για τη βελτίωση της ανοχής σφαλμάτων.

Έχουμε τρεις ομάδες, η πρώτη είναι η ομάδα αποθήκευσης API. Δημιουργούν πρόσβαση μέσω προγραμματισμού, τελικά σημεία και προκαθορισμένες ροές εργασίας για πελάτες ανάπτυξης εφαρμογών στο Bloomberg. Αυτή είναι μια ομάδα προγραμματιστών ιστού full stack, που χρησιμοποιούν node.js, python, τεχνολογίες ανοιχτού κώδικα, όπως το Apache Airflow, επομένως μελετούν τη δημιουργία κοντέινερ και την εικονικοποίηση.

Έχουμε επίσης δύο τεχνικές ομάδες που κινούν πραγματικά τα bit και τα byte. Σχετίζονται πιο άμεσα με τον εξοπλισμό. Έχουμε πολύ εξοπλισμό και αυτές οι ομάδες δεν χρησιμοποιούν εικονικοποίηση και κοντέινερ.

Προσπαθούμε να παρακολουθούμε ό,τι συμβαίνει στον κλάδο, μελετώντας τα προγράμματα οδήγησης Kubernetes CSI και επίσης συνεργαζόμαστε στενά με την ομάδα που υλοποιεί το Kubernetes στο Bloomberg για να αξιολογήσουμε εάν μπορούμε να κάνουμε την αποθήκευση Kubernetes να λειτουργεί με συνέπεια με τις τεχνολογίες που έχουμε και έχουμε λειτουργεί. Χρησιμοποιούμε SDS για να υποστηρίξουμε το Kubernetes που είναι συνδεδεμένο με μόνιμη αποθήκευση. Αναπτύξαμε με επιτυχία αυτήν την τεχνολογία και συνεχίζονται οι συζητήσεις μεταξύ των δύο ομάδων για το πώς μπορούμε να το κάνουμε αυτό διαθέσιμο σε όλους τους άλλους στο Bloomberg. Έχουμε δείξει ότι αυτό είναι πολύ πιθανό.

Ποιο άλλο λογισμικό ανοιχτού κώδικα χρησιμοποιείτε, ιδιαίτερα για αποθήκευση;

Χρησιμοποιούμε Apache Airflow, HAProxy για να περιορίσουμε την κυκλοφορία εφαρμογών. Χρησιμοποιούμε επίσης το Ceph, μια πλατφόρμα για SDS. Με αυτό, μπορείτε να έχετε ένα σύστημα για εντολές, αλλά να παρέχετε πολλαπλές διεπαφές στους πελάτες. Μία από τις πλατφόρμες εικονικοποίησης εκτελείται στο OpenStack - συνεργαζόμαστε στενά με αυτήν την ομάδα. Έχουμε μια πλατφόρμα εικονικοποίησης ανοιχτού κώδικα που χρησιμοποιεί την πλατφόρμα SDS ανοιχτού κώδικα για αποθήκευση. Είναι αστείο.

Ποιες τεχνολογίες αποθήκευσης εξετάζετε για τα επόμενα δύο έως τρία χρόνια;

Εξετάζουμε πάντα άλλα δροσερά νέα πράγματα που συμβαίνουν στη βιομηχανία αποθήκευσης. Αυτό είναι μέρος της δουλειάς μας, δεν είναι "εδώ είναι το SAN σας, διαχειριστείτε εδώ και εδώ είναι το NFS σας, διαχειριστείτε εκεί". Προσπαθούμε να επικοινωνούμε με τους πελάτες μας, π.χ. από τους προγραμματιστές εφαρμογών μας. Συνεργαζόμαστε για να κατανοήσουμε ποια προβλήματα προσπαθούν να λύσουν και πώς θα επηρεάσουν τους εξωτερικούς πελάτες μας στο Bloomberg - τις τράπεζες και άλλες που χρησιμοποιούν το λογισμικό μας. Και μετά επιστρέφουμε στον κόσμο της αποθήκευσης δεδομένων για να βρούμε ευκαιρίες για να τους βοηθήσουμε να επιτύχουν τον στόχο τους. Πώς μπορούμε να τους βοηθήσουμε να βρουν τη σωστή τεχνολογία αποθήκευσης που ταιριάζει στο SLA τους ή σε αυτό που προσπαθούν να κάνουν; Επειδή έχουμε τόσους πολλούς μηχανικούς που κάνουν ωραία πράγματα, δεν γίνεται ποτέ βαρετό.

Αυτήν τη στιγμή αναζητούμε τρόπους βελτίωσης της απόδοσης για το SDS που θα μπορούσαν ενδεχομένως να εκτελούνται σε διακομιστές γενικού σκοπού. Εργαζόμαστε λοιπόν στο NVMe μέσω TCP, αυτή είναι μια πολύ ενδιαφέρουσα και δροσερή πρωτοβουλία, μία από τις πολλές. Συνεργαζόμαστε επίσης με βασικούς ανθρώπους του κλάδου και ορισμένους από τους υπάρχοντες προμηθευτές για να μάθουμε τι προσφέρουν και ποια θα είναι η πραγματική απόδοση, εάν μπορούμε να αρχίσουμε να το χρησιμοποιούμε στην παραγωγή στην εταιρεία. Αυτό ανοίγει νέους ορίζοντες που δεν ήταν προηγουμένως προσβάσιμοι.

Μια μικρή βοήθεια στο Π.Σ.

ΥΣΤΕΡΟΓΡΑΦΟ. Αν μου επιτρέπεται, θα ήθελα να σας υπενθυμίσω ότι 28-30 Σεπτεμβρίου θα είναι εντατική βάση Kubernetes, για όσους δεν γνωρίζουν το Kubernetes, αλλά θέλουν να το εξοικειωθούν και να αρχίσουν να δουλεύουν μαζί του.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο