L'equip de suport d'emmagatzematge de Bloomberg es basa en codi obert i SDS

L'equip de suport d'emmagatzematge de Bloomberg es basa en codi obert i SDS

TL; DR: L'equip d'enginyeria d'emmagatzematge de Bloomberg va crear emmagatzematge al núvol per a ús intern que no interfereix amb la infraestructura i pot suportar la gran càrrega de la volatilitat comercial durant la pandèmia.

Mattew Leonard, quan parla de la seva feina com a gerent tècnic de l'equip d'enginyeria d'emmagatzematge de Bloomberg, sovint utilitza les paraules "repte" i "divertit". Els reptes sorgeixen de l'ampli abast d'emmagatzematge, des de les últimes matrius SAN basades en NVMe fins a l'emmagatzematge definit per programari de codi obert a DevOps. Aquí és on comença la "diversió" (vegeu el meu avatar a Habré, aprox. traductor).

Leonard i el seu equip de 25 col·legues supervisen més de 100 petabytes de capacitat i un núvol intern per a 6000 enginyers que desenvolupen aplicacions per a Bloomberg Terminal, la tecnologia que va fer que Michael Bloomberg fos multimilionari. L'equip dissenya, construeix i manté sistemes d'emmagatzematge per a Bloomberg Engineering.

Com la resta de la professió informàtica, el 2020 va ser un any inusual per als membres de l'equip d'enginyeria d'emmagatzematge, ja que la COVID-19 els va obligar a treballar de forma remota. Leonard va dir que la pandèmia havia afectat socialment el seu "equip molt unit" a mesura que es van eliminar les interaccions cara a cara, però el personal s'havia adaptat molt ràpidament a treballar des de casa amb ordinadors portàtils i videoconferències.

Sorprenentment, vull dir que això no va empitjorar les coses. Hi va haver un breu període d'adaptació: no tothom estava preparat per treballar des de casa. Després d'una o dues setmanes, tothom ho va entendre. Hem pogut trobar maneres de mantenir-nos ocupats, comprar i actualitzar equips i augmentar els costos per donar suport a l'empresa durant aquests temps. Havíem de ser creatius, però no ens hem fet mal

El repte més gran pot haver estat anterior al pic de la COVID-19. Això es va deure a la volàtil comerç del mercat a causa de les preocupacions sobre l'impacte de la pandèmia en l'economia global. El volum de dades que flueixen als terminals de Bloomberg des dels mercats de capitals globals gairebé es va duplicar, arribant als 240 milions d'informació alguns dies a finals de març. Aquesta és una prova seriosa dels sistemes d'emmagatzematge.

Quan doblegueu instantàniament els vostres requisits d'emmagatzematge en un dia, es crea problemes interessants. Hem pogut superar-ho i assegurar-nos que els equips de desenvolupament d'aplicacions rebien l'espai i el rendiment que necessitaven. La majoria d'això té a veure amb com pensem sobre els sistemes d'emmagatzematge. Avui no estem creant res. No diem: "Utilitzem ABC, així que construirem la infraestructura per a ABC". Fem el que anomenem "pressupost de dades" amb els nostres equips per preveure l'ús, analitzar les tendències d'ús i rendiment, i també mirem la seguretat. Aquest tipus de planificació, pensament i diligència deguda metòdica ens permet prendre mesures dràstiques davant les onades sense suar. Per descomptat, estava nerviós, però em sentia còmode sent al meu lloc.

Leonard va parlar recentment amb SearchStorage en detall sobre la gestió de l'emmagatzematge per a empreses basades en dades. Va discutir què es necessitaria per oferir una solució d'emmagatzematge al núvol privat, amb la possibilitat de proporcionar funcions d'AWS als seus usuaris tot conservant les dades als centres de dades de Bloomberg.

Si ja no hi ha una pandèmia, quines dificultats tenen els enginyers de Bloomberg per gestionar l'emmagatzematge?

Tenim moltes necessitats, simplement estem trencats en diferents direccions. Per tant, hem de proporcionar molts tipus diferents de productes a diferents nivells de SLA per ajudar els nostres desenvolupadors d'aplicacions a centrar-se en les seves tasques en lloc de preocupar-se per l'emmagatzematge en si.

I quina estratègia segueix per això?

Una part del que estem intentant és millorar el rendiment de l'emmagatzematge. Penseu en el model d'AWS on un enginyer de desenvolupament entra, prem un botó i després "clic" obté màgicament el tipus d'emmagatzematge adequat per resoldre el seu problema.

Com és la vostra infraestructura d'emmagatzematge?

Com que tenim un ecosistema molt divers i molts desenvolupadors diferents, no podem oferir un sol producte. Disposem d'emmagatzematge d'objectes, fitxers i blocs. Són productes diferents i oferim diferents tipus de tecnologies per oferir-los. Per al bloc fem servir SAN. També tenim SDS, que proporciona una altra opció d'emmagatzematge de blocs amb un conjunt diferent de requisits de rendiment. Per als fitxers fem servir NFS. SDS també s'utilitza per a l'emmagatzematge d'objectes. El bloc i les parts d'objecte formen un núvol privat intern per a la computació i l'emmagatzematge.

Per tant, no utilitzeu l'emmagatzematge al núvol públic?

Això està bé. Alguns equips de desenvolupament tenen permís per utilitzar núvols públics. Però a causa de la naturalesa del nostre negoci, preferim tenir més control sobre les coses que surten de les nostres parets. Així que sí, tenim els nostres propis núvols que estan sota el nostre control. Es tracta d'un equip situat al nostre centre de dades sota la nostra gestió.

Als nostres centres de dades, preferim una estratègia de diversos proveïdors. Són grans proveïdors, però no direm qui exactament (és política de Bloomberg no avalar cap proveïdor, aprox. traductor).

Esteu utilitzant una infraestructura hiperconvergida per crear el vostre núvol privat?

No. A Bloomberg estem escollint una direcció on no anem cap a la hiperconvergència. Estem intentant desacoblar la informàtica de l'emmagatzematge perquè puguem escalar-los de manera independent. La direcció en la qual ens movem, especialment amb el nostre núvol, és que puguem separar aquestes dues entitats. I tot perquè algunes coses al nostre país requereixen càlculs intensius, mentre que altres requereixen emmagatzematge. Si els escaleu de manera uniforme, perdràs recursos, sense importar diners o espai als centres de dades, o comprant capacitat que no necessites. És per això que ens agrada tenir una interfície comuna entre les dues entitats, però que siguin sistemes completament diferents i gestionats per equips diferents.

Quins obstacles s'han de superar per construir un núvol privat?

Problema d'escala. Com passa amb la majoria de coses, el diable està en els detalls. Quan penses en com funcionen aquestes coses, com fer-les resilients, com gestionar la càrrega operativa, com et comuniques amb els equips d'actius físics, les coses es tornen una mica interessants. El repte és trobar una manera de fer que tot sigui un producte escalable i compatible que els nostres desenvolupadors d'aplicacions voldrien utilitzar, podent enriquir el conjunt de funcions mentre es manté a l'avantguarda del que està fent el núvol públic. I també aglutinar-ho tot perquè segueixi funcionant. Aquest és el nostre principal problema: treballem en totes les àrees del negoci, intentant satisfer totes les necessitats, però sense ignorar altres necessitats.

Creus que necessites les últimes funcions disponibles a AWS i altres núvols públics?

El fet més divertit de S3 és que el nivell de vida canvia constantment, sempre s'afegeixen noves funcions. És com una joguina nova. Si algú veu una funció nova en una versió nova, la vol. No totes les funcions d'AWS són aplicables al nostre entorn, per la qual cosa és important i interessant saber què ajudarà els desenvolupadors i com aconseguir-ho a casa.

Quin equip d'emmagatzematge fas servir?

Utilitzem els últims equips. El nostre núvol intern es basa completament en NVMe Flash, la qual cosa fa que aquests sistemes siguin molt potents. Ens facilita una mica la vida i també és una característica agradable per als nostres desenvolupadors perquè no s'han de preocupar pel rendiment de l'emmagatzematge.

Per a què utilitzeu l'emmagatzematge d'objectes?

Tenim 6000 desenvolupadors treballant en infraestructura, no els uneix cap cas d'ús. Qualsevol opció que se us acudeixi, probablement la tinguem a l'emmagatzematge d'objectes. Alguns equips l'utilitzen per a l'emmagatzematge d'arxius en fred, alguns per a la transferència de dades i d'altres que l'utilitzen per a aplicacions transaccionals. Tots aquests casos d'ús requereixen diferents nivells de SLA, de manera que com podeu veure, tenim diferents tipus de trànsit, tot tipus de necessitats per a diferents usuaris de la nostra infraestructura. No es tracta d'un cas d'ús homogeni que s'executa a sobre de cap dels nostres emmagatzematges, cosa que òbviament fa que les coses siguin més complexes.

Quin paper juguen Kubernetes i els contenidors per a tu i com afecta això a l'emmagatzematge?

Estem impulsant la productivitat de l'emmagatzematge per crear una sensació de núvol, una sensació d'alguna cosa com a servei, on hi ha un botó perquè els desenvolupadors acceleren la seva elaboració i eliminen la infraestructura al llarg del camí.

Editor n.b.: el 15 d'octubre de 2020 estarà llest Videocurs de Ceph. Aprendràs la tecnologia d'emmagatzematge de xarxa Ceph per utilitzar-la en els teus projectes per millorar la tolerància a errors.

Tenim tres equips, el primer és l'equip de l'API d'emmagatzematge. Fan accés programàtic, punts finals i fluxos de treball predefinits per als clients de desenvolupament d'aplicacions a Bloomberg. Es tracta d'un equip de desenvolupadors web full stack, utilitzen node.js, python, tecnologies de codi obert, com Apache Airflow, per la qual cosa estudien la contenidorització i la virtualització.

També tenim dos equips tècnics que realment mouen els bits i bytes. Estan més directament relacionats amb l'equip. Tenim molt equipament, i aquests equips no utilitzen virtualització ni contenidors.

Estem intentant mantenir-nos al dia amb el que està passant a la indústria, estudiant els controladors CSI de Kubernetes i també treballant estretament amb l'equip que implementa Kubernetes a Bloomberg per avaluar si podem fer que l'emmagatzematge de Kubernetes funcioni de manera coherent amb les tecnologies que tenim, i tenim està funcionant. Utilitzem SDS per donar suport a Kubernetes connectats a l'emmagatzematge persistent. Hem desenvolupat aquesta tecnologia amb èxit i les discussions continuen entre els dos equips sobre com podem posar-la a disposició de tots els altres a Bloomberg. Hem demostrat que això és molt possible.

Quin altre programari de codi obert utilitzeu, especialment per a l'emmagatzematge?

Utilitzem Apache Airflow, HAProxy per limitar el trànsit d'aplicacions. També fem servir Ceph, una plataforma per a SDS. Amb ell, podeu tenir un sistema per a ordres, però proporcionar múltiples interfícies als clients. Una de les plataformes de virtualització s'executa a OpenStack: treballem estretament amb aquest equip. Tenim una plataforma de virtualització de codi obert que utilitza la plataforma SDS de codi obert per a l'emmagatzematge. És divertit.

Quines tecnologies d'emmagatzematge penseu per als propers dos o tres anys?

Sempre estem buscant altres coses noves interessants que succeeixen a la indústria de l'emmagatzematge. Això forma part del nostre treball, no és "aquí està la teva SAN, gestiona aquí, i aquí està la teva NFS, gestiona allà". Intentem comunicar-nos amb els nostres clients, és a dir. pels nostres desenvolupadors d'aplicacions. Treballem junts per entendre quins problemes estan tractant de resoldre i com afectarà als nostres clients externs de Bloomberg: els bancs i altres que utilitzen el nostre programari. I després tornem al món de l'emmagatzematge de dades per trobar oportunitats que els ajudin a assolir el seu objectiu. Com els podem ajudar a trobar la tecnologia d'emmagatzematge adequada que s'adapti al seu SLA o al que estan intentant fer? Com que tenim tants enginyers fent coses interessants, mai s'avorreix.

Actualment estem buscant maneres de millorar el rendiment de SDS que podria funcionar en servidors de propòsit general. Així que estem treballant en NVMe sobre TCP, aquesta és una iniciativa molt interessant i interessant, una de moltes. També estem treballant amb persones clau del sector i amb alguns dels proveïdors existents per saber què ofereixen i quin serà el rendiment real, si podem començar a utilitzar-lo a la producció a l'empresa. Això obre nous horitzons que abans no eren accessibles.

Una mica d'ajuda en PS

PD Si em permet, us recordo que es farà del 28 al 30 de setembre Base intensiva de Kubernetes, per a aquells que no coneixen Kubernetes, però volen familiaritzar-s'hi i començar a treballar-hi.

Font: www.habr.com

Afegeix comentari