
TL; DR: Das Bloomberg Storage Engineering-Team hat Cloud-Speicher für den internen Gebrauch entwickelt, der die Infrastruktur nicht beeinträchtigt und der starken Belastung durch Handelsvolatilität während der Pandemie standhält.
Wenn Mattew Leonard über seine Arbeit als technischer Manager im Bloomberg Storage Engineering-Team spricht, verwendet er oft die Worte „herausfordernd“ und „Spaß“. Die Herausforderungen ergeben sich aus dem breiten Speicherspektrum, von den neuesten NVMe-basierten SAN-Arrays bis hin zu Open-Source-Software-Defined-Storage in DevOps. Hier beginnt der „Spaß“ (siehe meinen Avatar auf Habré, ca. Übersetzer).
Leonard und sein Team aus 25 Kollegen betreuen mehr als 100 Petabyte Kapazität und eine interne Cloud für 6000 Ingenieure, die Anwendungen für Bloomberg Terminal entwickeln, die Technologie, die Michael Bloomberg zum Milliardär gemacht hat. Das Team entwirft, baut und wartet Speichersysteme für Bloomberg Engineering.
Wie für den Rest des IT-Berufs war 2020 ein ungewöhnliches Jahr für die Mitglieder des Storage Engineering-Teams, da COVID-19 sie dazu zwang, remote zu arbeiten. Leonard sagte, die Pandemie habe sich sozial auf sein „engmaschiges Team“ ausgewirkt, da persönliche Interaktionen wegfielen, die Mitarbeiter sich jedoch schnell an die Arbeit von zu Hause aus an Laptops und Videokonferenzen gewöhnt hätten.
Erstaunlicherweise möchte ich sagen, dass dies die Sache nicht noch schlimmer gemacht hat. Es gab eine kurze Eingewöhnungsphase – nicht jeder war bereit, von zu Hause aus zu arbeiten. Nach ein oder zwei Wochen verstand das jeder. Wir konnten Wege finden, uns zu beschäftigen, Ausrüstung zu kaufen und aufzurüsten und die Kosten zu erhöhen, um das Unternehmen in diesen Zeiten zu unterstützen. Wir mussten kreativ werden, aber es hat uns nicht geschadet
Die größte Herausforderung lag möglicherweise vor dem Höhepunkt von COVID-19. Dies war auf den volatilen Markthandel aufgrund von Bedenken hinsichtlich der Auswirkungen der Pandemie auf die Weltwirtschaft zurückzuführen. Das Datenvolumen, das von globalen Kapitalmärkten in Bloomberg-Terminals einfließt, hat sich nahezu verdoppelt und erreichte Ende März an manchen Tagen 240 Milliarden Informationen. Dies ist ein ernsthafter Test für Speichersysteme.
Wenn Sie Ihren Speicherbedarf an einem Tag sofort verdoppeln, entstehen interessante Probleme. Wir konnten dieses Problem überwinden und sicherstellen, dass Anwendungsentwicklungsteams den Raum und die Leistung erhalten, die sie benötigen. Das meiste davon hat damit zu tun, wie wir über Speichersysteme denken. Heute erschaffen wir nichts. Wir sagen nicht: „Wir nutzen ABC, also bauen wir die Infrastruktur für ABC auf.“ Wir führen mit unseren Teams eine sogenannte „Datenbudgetierung“ durch, um die Nutzung vorherzusagen, Nutzungs- und Leistungstrends zu analysieren und achten auch auf die Sicherheit. Diese Art der Planung, des Denkens und der methodischen Due Diligence ermöglicht es uns, bei Überspannungen drastische Maßnahmen zu ergreifen, ohne ins Schwitzen zu geraten. Natürlich war ich nervös, aber ich fühlte mich an meiner Stelle wohl.
Leonard hat kürzlich mit SearchStorage ausführlich über die Speicherverwaltung für datengesteuerte Unternehmen gesprochen. Er erörterte, was nötig wäre, um eine private Cloud-Speicherlösung anzubieten, mit der Möglichkeit, seinen Benutzern AWS-Funktionen bereitzustellen und gleichzeitig alle Daten in Bloomberg-Rechenzentren zu speichern.
Welche Schwierigkeiten haben die Bloomberg-Ingenieure bei der Speicherverwaltung, wenn es keine Pandemie mehr gibt?
Wir haben viele Bedürfnisse, wir sind einfach in verschiedene Richtungen hin- und hergerissen. Deshalb müssen wir viele verschiedene Arten von Produkten auf unterschiedlichen SLA-Ebenen bereitstellen, um unseren Anwendungsentwicklern zu helfen, sich auf ihre Aufgaben zu konzentrieren, anstatt sich um den Speicher selbst zu kümmern.
Und welche Strategie verfolgen Sie dabei?
Wir versuchen unter anderem, die Speicherleistung zu verbessern. Stellen Sie sich das AWS-Modell vor, bei dem ein Softwareentwickler hereinkommt, einen Knopf drückt und dann per „Klick“ auf magische Weise den richtigen Speichertyp zur Lösung seines Problems erhält.
Wie sieht Ihre Speicherinfrastruktur aus?
Da wir über ein sehr vielfältiges Ökosystem und viele verschiedene Entwickler verfügen, können wir nicht ein einziges Produkt anbieten. Wir verfügen über Objekt-, Datei- und Blockspeicher. Es handelt sich um unterschiedliche Produkte und wir bieten unterschiedliche Arten von Technologien für deren Bereitstellung an. Für den Block verwenden wir SAN. Wir haben auch SDS, das eine weitere Blockspeicheroption mit anderen Leistungsanforderungen bietet. Für Dateien verwenden wir NFS. SDS wird auch zur Objektspeicherung verwendet. Die Block- und Objektteile bilden eine interne private Cloud für Datenverarbeitung und Speicherung.
Sie nutzen also keinen öffentlichen Cloud-Speicher?
Das ist richtig. Einige Entwicklungsteams haben die Erlaubnis, öffentliche Clouds zu nutzen. Aufgrund der Natur unseres Geschäfts möchten wir jedoch lieber mehr Kontrolle über die Dinge haben, die unsere Wände verlassen. Also ja, wir haben unsere eigenen Clouds, die unter unserer Kontrolle stehen. Hierbei handelt es sich um Geräte, die sich in unserem Rechenzentrum unter unserer Verwaltung befinden.
In unseren Rechenzentren bevorzugen wir eine Multi-Vendor-Strategie. Es handelt sich um große Lieferanten, aber wir werden nicht genau sagen, wer (es ist die Politik von Bloomberg, keinen Lieferanten zu unterstützen, ca. Übersetzer).
Nutzen Sie eine hyperkonvergente Infrastruktur zum Aufbau Ihrer privaten Cloud?
NEIN. Wir bei Bloomberg wählen eine Richtung, in der wir uns nicht in Richtung Hyperkonvergenz bewegen. Wir versuchen, die Rechenleistung vom Speicher zu entkoppeln, damit wir sie unabhängig skalieren können. Die Richtung, in die wir uns bewegen, insbesondere mit unserer Cloud, besteht darin, dass wir diese beiden Einheiten trennen können. Und das alles, weil einige Dinge in unserem Land intensive Berechnungen erfordern, während andere eine Speicherung erfordern. Wenn Sie sie gleichmäßig skalieren, verlieren Sie Ressourcen, egal ob Geld, Platz in Rechenzentren oder durch den Kauf von Kapazitäten, die Sie nicht benötigen. Aus diesem Grund möchten wir eine gemeinsame Schnittstelle zwischen den beiden Einheiten haben, sie jedoch als völlig unterschiedliche Systeme nutzen und von unterschiedlichen Teams verwalten.
Welche Hürden müssen beim Aufbau einer Private Cloud überwunden werden?
Problem der Skalierung. Wie bei den meisten Dingen steckt der Teufel im Detail. Wenn man darüber nachdenkt, wie diese Dinge funktionieren, wie man sie widerstandsfähig macht, wie man mit der betrieblichen Belastung umgeht und wie man mit den Teams für physische Anlagen kommuniziert, wird es etwas interessant. Die Herausforderung besteht darin, einen Weg zu finden, alles zu einem skalierbaren und unterstützbaren Produkt zu machen, das unsere Anwendungsentwickler verwenden möchten, und dabei den Funktionsumfang zu erweitern und gleichzeitig auf dem neuesten Stand der Möglichkeiten der öffentlichen Cloud zu bleiben. Und auch alles zusammenzubringen, damit es weiterhin funktioniert. Das ist unser Hauptproblem – wir arbeiten in allen Bereichen des Unternehmens und versuchen, alle Bedürfnisse zu befriedigen, aber andere Bedürfnisse nicht zu ignorieren.
Glauben Sie, dass Sie die neuesten Funktionen benötigen, die in AWS und anderen öffentlichen Clouds verfügbar sind?
Das Schönste an S3 ist, dass sich der Lebensstandard ständig ändert und ständig neue Funktionen hinzugefügt werden. Es ist wie ein neues Spielzeug. Wenn jemand eine neue Funktion in einer neuen Version sieht, möchte er sie haben. Nicht alle AWS-Funktionen sind in unserer Umgebung anwendbar. Daher ist es wichtig und interessant zu wissen, was Entwicklern hilft und wie man es intern erhält.
Welche Lagergeräte nutzen Sie?
Wir verwenden modernste Geräte. Unsere interne Cloud basiert vollständig auf NVMe Flash, was diese Systeme sehr leistungsfähig macht. Es macht unser Leben ein wenig einfacher und ist auch eine nette Funktion für unsere Entwickler, da sie sich keine Sorgen um die Speicherleistung machen müssen.
Wofür verwenden Sie Objektspeicher?
Wir haben 6000 Entwickler, die an der Infrastruktur arbeiten, sie sind nicht durch einen einzigen Anwendungsfall vereint. Jede Option, die Sie sich vorstellen können, wir haben sie wahrscheinlich im Objektspeicher. Einige Teams nutzen es für die kalte Archivierung, andere für die Datenübertragung und wieder andere nutzen es für Transaktionsanwendungen. Alle diese Anwendungsfälle erfordern unterschiedliche SLA-Ebenen. Wie Sie sehen, haben wir also unterschiedliche Arten von Datenverkehr und alle Arten von Anforderungen für unterschiedliche Benutzer unserer Infrastruktur. Dies ist kein homogener Anwendungsfall, der auf unserem Speicher läuft, was die Sache offensichtlich komplexer macht.
Welche Rolle spielen Kubernetes und Container für Sie und welche Auswirkungen hat das auf den Speicher?
Wir treiben die Speicherproduktivität voran, um ein Gefühl von Cloud zu schaffen, ein Gefühl von Something-as-a-Service, bei dem es für Entwickler einen Knopf gibt, mit dem sie ihr Handwerk beschleunigen und dabei die Infrastruktur entfernen können.
Anmerkung des Herausgebers:: 15. Oktober 2020 wird fertig sein . Sie lernen die Ceph-Netzwerkspeichertechnologie kennen, die Sie in Ihren Projekten verwenden können, um die Fehlertoleranz zu verbessern.
Wir haben drei Teams, das erste ist das Speicher-API-Team. Sie stellen programmatischen Zugriff, Endpunkte und vordefinierte Workflows für App-Entwicklungskunden bei Bloomberg her. Dies ist ein Team von Full-Stack-Webentwicklern, die Node.js, Python und Open-Source-Technologien wie Apache Airflow verwenden und sich daher mit Containerisierung und Virtualisierung befassen.
Wir haben auch zwei technische Teams, die die Bits und Bytes tatsächlich verschieben. Sie hängen direkter mit der Ausrüstung zusammen. Wir verfügen über viel Ausrüstung und diese Teams verwenden keine Virtualisierung und Container.
Wir versuchen, mit dem Geschehen in der Branche Schritt zu halten, studieren die Kubernetes-CSI-Treiber und arbeiten auch eng mit dem Kubernetes-Implementierungsteam bei Bloomberg zusammen, um zu beurteilen, ob wir dafür sorgen können, dass Kubernetes-Speicher konsistent mit den Technologien funktioniert, die wir haben und haben es funktioniert. Wir verwenden SDS zur Unterstützung von Kubernetes, das mit persistentem Speicher verbunden ist. Wir haben diese Technologie erfolgreich entwickelt und die Diskussionen zwischen den beiden Teams darüber, wie wir sie allen anderen bei Bloomberg zugänglich machen können, gehen weiter. Wir haben gezeigt, dass dies durchaus möglich ist.
Welche andere Open-Source-Software verwenden Sie, insbesondere für die Speicherung?
Wir verwenden Apache Airflow und HAProxy, um den Anwendungsverkehr zu begrenzen. Wir nutzen auch Ceph, eine Plattform für SDS. Damit können Sie ein System für Befehle haben, aber mehrere Schnittstellen für Clients bereitstellen. Eine der Virtualisierungsplattformen läuft auf OpenStack – wir arbeiten eng mit diesem Team zusammen. Wir verfügen über eine Open-Source-Virtualisierungsplattform, die die Open-Source-SDS-Plattform für die Speicherung nutzt. Es ist lustig.
Welche Speichertechnologien erwägen Sie für die nächsten zwei bis drei Jahre?
Wir sind immer auf der Suche nach weiteren coolen neuen Dingen, die in der Speicherbranche passieren. Das ist Teil unserer Arbeit, es heißt nicht: „Hier ist Ihr SAN, verwalten Sie es hier, und hier ist Ihr NFS, verwalten Sie es dort.“ Wir versuchen mit unseren Kunden zu kommunizieren, d.h. durch unsere Anwendungsentwickler. Wir arbeiten zusammen, um zu verstehen, welche Probleme sie zu lösen versuchen und wie sich dies auf unsere externen Bloomberg-Kunden auswirken wird – die Banken und andere, die unsere Software verwenden. Und dann gehen wir zurück in die Welt der Datenspeicherung, um Möglichkeiten zu finden, ihnen beim Erreichen ihres Ziels zu helfen. Wie können wir ihnen helfen, die richtige Speichertechnologie zu finden, die zu ihrem SLA oder ihrem Vorhaben passt? Weil wir so viele Ingenieure haben, die coole Dinge machen, wird es nie langweilig.
Wir suchen derzeit nach Möglichkeiten, die Leistung von SDS zu verbessern, das möglicherweise auf Allzweckservern ausgeführt werden könnte. Wir arbeiten also an NVMe über TCP, das ist eine sehr interessante und coole Initiative, eine von vielen. Wir arbeiten auch mit Schlüsselpersonen der Branche und einigen der bestehenden Lieferanten zusammen, um herauszufinden, was sie anbieten und wie die tatsächliche Leistung sein wird und ob wir damit in der Produktion im Unternehmen beginnen können. Dies eröffnet neue Horizonte, die bisher nicht zugänglich waren.
Eine kleine Hilfe in PS
PS Wenn ich darf, möchte ich Sie daran erinnern, dass der 28. bis 30. September stattfinden wird , für diejenigen, die Kubernetes nicht kennen, sich aber damit vertraut machen und anfangen möchten, damit zu arbeiten.
Source: habr.com
