Dum ĉiuj festis mian naskiĝtagon, mi riparis la areton ĝis la mateno - kaj la programistoj kulpigis siajn erarojn sur mi.

Dum ĉiuj festis mian naskiĝtagon, mi riparis la areton ĝis la mateno - kaj la programistoj kulpigis siajn erarojn sur mi.

Jen rakonto, kiu por ĉiam ŝanĝis mian aliron al devops-laboro. Reen en antaŭ-Kovid-tempoj, multe, multe antaŭ ili, kiam la infanoj kaj mi ĵus planis nian propran komercon kaj liberlaboris laŭ hazardaj mendoj, unu oferto falis en mian ĉaron.

La kompanio, kiu skribis ĉi tion, estis kompanio pri datuma analizo. Ŝi prilaboris milojn da petoj ĉiutage. Ili venis al ni kun la vortoj: infanoj, ni havas ClickHouse kaj ni volas aŭtomatigi ĝian agordon kaj instaladon. Ni volas ke Ansible, Terraform, Docker kaj ke ĉio estu stokita en Git. Ni volas areton de kvar nodoj kun po du kopioj.

Ĝi estas norma peto, ekzistas dekoj da ili, kaj vi bezonas same bonan norman solvon. Ni diris "bone", kaj post 2-3 semajnoj ĉio estis preta. Ili akceptis la laboron kaj komencis moviĝi al nova Clickhouse-areto uzante nian ilon.

Neniu volis aŭ sciis kiel tuŝi Clickhouse. Tiam ni pensis, ke tio estas ilia ĉefa problemo, kaj tial la servostacio de la firmao simple donis la permeson al mia teamo por aŭtomatigi la laboron kiel eble plej multe, por ne plu iri tien mem.

Ni akompanis la movon, aperis aliaj taskoj - starigi sekurkopiojn kaj monitoradon. En la sama momento, la benzinejo de ĉi tiu kompanio kunfandiĝis kun alia projekto, lasante nin kun unu el niaj propraj - Leonid - kiel komandanto. Lenya ne estis tre talenta ulo. Simpla programisto, kiu subite estis metita en pagendaĵon de Clickhouse. Ŝajnas, ke ĉi tiu estis lia unua tasko por administri ion, kaj la superforta honoro igis lin sentiĝi frapita.

Ni kune komencis fari sekurkopiojn. Mi sugestis konservi la originalajn datumojn tuj. Nur prenu ĝin, zipu ĝin kaj elegante ĵetu ĝin en iun c3. Krudaj datumoj estas oro. Estis alia opcio - sekurkopii la tabelojn mem en Clickhouse, uzante frostigon kaj kopiadon. Sed Lenya elpensis sian propran solvon.

Li anoncis, ke ni bezonas duan Clickhouse-areton. Kaj de nun ni skribos datumojn al du aretoj - la ĉefa kaj rezerva. Mi diras al li, Lenya, ĝi ne estos rezerva, sed aktiva kopio. Kaj se datumoj komencas perdi en produktado, la sama okazos pri via sekurkopio.

Sed Lenya forte kaptis la stirilon kaj rifuzis aŭskulti miajn argumentojn. Ni longe babilis kun li en la babilejo, sed estis nenio farenda - Lenya estis respondeculo de la projekto, ni estis nur dungitaj infanoj de la strato.

Ni monitoris la staton de la areto kaj pagis nur por la laboro de administrantoj. Pura administrado de Clickhouse sen eniri la datumojn. La areto estis havebla, la diskoj estis bonaj, la nodoj estis bonaj.

Ni malmulte sciis, ke ni ricevis ĉi tiun mendon pro terura miskompreno ene de ilia teamo

La manaĝero estis malfeliĉa ke Clickhouse estis malrapida kaj datumoj foje estis perditaj. Li fiksis sian servostacion la taskon eltrovi ĝin. Li eltrovis ĝin kiel eble plej bone kaj konkludis, ke ni nur bezonas aŭtomatigi la Clickhouse - jen ĉio. Sed ĉar baldaŭ evidentiĝis, ili tute ne bezonis teamon de devopoj.

Ĉio ĉi montriĝis tre, tre dolora. Kaj la plej ofenda afero estis, ke ĝi estis je mia naskiĝtago.

Vendredo vespere. Mi faris rezervon ĉe mia plej ŝatata vintrinkejo kaj invitis la geamikojn.

Preskaŭ antaŭ ol foriri, ni ricevas taskon krei alter, ni kompletigas ĝin, ĉio estas en ordo. Alter pasis, klakdomo konfirmita. Ni jam iras al la trinkejo, kaj ili skribas al ni, ke ne estas sufiĉe da datumoj. Ni kalkulis, ke ĉio ŝajnas sufiĉa. Kaj ili foriris por festi.

La restoracio estis brua vendrede. Mendinte trinkaĵojn kaj manĝaĵojn, ni ripozis sur la sofoj. Dum ĉi tiu tempo, mia malstreĉo estis malrapide inundita de mesaĝoj. Ili skribis ion pri manko de datumoj. Mi pensis — la mateno estas pli saĝa ol la vespero. Precipe hodiaŭ.

Pli proksime al la dekunua ili komencis voki. Ĝi estis la estro de la firmao... “Verŝajne decidis gratuli min,” mi pensis tre heziteme, kaj prenis la telefonon.

Kaj mi aŭdis ion kiel: “Vi fuŝis niajn datumojn! Mi pagas vin, sed nenio funkcias! Vi respondecis pri sekurkopioj, kaj vi nenion faris! Ni riparu ĝin!" — nur eĉ pli malĝentila.

- Vi scias kion, eliru! Hodiaŭ estas mia naskiĝtago, kaj nun mi trinkos, kaj ne okupiĝos pri viaj juniaj memfaritaj produktoj el aĉaĵoj kaj bastonoj!

Tion mi ne diris. Anstataŭe, mi elprenis mian tekkomputilon kaj eklaboris.

Ne, mi bombardis, mi bombardis kiel diable! Li verŝis kaŭstikon "Mi diris tion al vi" en la babilejon - ĉar la sekurkopio, kiu tute ne estis sekurkopio, - kompreneble nenion ŝparis.

La knaboj kaj mi eltrovis kiel mane ĉesigi la registradon kaj kontroli ĉion. Ni fakte certigis, ke iuj el la datumoj ne estas skribitaj.

Ni ĉesis registri kaj kalkulis la nombron da eventoj kiuj estis tie ĉiutage. Ili alŝutis pli da datumoj, el kiuj nur triono ne estis registrita. Tri pecetoj kun po 2 kopioj. Vi enigas 100.000 vicojn - 33.000 ne estas registritaj.

Estis kompleta konfuzo. Ĉiuj diris al unu la alian, ke ili fiku laŭvice: Lenya iris tien unue, sekvate de mi kaj la fondinto de la firmao. Nur la servostacio, kiu aliĝis, provis deturni niajn kriegajn vokojn kaj korespondadon por trovi solvon al la problemo.

Neniu komprenis kio vere okazis

La infanoj kaj mi estis simple forblovitaj kiam ni rimarkis, ke triono de ĉiuj datumoj ne nur ne estis registrita, sed ĝi estis perdita! Montriĝis, ke la ordo en la kompanio estis jena: post enmeto, la datumoj estis forigitaj nerevokeble, la eventoj estis malŝparitaj en aroj. Mi imagis, kiel Sergej konvertiĝos ĉion ĉi en perditajn rublojn.

Mia naskiĝtago ankaŭ estis ĵetita en la rubon. Ni sidis ĉe la drinkejo kaj generis ideojn, provante solvi la enigmon, kiu estis ĵetita al ni. La kialo de la falo de Clickhouse ne estis evidenta. Eble ĝi estas la reto, eble ĝi estas la Linukso-agordoj. Jes, kion ajn vi volas, estis sufiĉe da hipotezoj.

Mi ne prenis la ĵuron de la programisto, sed estis malhoneste forlasi la ulojn ĉe la alia fino de la linio - eĉ se ili kulpigis nin pri ĉio. Mi estis 99% certa, ke la problemo ne kuŝas en niaj decidoj, ne ĉe nia flanko. La 1% ŝanco, ke ni fuŝis, brulis de angoro. Sed negrave de kiu flanko estis la problemo, ĝi devis esti riparita. Forlasi klientojn, negrave kiuj ili estas, kun tia terura datumfluo estas tro kruela.

Ni laboris ĉe la restoraciotablo ĝis la tria matene. Ni aldonis eventojn, enmetis elekton, kaj ni iris por plenigi la mankojn. Kiam vi ŝraŭbas la datumojn, jen kiel vi faras ĝin: vi prenas la averaĝajn datumojn de la antaŭaj tagoj kaj enmetas ilin en la difektitajn.

Post la tria matene, mi kaj mia amiko iris al mia domo kaj mendis bieron de la alkohola merkato. Mi sidis kun tekkomputilo kaj problemoj de Clickhouse, amiko diris al mi ion. Rezulte, post unu horo li ofendiĝis, ke mi laboras kaj ne trinkas bieron kun li, kaj foriris. Klasika - Mi estis amiko de Devops.

Je la 6-a matene, mi rekreis la tablon, kaj la datumoj komencis inundi. Ĉio funkciis sen ajnaj perdoj.

Tiam estis malfacile. Ĉiuj kulpigis unu la alian pro la datumperdo. Se nova cimo estus okazinta, mi certas, ke estus interpafado

En ĉi tiuj bataloj, ni finfine komencis kompreni - la kompanio opiniis, ke ni estas la infanoj, kiuj laboras kun datumoj kaj kontrolas la strukturon de tabeloj. Ili konfuzis administrantojn kun komercistoj. Kaj ili venis por demandi al ni ion alian ol la administrantoj.

Ilia ĉefa plendo estas - kio diable, vi respondecis pri la sekurkopioj kaj ne faris ilin ĝuste, vi daŭre malŝparis la datumojn. Kaj ĉio ĉi kun rebobinaj matoj.

Mi volis justecon. Mi elfosis la korespondadon kaj almetis ekrankopiojn de ĉiuj, kie Leonid per sia tuta forto devigas ilin fari la sekurkopion kiu estis farita. Ilia servostacio prenis nian flankon post mia telefonvoko. Poste Lenya konfesis sian kulpon.

La estro de la kompanio, male, ne volis kulpigi sian propran popolon. Ekrankopioj kaj vortoj ne efikis al li. Li kredis, ke ĉar ni estas ĉi tie fakuloj, ni devas konvinki ĉiujn kaj insisti pri nia decido. Ŝajne, nia tasko estis instrui Lenya kaj, krome, preteriri lin, kiu estis nomumita kiel la projektestro, atingi la ĉefan aferon kaj persone elverŝi ĉiujn niajn dubojn pri la koncepto de sekurkopioj al li.

La babilado ŝuis de malamo, kaŝita kaj nekaŝita agreso. Mi ne sciis kion fari. Ĉio haltiĝis. Kaj tiam ili konsilis al mi la plej facilan manieron - skribi personan mesaĝon al la administranto kaj aranĝi renkontiĝon kun li. Vasja, homoj en la reala vivo ne estas tiel rapidaj kiel ili estas en babilejo. La estro respondis al mia mesaĝo: venu, neniu demando.

Ĝi estis la plej timiga renkontiĝo en mia kariero. Mia aliancano de la kliento - STO - ne povis trovi la tempon. Mi iris al la renkontiĝo kun la estro kaj Lena.

Ree kaj ree mi reludis nian eblan dialogon en mia kapo. Mi sukcesis alveni tre frue, duonhoron anticipe. Mi komencis nervoziĝi, mi fumis 10 cigaredojn, mi komprenis, jen - mi fikas sola. Mi ne povos konvinki ilin. Kaj li paŝis en la lifton.

Dum li leviĝis, li tiel forte batis la fajrilon, ke li rompis ĝin.

Kiel rezulto, Lenya ne estis ĉe la kunveno. Kaj ni havis bonegan konversacion pri ĉio kun la estro! Sergej rakontis al mi pri sia doloro. Li ne volis "aŭtomatigi Clickhouse" - li volis "fari demandojn funkcii."

Mi ne vidis kapron, sed bonan ulon, maltrankviligitan pri sia komerco, mergita en laboro 24/7. Babilejo ofte altiras nin fiulojn, kanajlojn kaj stultajn homojn. Sed en la vivo ĉi tiuj estas homoj same kiel vi.

Sergei ne bezonis kelkajn devopojn por dungi. La problemo, kiun ili estis, montriĝis multe pli granda.

Mi diris, ke mi povus solvi liajn problemojn - ĝi estas nur tute alia laboro, kaj mi havas amikon, kiu laboras por ĝi. Se ni scius dekomence, ke tio estas por ili interkonsento, ni evitus multon. Estas malfrue, sed ni rimarkis, ke la problemo kuŝas en aĉa administrado de datumoj, ne en la infrastrukturo.

Ni manpremis, ili altigis nian salajron du fojojn kaj duonon, sed kondiĉe ke mi prenu absolute la tutan ĥaoson kun iliaj datumoj kaj Clickhouse por mi. En la lifto, mi komunikis kun tiu sama DI-ulo Max kaj konektis lin al laboro. Necesis ŝoveli la tutan areton.

Estis multe da rubo en la adoptita projekto. Komencante per la menciita "rezervo". Montriĝis, ke ĉi tiu sama "rezerva" areto ne estis izolita. Ili provis ĉion sur ĝi, foje eĉ metante ĝin en produktadon.

Niaj endomaj programistoj kreis sian propran datuman enmetilon. Li funkciis tiel: li grupigis la dosierojn, prizorgis la skripton kaj kunfandis la datumojn en tabelon. Sed la ĉefa problemo estis, ke grandega kvanto da datumoj estis akceptitaj por unu simpla peto. La peto kunigis la datumojn ĉiun sekundon. Ĉio pro unu nombro - la kvanto tage.

Endomaj programistoj uzis la analizan ilon malĝuste. Ili iris al la grafana kaj skribis sian reĝan peton. Li alŝutis datumojn dum 2 semajnoj. Ĝi montriĝis belega grafikaĵo. Sed fakte, la datumpeto estis ĉiuj 10 sekundoj. Ĉio ĉi amasiĝis en atendovico ĉar Clickhouse simple ne elprenis la prilaboradon. Ĉi tie estis kaŝita la ĉefa kialo. Nenio funkciis en Grafana, petoj staris en vico, kaj malnovaj, sensignifaj datumoj konstante alvenis.

Ni reagordis la areton, refaris la enmeton. La endomaj programistoj reverkis sian "enigilon", kaj ĝi komencis disigi datumojn ĝuste.

Max faris plenan infrastrukturan revizion. Li skizis planon por transiro al plenrajta backend. Sed ĉi tio ne konvenis al la kompanio. Ili atendis magian sekreton de Max kiu permesus al ili labori la malmodernan manieron, sed nur efike. Lenya ankoraŭ respondecis pri la projekto, kaj li lernis nenion. El ĉio ofertita, li denove elektis sian alternativon. Kiel ĉiam, ĉi tiu estis la plej elektema... aŭdaca decido. Lenya kredis, ke lia kompanio havas specialan vojon. Dorna kaj plena de glacimontoj.

Efektive, tie ni disiĝis - ni faris kion ni povis.

Plenaj de scio kaj saĝo de ĉi tiu historio, ni malfermis nian propran komercon kaj formis plurajn principojn por ni mem. Ni neniam komencos labori nun same kiel tiam.

DJ Max aliĝis al ni post ĉi tiu projekto, kaj ni ankoraŭ laboras bonege kune. La kazo de Clickhouse instruis min kiel fari kompletan kaj ĝisfundan infrastrukturan revizion antaŭ ol komenci laboron. Ni komprenas kiel ĉio funkcias kaj nur tiam akceptas la taskojn. Kaj se pli frue ni tuj rapidus prizorgi la infrastrukturon, nun ni unue faras unufojan projekton, kiu helpas nin kompreni kiel meti ĝin en laborkondiĉon.

Kaj jes, ni evitas projektojn kun aĉa infrastrukturo. Eĉ se por multe da mono, eĉ se pro amikeco. Estas malprofite funkciigi malsanajn projektojn. Rimarki ĉi tion helpis nin kreski. Aŭ unufoja projekto por ordigi la infrastrukturon kaj poste prizorga kontrakto, aŭ ni simple flugas. Preter alia glacimonto.

PS Do se vi havas demandojn pri via infrastrukturo, Bonvolu sendi peton.

Ni havas 2 senpagajn reviziojn monate, eble via projekto estos unu el ili.

fonto: www.habr.com

Aldoni komenton