Sel ajal kui kõik mu sünnipäeva tähistasid, parandasin ma klastrit hommikuni - ja arendajad süüdistasid oma vigu minus

Sel ajal kui kõik mu sünnipäeva tähistasid, parandasin ma klastrit hommikuni - ja arendajad süüdistasid oma vigu minus

Siin on lugu, mis muutis igaveseks minu lähenemist devopsi tööle. Covidi-eelsel ajal, kaua-kaua enne neid, kui me poistega alles oma äri planeerisime ja suvaliste tellimuste alusel vabakutseliseks tegime, kukkus mu ostukorvi üks pakkumine.

Ettevõte, kes selle kirjutas, oli andmeanalüütikaettevõte. Ta töötles iga päev tuhandeid taotlusi. Nad tulid meie juurde sõnadega: poisid, meil on ClickHouse ja me tahame selle seadistamist ja installimist automatiseerida. Soovime, et Ansible, Terraform, Docker ja kõik need oleksid Gitis salvestatud. Soovime neljast sõlmest koosnevat klastrit, millest igaühel on kaks koopiat.

Tavapäring, mida on kümneid ja sul on vaja sama head standardlahendust. Ütlesime "ok" ja 2-3 nädala pärast oli kõik valmis. Nad võtsid selle töö vastu ja hakkasid meie utiliidi abil kolima uude Clickhouse'i klastrisse.

Keegi ei tahtnud ega teadnud, kuidas Clickhouse'iga nokitseda. Siis arvasime, et see on nende põhiprobleem ja seetõttu andis firma teenindusjaam lihtsalt minu meeskonnale loa tööd võimalikult palju automatiseerida, et mitte enam ise sinna minna.

Käisime kolimisega kaasas, tekkisid muud ülesanded - varukoopiate seadistamine ja monitooring. Samal hetkel liideti selle ettevõtte teenindusjaam teise projektiga, jättes meile ülemaks ühe meie oma - Leonidi. Lenya polnud eriti andekas mees. Lihtne arendaja, kes pandi ootamatult Clickhouse'i juhtima. Näib, et see oli tema esimene ülesanne millegi juhtimiseks ja valdav au tekitas temas tunde, et ta on löödud.

Koos asusime varukoopiate tegemisele. Soovitasin kohe algandmed varundada. Lihtsalt võtke see kinni, sulgege see ja visake elegantselt mõnda C3-sse. Toorandmed on kuld. Oli veel üks võimalus – varundada tabelid ise Clickhouse’is, kasutades külmutamist ja kopeerimist. Kuid Lenya tuli välja oma lahendusega.

Ta teatas, et vajame teist Clickhouse'i klastrit. Ja nüüdsest kirjutame andmed kahte klastrisse - põhi- ja varundusklastrisse. Ma ütlen talle, Lenya, et see ei ole varukoopia, vaid aktiivne koopia. Ja kui andmed hakkavad tootmises kaduma, juhtub sama ka teie varukoopiaga.

Kuid Lenya haaras tugevalt roolist ja keeldus minu argumente kuulamast. Vestlesime temaga vestluses pikka aega, kuid midagi polnud teha - Lenya juhtis projekti, meid palgati lihtsalt lapsed tänavalt.

Jälgime klastri olekut ja võtsime tasu ainult administraatorite töö eest. Puhas Clickhouse'i haldus ilma andmetesse sisenemata. Klaster oli olemas, kettad korras, sõlmed korras.

Me ei teadnud, et saime selle tellimuse nende meeskonnas valitseva kohutava arusaamatuse tõttu

Juht polnud rahul, et Clickhouse oli aeglane ja andmed läksid mõnikord kaotsi. Ta seadis oma teenindusjaamale ülesandeks see välja mõelda. Ta mõtles selle välja nii hästi kui suutis ja jõudis järeldusele, et meil on vaja Clickhouse lihtsalt automatiseerida – see on kõik. Kuid nagu peagi selgus, ei vajanud nad devopide meeskonda üldse.

Kõik see osutus väga-väga valusaks. Ja kõige solvavam oli see, et see oli minu sünnipäeval.

Reede õhtu. Tegin oma lemmikveinibaaris broneeringu ja kutsusin homie.

Peaaegu enne lahkumist saame ülesande luua alter, täidame selle, kõik on ok. Alter möödas, clickhouse kinnitatud. Me läheme juba baari ja nad kirjutavad meile, et pole piisavalt andmeid. Arvutasime, et tundub, et kõigest piisab. Ja nad lahkusid tähistama.

Restoran oli reedel lärmakas. Olles tellinud joogid ja söögid, lebasime diivanitel. Kogu selle aja oli mu lõtvus aeglaselt sõnumitega üle ujutatud. Nad kirjutasid midagi andmete puudumise kohta. Mõtlesin – hommik on õhtust targem. Eriti täna.

Üheteistkümnele lähemal hakkasid nad helistama. See oli firma juht... "Ilmselt otsustas mind õnnitleda," mõtlesin väga kõhklevalt ja võtsin toru.

Ja ma kuulsin midagi sellist: "Sa keerasid meie andmed segi! Ma maksan sulle, aga miski ei tööta! Teie vastutasite varukoopiate eest ja te ei teinud mitte midagi! Teeme asja korda!" - ainult veelgi ebaviisakas.

- Tead mida, mine kurat välja! Täna on mu sünnipäev ja nüüd ma joon, mitte ei tegele teie juunikuu omatehtud toodetega jamast ja pulkadest!

Seda ma ei öelnud. Selle asemel võtsin välja sülearvuti ja asusin tööle.

Ei, ma pommitasin, pommitasin nagu pagan! Ta valas vestlusesse söövitava "Ma ütlesin sulle nii" - kuna varukoopia, mis polnud üldse varukoopia, ei päästnud muidugi midagi.

Arutasime poistega, kuidas käsitsi salvestamine peatada ja kõike kontrollida. Tegelikkuses veendusime, et osa andmeid poleks kirjutatud.

Lõpetasime salvestamise ja loendasime päevas toimunud sündmuste arvu. Nad laadisid üles rohkem andmeid, millest vaid kolmandikku ei salvestatud. Kolm kildu, igaühes 2 koopiat. Sisestate 100.000 33.000 rida – XNUMX XNUMX ei salvestata.

Tekkis täielik segadus. Kõik käskisid üksteisel kordamööda persse minna: Lenya läks sinna esimesena, tema järel mina ja ettevõtte asutaja. Vaid liitunud teenindusjaam püüdis meie karjuvaid kõnesid ja kirjavahetust probleemile lahenduse leidmisele suunata.

Keegi ei saanud aru, mis tegelikult toimub

Poisid ja mina olime lihtsalt löödud, kui mõistsime, et kolmandik kõigist andmetest ei olnud mitte ainult salvestamata, vaid ka kadunud! Selgus, et järjekord oli ettevõttes järgmine: pärast sisestamist kustutati andmed pöördumatult, sündmused läksid raisku partiidena. Kujutasin ette, kuidas Sergei selle kõik kaotatud rubladeks ümber arvestab.

Ka minu sünnipäev visati prügikasti. Istusime baaris ja genereerisime ideid, püüdes lahendada meile visatud mõistatust. Clickhouse'i kukkumise põhjus polnud ilmne. Võib-olla on asi võrgus, võib-olla Linuxi seadetes. Jah, mis sa tahad, hüpoteese on olnud piisavalt.

Ma ei andnud arendaja vannet, kuid liini teises otsas olevate meeste hülgamine oli ebaaus – isegi kui nad meid kõiges süüdistasid. Olin 99% kindel, et probleem ei peitunud meie otsustes, mitte meie poolel. 1% tõenäosus, et me läksime sassi, põles ärevusest. Kuid ükskõik kummal poolel häda oli, tuli see parandada. Klientide, kes nad ka poleks, sellise kohutava andmelekkega jätmine on liiga julm.

Töötasime restoranilauas kella kolmeni öösel. Lisasime sündmused, sisestasime valiku ja läksime lünki täitma. Kui sa keerad andmed kokku, siis teed seda nii: võtad eelmiste päevade keskmised andmed ja sisestad need segamini.

Pärast kolme öösel läksime sõbraga minu koju ja tellisime alkoholiturult õlut. Istusin sülearvuti ja Clickhouse'i probleemidega, sõber rääkis mulle midagi. Selle tulemusena oli ta tunni aja pärast solvunud, et ma töötan ja temaga õlut ei joo, ning lahkus. Klassika – olin Devopsi sõber.

Kella kuueks hommikul lõin tabeli uuesti ja andmed hakkasid tulvama. Kõik toimis ilma kahjudeta.

Siis oli raske. Kõik süüdistasid üksteist andmete kadumises. Kui oleks juhtunud uus viga, oleks kindlasti toimunud tulistamine

Nendes võitlustes hakkasime lõpuks aru saama - ettevõte arvas, et oleme need tüübid, kes töötavad andmetega ja jälgivad tabelite struktuuri. Nad ajasid administraatorid ja edasimüüjad segadusse. Ja nad tulid meilt küsima midagi muud kui adminnid.

Nende peamine etteheide on – mis kuradit, vastutasite varukoopiate eest ja ei teinud neid korralikult, jätkasite andmete raiskamist. Ja seda kõike kerimismattidega.

Ma tahtsin õiglust. Kaevasin üles kõigi kirjavahetuse ja lisasin ekraanipildid, kus Leonid kõigest jõust sunnib neid tehtud varukoopiaid tegema. Nende teenindusjaam asus pärast minu telefonikõnet meie poolele. Hiljem Lenya tunnistas oma süüd.

Firma juht, vastupidi, ei tahtnud oma inimesi süüdistada. Ekraanipildid ja sõnad ei avaldanud talle mingit mõju. Ta uskus, et kuna me oleme siin eksperdid, peame kõiki veenma ja oma otsust nõudma. Ilmselt oli meie ülesanne õpetada Lenyat ja pealegi temast, kes oli määratud projektijuhiks, mööda hiilima, et jõuda põhiasjani ja talle isiklikult välja valada kõik meie kahtlused varukoopiate kontseptsiooni osas.

Vestlusest õhkus vihkamist, varjatud ja varjamatut agressiooni. Ma ei teadnud, mida teha. Kõik on seisma jäänud. Ja siis nad soovitasid mulle kõige lihtsamat teed - kirjutada juhile isiklik sõnum ja temaga kohtumine kokku leppida. Vasja, päriselus pole inimesed nii kiired kui vestluses. Ülemus vastas mu sõnumile: tule, pole küsimustki.

See oli minu karjääri kohutavaim kohtumine. Minu liitlane kliendist – STO – ei leidnud aega. Käisin ülemuse ja Lenaga koosolekul.

Ikka ja jälle mängisin oma peas meie võimalikku dialoogi. Jõudsin kohale tulla väga vara, pool tundi ette. Ma hakkasin närviliseks minema, suitsetasin 10 sigaretti. Sain aru, see on kõik - ma olen kuradi üksi. Ma ei suuda neid veenda. Ja ta astus lifti.

Püsti tõustes lõi ta tulemasinat nii kõvasti, et murdis selle.

Selle tulemusena ei olnud Lenya koosolekul. Ja meil oli ülemusega suurepärane vestlus kõigest! Sergei rääkis mulle oma valust. Ta ei tahtnud Clickhouse'i "automatiseerida" - ta tahtis "päringud toimima panna".

Ma ei näinud kitse, vaid tubli mees, kes oli mures oma äri pärast ja oli 24/7 töösse sukeldunud. Vestlus tõmbab meid sageli kurikaelte, kaabakad ja rumalad inimesed. Kuid elus on need inimesed nagu sina.

Sergei ei vajanud paari devoppi palkamiseks. Nende probleem osutus palju suuremaks.

Ütlesin, et saan tema probleemid lahendada – see on lihtsalt täiesti erinev töö ja mul on sõber, kes selle nimel töötab. Kui oleksime algusest peale teadnud, et see on nende jaoks tehing, oleksime palju ära hoidnud. On küll hilja, aga saime aru, et probleem peitub nigelas andmehalduses, mitte infrastruktuuris.

Surusime kätt, nad tõstsid meie palka kaks ja pool korda, aga tingimusel, et võtan absoluutselt kogu segaduse nende andmete ja Clickhouse’iga endale. Liftis suhtlesin selle sama DI-mehe Maxiga ja ühendasin ta tööga. Kogu kobar oli vaja kühveldada.

Vastuvõetud projektis oli palju prügi. Alustades mainitud "varukoopiast". Selgus, et see sama "varu" klaster ei olnud isoleeritud. Nad katsetasid sellel kõike, mõnikord isegi tootmisse.

Meie ettevõttesisesed arendajad on loonud oma kohandatud andmesisestaja. Ta töötas nii: pani failid komplekti, käivitas skripti ja liitis andmed tabelisse. Kuid põhiprobleem oli see, et ühe lihtsa päringu jaoks võeti vastu tohutult palju andmeid. Taotlus ühendas andmed iga sekundi järel. Kõik ühe numbri nimel – summa päevas.

Ettevõttesisesed arendajad kasutasid analüüsitööriista valesti. Nad läksid grafana juurde ja kirjutasid oma kuningliku palve. Ta laadis andmeid üles 2 nädala jooksul. Sellest tuli ilus graafik. Kuid tegelikkuses küsiti andmeid iga 10 sekundi tagant. Kõik see kuhjus järjekorda, sest Clickhouse lihtsalt ei võtnud töötlust välja. Siin peitus peamine põhjus. Grafanas ei töötanud midagi, päringud seisid järjekorras ja pidevalt saabus vanu ebaolulisi andmeid.

Seadistasime klastri ümber, tegime sisestuse uuesti. Ettevõttesisesed arendajad kirjutasid oma "sisustusmooduli" ümber ja see hakkas andmeid õigesti jagama.

Max viis läbi täieliku infrastruktuuri auditi. Ta kirjeldas täieõiguslikule taustaprogrammile ülemineku plaani. Kuid see ei sobinud ettevõttele. Nad ootasid Maxilt maagilist saladust, mis võimaldaks neil töötada vanamoodi, kuid ainult tõhusalt. Lenya juhtis endiselt projekti ja ta ei õppinud midagi. Kõige pakutava hulgast valis ta taas oma alternatiivi. Nagu ikka, oli see kõige valivam... julge otsus. Lenya uskus, et tema ettevõttel on eriline tee. Okas ja jäämägesid täis.

Tegelikult läksime seal lahku – tegime, mis suutsime.

Täis teadmisi ja tarkust sellest ajaloost, avasime oma ettevõtte ja kujundasime enda jaoks mitu põhimõtet. Me ei alusta kunagi tööd praegu samamoodi kui toona.

Pärast seda projekti liitus meiega DJ Max ja me töötame siiani suurepäraselt. Clickhouse'i juhtum õpetas mulle, kuidas enne tööle asumist läbi viia täielik ja põhjalik taristuaudit. Saame aru, kuidas kõik toimib ja alles siis võtame ülesanded vastu. Ja kui varem tormasime kohe taristut hooldama, siis nüüd teeme esmalt ühekordse projekti, mis aitab mõista, kuidas see töökorda viia.

Ja jah, me väldime nõdra infrastruktuuriga projekte. Isegi kui suure raha eest, isegi kui sõprusest. Haigete projektide läbiviimine on kahjumlik. Selle mõistmine aitas meil kasvada. Kas ühekordne projekt, et taristu korda saada ja siis hooldusleping või lendame lihtsalt mööda. Teisest jäämäest mööda.

PS Nii et kui teil on oma infrastruktuuri kohta küsimusi, Esitage taotlus julgelt.

Meil on 2 tasuta auditit kuus, võib-olla on teie projekt üks neist.

Allikas: www.habr.com

Lisa kommentaar