Wylst elkenien myn jierdei fierde, reparearre ik it kluster oant de moarn - en de ûntwikkelders skulden har flaters op my

Wylst elkenien myn jierdei fierde, reparearre ik it kluster oant de moarn - en de ûntwikkelders skulden har flaters op my

Hjir is in ferhaal dat myn oanpak foar devopswurk foar altyd feroare. Werom yn pre-Covid-tiden, lang, lang foar har, doe't de jonges en ik gewoan ús eigen bedriuw planden en freelancenden op willekeurige oarders, foel ien oanbod yn myn karre.

It bedriuw dat dit skreau wie in bedriuw foar gegevensanalyse. Se ferwurke alle dagen tûzenen oanfragen. Se kamen nei ús mei de wurden: jonges, wy hawwe ClickHouse en wy wolle har konfiguraasje en ynstallaasje automatisearje. Wy wolle dat Ansible, Terraform, Docker en dat alles wurdt opslein yn Git. Wy wolle in kluster fan fjouwer knopen mei elk twa replika's.

It is in standert fersyk, der binne tsientallen fan harren, en jo moatte in like goede standert oplossing. Wy seine "ok", en nei 2-3 wiken wie alles klear. Se akseptearren de baan en begûnen te ferhúzjen nei in nij Clickhouse-kluster mei ús hulpprogramma.

Nimmen woe of wist hoe te tinken mei Clickhouse. Doe tochten wy dat dit harren wichtichste probleem wie, en dêrom joech it tankstasjon fan it bedriuw gewoan it startsein oan myn ploech om it wurk safolle mooglik te automatisearjen, om der sels net wer hinne te gean.

Wy begelieden de ferhuzing, oare taken ûntstienen - backups ynstelle en tafersjoch. Op itselde momint fusearre it tankstasjon fan dit bedriuw mei in oar projekt, wêrtroch't ús ien fan ús - Leonid - as kommandant. Lenya wie net in tige bejeftige keardel. In ienfâldige ûntwikkelder dy't ynienen de lieding waard oer Clickhouse. It liket derop dat dit syn earste opdracht wie om wat te behearjen, en de oerweldige eare makke him in starstruck te fielen.

Tegearre sette wy oan it meitsjen fan backups. Ik stelde foar om de orizjinele gegevens direkt te meitsjen. Nim it gewoan, zip it en smyt it elegant yn guon c3. Raw gegevens is goud. D'r wie in oare opsje - in reservekopy fan 'e tabellen sels yn Clickhouse, mei help fan in freeze en kopiearje. Mar Lenya kaam mei syn eigen oplossing.

Hy kundige oan dat wy in twadde Clickhouse-kluster nedich binne. En fan no ôf sille wy gegevens skriuwe nei twa klusters - de wichtichste en reservekopy. Ik sis him, Lenya, it sil gjin reservekopy wêze, mar in aktive replika. En as gegevens begjinne te ferliezen yn produksje, sil itselde barre op jo reservekopy.

Mar Lenya pakte it stjoer fêst en wegere nei myn arguminten te harkjen. Wy prate in lange tiid mei him yn it petear, mar der wie neat te dwaan - Lenya wie de lieding oer it projekt, wy wiene gewoan hierde bern fan 'e strjitte.

Wy kontrolearren de steat fan it kluster en rekken allinich foar it wurk fan behearders. Pure Clickhouse-administraasje sûnder yn 'e gegevens te kommen. It kluster wie beskikber, de skiven wiene goed, de knopen wiene goed.

Wy wisten net folle dat wy dizze bestelling krigen hawwe fanwegen in ferskriklik misferstân binnen har team

De manager wie net tefreden dat Clickhouse traach wie en gegevens soms ferlern gien. Hy stelde syn tankstasjon de taak om it út te finen. Hy betocht it sa goed as er koe en konkludearre dat wy gewoan it Clickhouse moasten automatisearje - dat is alles. Mar sa't al gau dúdlik waard, hiene se hielendal gjin team fan devops nedich.

Dit alles blykte heul, heul pynlik te wêzen. En it meast oanfallende ding wie dat it op myn jierdei wie.

Freedtejûn. Ik makke in reservearring op myn favorite wyn bar en noege de homies.

Hast foar it fuortgean krije wy in taak om in alter te meitsjen, wy foltôgje it, alles is ok. Alter trochjûn, clickhouse befêstige. Wy geane al nei de bar, en se skriuwe ús dat der net genôch gegevens binne. Wy hawwe berekkene dat alles genôch liket te wêzen. En se gongen fuort om te fieren.

It restaurant wie lawaaierich op in freed. Nei't wy drinken en iten besteld hawwe, loungen wy op 'e banken. Al dy tiid, myn slack waard stadich oerstreamd mei berjochten. Se skreaunen wat oer in gebrek oan gegevens. Ik tocht - de moarn is wizer as de jûn. Benammen hjoed.

Tichterby alven begûnen se te belje. It wie it haad fan it bedriuw ... "Wierskynlik besletten om my te lokwinskje," tocht ik hiel wifkjend, en naam de telefoan.

En ik hearde soksawat as: "Jo hawwe ús gegevens fersnipele! Ik betelje dy, mar neat wurket! Jo wiene ferantwurdlik foar backups, en do hast net dien in damn ding! Litte wy it reparearje!" - allinnich noch ruder.

- Witte jo wat, kom der út! Hjoed is myn jierdei, en no sil ik drinke, en net dwaande hâlde mei jo selsmakke produkten fan juny út crap en stokken!

Dat sei ik net. Ynstee helle ik myn laptop út en kaam oan it wurk.

Nee, ik bombardearre, ik bombardearre as de hel! Hy gie bytend "ik sei it dy" yn it petear - om't de reservekopy, dy't hielendal gjin reservekopy wie, - fansels, neat bewarre.

De jonges en ik fûnen út hoe't jo de opname manuell stopje en alles kontrolearje. Wy hawwe eins derfoar soarge dat guon fan 'e gegevens net skreaun binne.

Wy hâlde op mei opnimmen en telden it oantal eveneminten dat der per dei wie. Se uploaden mear gegevens, wêrfan mar in tredde net opnommen is. Trije stikken mei elk 2 replika's. Jo ynfoegje 100.000 rigen - 33.000 wurde net opnommen.

Der wie folsleine betizing. Elkenien fertelde inoar om beurten te neuken: Lenya gie der earst hinne, folge troch mysels en de oprjochter fan it bedriuw. Allinnich it tankstasjon dat meidie, besocht ús roppende oproppen en korrespondinsje om te lieden nei it finen fan in oplossing foar it probleem.

Nimmen begriep wat der echt barde

De jonges en ik wiene gewoanwei ferrast doe't wy realisearre dat in tredde fan alle gegevens net allinich net opnommen wie, it wie ferlern! It die bliken dat de folchoarder yn it bedriuw as folget wie: nei it ynfoegjen waarden de gegevens ûnherroeplik wiske, de eveneminten waarden fergriemd yn batches. Ik stelde my foar hoe't Sergei dit alles soe omsette yn ferlerne roebels.

Myn jierdei waard ek yn it jiskefet smiten. Wy sieten oan 'e bar en generearre ideeën, besykje de puzel op te lossen dy't op ús waard smiten. De reden foar de fal fan Clickhouse wie net dúdlik. Miskien is it it netwurk, miskien binne it de Linux-ynstellingen. Ja, wat jo wolle, der binne hypotezen genôch west.

Ik naam de eed fan 'e ûntwikkelder net, mar it wie ûnearlik om de jonges oan' e oare ein fan 'e line te ferlitten - sels as se ús alles skuldich makken. Ik wie 99% wis dat it probleem net yn ús besluten lei, net oan ús kant. De kâns fan 1% dat wy fergriemd hiene baarnende fan eangst. Mar oan hokker kant de muoite ek siet, it moast ferholpen wurde. Klanten litte, nettsjinsteande wa't se binne, mei sa'n skriklike gegevenslek is te wreed.

Wy wurken oan de restauranttafel oant trije oere moarns. Wy hawwe barrens tafoege, selektearje ynfoegje, en wy gongen om de gatten yn te foljen. As jo ​​​​de gegevens opknappe, is dit hoe't jo it dogge: jo nimme de gemiddelde gegevens foar de foargeande dagen en foegje se yn 'e ferskroefde.

Nei trije oere moarns gongen myn freon en ik nei myn hûs en bestelden in bier fan 'e alkoholmerk. Ik siet mei in laptop en Clickhouse-problemen, in freon fertelde my wat. As gefolch hie hy nei in oere misledige dat ik wurke en gjin bier mei him dronk, en gie. Klassyk - ik wie in freon fan Devops.

Tsjin 6 oere makke ik de tafel wer opnij, en de gegevens begon te oerstreamen. Alles wurke sûnder ferlies.

Doe wie it dreech. Elkenien joech inoar de skuld foar it gegevensferlies. As der in nije bug bard wie, bin ik der wis fan dat der in sjitterij west hawwe soe

Yn dizze gefjochten begûnen wy úteinlik te begripen - it bedriuw tocht dat wy de jonges wiene dy't wurkje mei gegevens en de struktuer fan tabellen kontrolearje. Se betize admins mei dealers. En se kamen ús wat oars te freegjen as de admins.

Har wichtichste klacht is - wat de hel, jo wiene ferantwurdlik foar de backups en hawwe se net goed dien, jo bleauwen de gegevens fergrieme. En dit alles mei it weromdraaien fan matten.

Ik woe gerjochtichheid. Ik groeven de korrespondinsje en taheakke screenshots fan elkenien, dêr't Leonid mei alle macht twingt se te meitsjen fan de reservekopy dy't makke. Harren tankstasjon naam ús kant nei myn telefoantsje. Letter joech Lenya syn skuld ta.

It haad fan it bedriuw, krekt oarsom, woe syn eigen minsken net de skuld jaan. Skermôfbyldings en wurden hiene gjin effekt op him. Hy leaude dat, om't wy hjir saakkundigen wiene, wy elkenien moatte oertsjûgje en oanhingje op ús beslút. Blykber wie ús taak om Lenya te learen en boppedat him, dy't waard beneamd as de projektmanager, om te gean nei it wichtichste ding en persoanlik al ús twifels oer it konsept fan backups oan him út te goaien.

It petear siet fan haat, ferburgen en ûnferburgen agresje. Ik wist net wat ik dwaan moast. Alles is stil kommen. En doe rieden se my de maklikste manier - om in persoanlik berjocht te skriuwen oan 'e manager en in gearkomste mei him te regeljen. Vasya, minsken yn it echte libben binne net sa fluch as se binne yn petear. De baas antwurde op myn berjocht: kom, gjin fraach.

It wie de skriklikste moeting yn myn karriêre. Myn bûnsmaat fan de klant - STO - koe de tiid net fine. Ik gie nei de moeting mei de baas en Lena.

Hieltyd wer spile ik ús mooglike dialooch yn myn holle. It slagge my hiel betiid te kommen, in healoere fan tefoaren. Ik begon senuweftich te wurden, ik smookte 10 sigaretten. Ik begriep, dat is it - ik bin fokken allinich. Ik sil se net oertsjûgje kinne. En hy stapte de lift yn.

Wylst er oerein stie, sloech er sa hurd op de oanstekker dat er dy bruts.

Dêrtroch wie Lenya net by de gearkomste. En wy hienen in moai petear oer alles mei de baas! Sergei fertelde my oer syn pine. Hy woe Clickhouse net "automatisearje" - hy woe "fragen wurk meitsje."

Ik seach gjin geit, mar in goede keardel, soargen oer syn bedriuw, ûnderdompele yn wurk 24/7. Chat lûkt ús faak smjunten, skurken en domme minsken. Mar yn it libben binne dit minsken lykas jo.

Sergei hie gjin pear devops nedich om te hieren. It probleem dat se hiene, blykte folle grutter te wêzen.

Ik sei dat ik syn problemen koe oplosse - it is gewoan in folslein oare baan, en ik haw in freon dy't der foar wurket. As wy fan it begjin ôf wisten dat dit in deal foar harren wie, dan hiene wy ​​in protte mijd. It is let, mar wy realisearre dat it probleem lei yn crappy gegevensbehear, net yn 'e ynfrastruktuer.

Wy skodden hannen, se ferhege ús lean twa en in heale kear, mar op betingst dat ik absolút de hiele rommel mei har gegevens en Clickhouse foar mysels nim. Yn 'e lift kommunisearre ik mei deselde DI-man Max en ferbûn him mei it wurk. It wie nedich om it hiele kluster te skodzjen.

Der siet in soad jiskefet yn it oannommen projekt. Te begjinnen mei de neamde "reservekopy". It die bliken dat dit selde "backup" kluster net isolearre wie. Se testen der alles op, soms sels yn produksje.

Us eigen ûntwikkelders hawwe har eigen oanpaste data-ynfoeger makke. Hy wurke sa: hy batchde de bestannen, rûn it skript en fusearre de gegevens yn in tabel. Mar it wichtichste probleem wie dat in enoarme hoemannichte gegevens waard akseptearre foar ien ienfâldich fersyk. It fersyk kaam elke sekonde by de gegevens. Alles om 'e wille fan ien nûmer - it bedrach per dei.

Yn-hûs-ûntwikkelders brûkten it analytyske ark ferkeard. Se gongen nei de grafana en skreau har keninklik fersyk. Hy uploade gegevens foar 2 wiken. It waard in prachtige grafyk. Mar yn werklikheid wie it gegevensfersyk elke 10 sekonden. Dit alles stie op in wachtrige, om't Clickhouse de ferwurking gewoan net útnaam. Dit is wêr't de wichtichste reden ferburgen wie. Neat wurke yn Grafana, oanfragen stiene yn in wachtrige, en âlde, irrelevante gegevens kamen konstant oan.

Wy hawwe it kluster opnij konfigureare, de ynfoeging opnij makke. De eigen ûntwikkelders skreaunen har "ynfoegje" opnij, en it begon gegevens korrekt te sjitten.

Max hat in folsleine ynfrastruktuerkontrôle útfierd. Hy sketste in plan foar oergong nei in folweardich backend. Mar dit paste it bedriuw net. Se ferwachten in magysk geheim fan Max dat soe tastean se te wurkjen op de âlderwetske wize, mar allinnich effisjint. Lenya wie noch yn lieding oer it projekt, en hy learde neat. Fan alles dat oanbean waard, keas er wer syn alternatyf. Lykas altyd wie dit it meast selektyf ... fet beslút. Lenya leaude dat syn bedriuw in spesjaal paad hie. Tornich en fol iisbergen.

Eins, dat is wêr't wy skieden - wy diene wat wy koene.

Fol kennis en wiisheid út dizze skiednis, wy iepene ús eigen bedriuw en foarme ferskate prinsipes foar ússels. Wy sille no noait op deselde manier begjinne te wurkjen as doe.

DJ Max kaam by ús nei dit projekt, en wy wurkje noch altyd geweldich tegearre. De Clickhouse-saak learde my hoe't ik in folsleine en yngeande ynfrastruktuerkontrôle útfiere foardat ik mei it wurk begon. Wy begripe hoe't alles wurket en pas dan akseptearje de taken. En as wy earder daliks haasten om de ynfrastruktuer te ûnderhâlden, dogge wy no earst in ienmalige projekt, dat helpt ús te begripen hoe't wy it yn wurklike steat bringe kinne.

En ja, wy mije projekten mei crappy ynfrastruktuer. Ek al foar in soad jild, ek al út freonskip. It is net rendabel om sike projekten út te fieren. It realisearjen fan dit holp ús te groeien. Of in ienmalig projekt om de ynfrastruktuer op oarder te krijen en dan in ûnderhâldskontrakt, of wy fleane gewoan foarby. Foarby in oare iisberch.

PS Dus as jo fragen hawwe oer jo ynfrastruktuer, fiel frij om in fersyk efter te litten.

Wy hawwe 2 fergese audits per moanne, miskien sil jo projekt ien fan har wêze.

Boarne: www.habr.com

Add a comment