Hamı mənim ad günümü qeyd edərkən, mən səhərə qədər klasteri düzəldirdim - tərtibatçılar səhvlərini mənim üzərimə atdılar.

Hamı mənim ad günümü qeyd edərkən, mən səhərə qədər klasteri düzəldirdim - tərtibatçılar səhvlərini mənim üzərimə atdılar.

Budur, devops işinə yanaşmamı həmişəlik dəyişdirən bir hekayə. Coviddən əvvəlki dövrlərdə, onlardan çox-çox əvvəl, uşaqlar və mən sadəcə öz işimizi planlaşdırarkən və təsadüfi sifarişlər əsasında sərbəst işləyərkən səbətimə bir təklif düşdü.

Bunu yazan şirkət data analitik şirkəti idi. O, hər gün minlərlə sorğuya baxırdı. Onlar bizə bu sözlərlə gəldilər: uşaqlar, bizdə ClickHouse var və biz onun konfiqurasiyasını və quraşdırılmasını avtomatlaşdırmaq istəyirik. Biz Ansible, Terraform, Docker və bunların hamısının Git-də saxlanmasını istəyirik. Biz hər biri iki replikası olan dörd qovşaqdan ibarət çoxluq istəyirik.

Bu standart sorğudur, onlardan onlarla var və sizə eyni dərəcədə yaxşı standart həll lazımdır. “Yaxşı” dedik və 2-3 həftədən sonra hər şey hazır oldu. Onlar işi qəbul etdilər və yardım proqramımızdan istifadə edərək yeni Clickhouse klasterinə keçməyə başladılar.

Heç kim Clickhouse ilə necə məşğul olmağı istəmədi və ya bilmədi. Sonra düşündük ki, bu, onların əsas problemidir və buna görə də şirkətin xidmət stansiyası mənim komandama bir daha ora getməmək üçün işi mümkün qədər avtomatlaşdırmaq üçün icazə verdi.

Hərəkəti müşayiət etdik, başqa vəzifələr ortaya çıxdı - ehtiyat nüsxələrin qurulması və monitorinq. Eyni zamanda, bu şirkətin xidmət stansiyası başqa bir layihə ilə birləşdi və bizi özümüzdən birini - Leonidi komandir olaraq buraxdı. Lenya çox istedadlı oğlan deyildi. Birdən Clickhouse-a məsul olan sadə bir tərtibatçı. Deyəsən, bu, onun nəyisə idarə etmək üçün ilk tapşırığı idi və böyük şərəf ona ulduz vurdu.

Birlikdə ehtiyat nüsxələri yaratmağa başladıq. Mən dərhal orijinal məlumatın ehtiyat nüsxəsini çıxarmağı təklif etdim. Sadəcə götürün, sıxın və zərif şəkildə c3-ə atın. Xam məlumat qızıldır. Başqa bir seçim var idi - dondurma və kopyalama istifadə edərək, Clickhouse-da cədvəllərin ehtiyat nüsxəsini çıxarmaq. Lakin Lenya öz həllini tapdı.

O, bizə ikinci Clickhouse klasterinin lazım olduğunu bildirdi. Və bundan sonra məlumatları iki klasterə yazacağıq - əsas və ehtiyat nüsxə. Mən ona deyirəm, Lenya, bu, ehtiyat nüsxə deyil, aktiv bir replika olacaq. İstehsalda məlumatlar itirilməyə başlayarsa, eyni şey ehtiyat nüsxənizdə də baş verəcəkdir.

Lakin Lenya sükandan möhkəm yapışdı və mənim arqumentlərimə qulaq asmaqdan imtina etdi. Söhbətdə onunla uzun müddət söhbət etdik, amma heç bir iş yox idi - Lenya layihəyə rəhbərlik edirdi, biz sadəcə küçədən muzdlu uşaqlar idik.

Biz klasterin vəziyyətinə nəzarət etdik və yalnız idarəçilərin işinə görə ödəniş aldıq. Məlumatlara girmədən təmiz Clickhouse administrasiyası. Klaster mövcud idi, disklər yaxşı idi, qovşaqlar yaxşı idi.

Biz bilmirdik ki, bu əmri onların komandasındakı dəhşətli anlaşılmazlıq ucbatından almışıq

Menecer Clickhouse-un yavaş olmasından və məlumatların bəzən itirilməsindən narazı idi. O, öz xidmət stansiyasına bunu başa düşmək vəzifəsini qoydu. O, bunu bacardığı qədər başa düşdü və belə qənaətə gəldi ki, sadəcə Clickhouse-u avtomatlaşdırmalıyıq - hamısı budur. Ancaq tezliklə aydınlaşan kimi, onların devops komandasına ehtiyacı yox idi.

Bütün bunlar çox, çox ağrılı oldu. Ən təhqiredicisi isə ad günümdə olması idi.

Cümə axşamı. Mən sevimli şərab barında rezervasiya etdim və ev sahiblərini dəvət etdim.

Demək olar ki, yola düşməzdən əvvəl bir dəyişiklik yaratmaq tapşırığı alırıq, onu tamamlayırıq, hər şey qaydasındadır. Dəyişdirildi, klik evi təsdiqləndi. Artıq bara gedirik və bizə yazır ki, məlumat çatmır. Hesabladıq ki, hər şey kifayətdir. Və bayram etmək üçün getdilər.

Cümə günü restoran səs-küylü idi. İçki və yemək sifariş etdikdən sonra divanlarda uzandıq. Bütün bu müddət ərzində yorğunluğum yavaş-yavaş mesajlarla dolu idi. Məlumat çatışmazlığı haqqında bir şey yazdılar. Düşündüm - səhər axşamdan daha müdrikdir. Xüsusilə bu gün.

On birə yaxın zəng etməyə başladılar. Şirkətin rəhbəri idi... “Yəqin ki, məni təbrik etmək qərarına gəlib” – çox tərəddüdlə fikirləşdim və telefonu götürdüm.

Və mən belə bir şey eşitdim: “Sən bizim məlumatlarımızı məhv etdin! Sənə pul ödəyirəm, amma heç nə işləmir! Siz ehtiyat nüsxələrinə cavabdeh idiniz və heç bir şey etmədiniz! Gəlin düzəldək!" - yalnız hətta kobud.

- Bilirsən, get get! Bu gün mənim ad günümdür və indi mən içəcəyəm və iyun ayında evdə hazırlanmış çöp və çubuqlardan hazırlanmış məhsullarla məşğul olmayacağam!

Bunu demədim. Əvəzində laptopumu çıxarıb işə başladım.

Yox, bombaladım, cəhənnəm kimi bombaladım! Söhbətə "Mən sizə dedim" kaustik tökdü - çünki heç bir ehtiyat nüsxəsi olmayan ehtiyat nüsxə, əlbəttə ki, heç nə saxlamadı.

Oğlanlar və mən qeydi əl ilə necə dayandırmağı və hər şeyi yoxlamağı anladıq. Biz faktiki olaraq bəzi məlumatların yazılmadığına əmin olduq.

Biz qeydi dayandırdıq və gündə orada olan hadisələrin sayını saydıq. Daha çox məlumat yüklədilər, onlardan yalnız üçdə biri qeydə alınmadı. Hər biri 2 replika ilə üç parça. 100.000 sətir daxil edirsiniz - 33.000 qeyd edilmir.

Tam qarışıqlıq var idi. Hamı bir-birinə növbə ilə sikişməyi deyirdi: əvvəlcə Lenya ora getdi, ardınca mən və şirkətin təsisçisi. Yalnız qoşulan xidmət stansiyası qışqıran zənglərimizi və yazışmalarımızı problemin həllinə yönəltməyə çalışdı.

Heç kim əslində nə baş verdiyini başa düşmədi

Bütün məlumatların üçdə birinin nəinki qeydə alınmadığını, həm də itirildiyini başa düşdükdə uşaqlar və mən sadəcə heyrətə gəldik! Məlum oldu ki, şirkətdə sifariş belə olub: daxil edildikdən sonra məlumatlar geri dönməz şəkildə silindi, hadisələr partiyalarla boşa çıxdı. Mən Sergeyin bütün bunları itirilmiş rubla necə çevirəcəyini təsəvvür etdim.

Mənim də ad günüm zibil qutusuna atıldı. Barda oturduq və bizə atılan tapmacanı həll etməyə çalışaraq fikirlər yaratdıq. Clickhouse-un düşməsinin səbəbi aydın deyildi. Bəlkə şəbəkədir, bəlkə də Linux parametrləridir. Bəli, nə istəsən, kifayət qədər hipotezlər olub.

Tərtibatçının andını içmədim, amma xəttin digər ucundakı uşaqlardan imtina etmək vicdansızlıq idi - hər şeydə bizi günahlandırsalar da. Mən 99% əmin idim ki, problem bizim tərəfimizdə deyil, qərarlarımızda deyil. Başımıza gələn 1% ehtimal narahatlıqla yanırdı. Amma problem hansı tərəfdə olursa olsun, onu aradan qaldırmaq lazım idi. Kimliyindən asılı olmayaraq müştəriləri belə dəhşətli məlumat sızması ilə tərk etmək çox qəddarlıqdır.

Səhər üçə qədər restoran masasında işləyirdik. Hadisələri əlavə etdik, seçin daxil etdik və boşluqları doldurmağa getdik. Məlumatları sındırdığınız zaman bunu belə edirsiniz: əvvəlki günlər üçün orta məlumatı götürür və onları yıxılanlara daxil edirsiniz.

Səhər üçdən sonra dostumla evimə getdik və spirtli içki bazarından pivə sifariş etdik. Noutbuk və Clickhouse problemləri ilə oturmuşdum, bir dostum mənə bir şey deyirdi. Nəticədə, bir saatdan sonra o, incidi ki, onunla işləyirəm və onunla pivə içmirəm və getdi. Klassik - Mən Devopsun dostu idim.

Səhər saat 6-da cədvəli yenidən yaratdım və məlumatlar daşmağa başladı. Hər şey itkisiz işlədi.

Sonra çətin oldu. Məlumat itkisinə görə hər kəs bir-birini günahlandırırdı. Əgər yeni bir səhv baş versəydi, əminəm ki, atışma olacaqdı

Bu döyüşlərdə biz nəhayət anlamağa başladıq - şirkət bizim məlumatlarla işləyən və cədvəllərin strukturuna nəzarət edən uşaqlar olduğumuzu düşünürdü. Adminləri dilerlərlə qarışdırdılar. Və adminlərdən fərqli bir şey soruşmağa gəldilər.

Onların əsas şikayəti budur ki, siz ehtiyat nüsxələrə cavabdeh idiniz və onları düzgün etmədiniz, məlumatları israf etməyə davam etdiniz. Və bütün bunlar geri sarma həsirləri ilə.

Mən ədalət istəyirdim. Mən yazışmaları qazdım və hər kəsin skrinşotlarını əlavə etdim, burada Leonid var gücü ilə onları ehtiyat nüsxəsini yaratmağa məcbur etdi. Onların xidmət məntəqəsi mənim telefon zəngimdən sonra tərəfimizi tutdu. Daha sonra Lenya günahını etiraf etdi.

Şirkət rəhbəri isə əksinə, öz adamlarını günahlandırmaq istəmirdi. Skrinşotların və sözlərin ona heç bir təsiri olmayıb. O, hesab edirdi ki, biz burada ekspert olduğumuz üçün hamını inandırmalı və qərarımızda israrlı olmalıyıq. Göründüyü kimi, bizim vəzifəmiz Lenyaya öyrətmək və üstəlik, layihə meneceri təyin olunan onu keçmək, əsas məsələyə keçmək və ehtiyat nüsxələri konsepsiyası ilə bağlı bütün şübhələrimizi şəxsən ona çatdırmaq idi.

Söhbət nifrət, gizli və gizli aqressiya ilə dolu idi. Nə edəcəyimi bilmirdim. Hər şey dayanıb. Və sonra mənə ən asan yolu məsləhət gördülər - menecerə şəxsi mesaj yazmaq və onunla görüş təşkil etmək. Vasya, real həyatda insanlar söhbətdə olduğu qədər sürətli deyillər. Rəis mesajıma cavab verdi: gəl, sual yoxdur.

Bu, karyeramda ən qorxulu görüş idi. Müştəridən müttəfiqim - STO - vaxt tapa bilmədi. Rəis və Lena ilə görüşə getdim.

Mümkün dialoqumuzu təkrar-təkrar beynimdə təkrarladım. Çox erkən, yarım saat əvvəl çatmağı bacardım. Əsəbləşməyə başladım, 10 siqaret çəkdim, başa düşdüm, bu qədər - mən təkəm. Onları inandıra bilməyəcəm. Və liftə mindi.

Ayağa qalxarkən alışqanı elə vurdu ki, sındırdı.

Nəticədə Lenya görüşdə olmayıb. Və patronla hər şey haqqında əla söhbət etdik! Sergey mənə dərdini danışdı. O, "Clickhouse-u avtomatlaşdırmaq" istəmirdi - o, "sorğuları işə salmaq" istəyirdi.

Mən bir keçi görmədim, amma işindən narahat olan, 24/7 işinə dalmış yaxşı bir oğlan. Chat tez-tez bizi yaramazlar, əclaflar və axmaq insanları cəlb edir. Amma həyatda bunlar da sizin kimi insanlardır.

Sergeyin kirayə üçün bir neçə devopa ehtiyacı yox idi. Onların problemi daha böyük oldu.

Dedim ki, onun problemlərini həll edə bilərəm - bu, tamamilə fərqli bir işdir və mənim üçün işləyən bir dostum var. Əgər əvvəldən bilsəydik ki, bu onlar üçün bir sövdələşmədir, çox şeydən qaçardıq. Artıq gecdir, lakin biz başa düşdük ki, problem infrastrukturda deyil, bərbad məlumatların idarə olunmasındadır.

Əl sıxdıq, maaşımızı iki yarım dəfə qaldırdılar, amma bir şərtlə ki, onların məlumatları və Clickhouse ilə bütün qarışıqlığı özüm üçün götürüm. Liftdə mən həmin DI adamı Maksla əlaqə saxladım və onu işə bağladım. Bütün klasteri kürəkləmək lazım idi.

Qəbul edilən layihədə çoxlu zibil var idi. Sözügedən "yedekləmə" ilə başlayaraq. Məlum oldu ki, bu eyni "ehtiyat" klaster təcrid olunmayıb. Onun üzərində hər şeyi sınaqdan keçirdilər, bəzən hətta istehsala da qoydular.

Bizim daxili tərtibatçılarımız öz fərdi məlumat daxiletmə qurğusunu yaratmışlar. O, belə işləyirdi: faylları yığdı, skripti işlətdi və məlumatları cədvəldə birləşdirdi. Ancaq əsas problem o idi ki, bir sadə sorğu üçün çoxlu məlumat qəbul edildi. Sorğu hər saniyə dataya qoşulur. Hamısı bir nömrə naminə - gündə məbləğ.

Daxili tərtibatçılar analitik alətdən səhv istifadə etdilər. Onlar qrafana gedib kral xahişlərini yazdılar. O, 2 həftə məlumat yüklədi. Gözəl bir qrafik olduğu ortaya çıxdı. Amma reallıqda məlumat sorğusu hər 10 saniyədən bir olub. Bütün bunlar bir növbəyə yığılırdı, çünki Clickhouse sadəcə emal etmədi. Əsas səbəb burada gizlənirdi. Grafana-da heç nə işləmirdi, sorğular növbədə dayanırdı və köhnə, aidiyyatı olmayan məlumatlar daim gəlirdi.

Klasteri yenidən konfiqurasiya etdik, daxiletməni yenidən işlədik. Daxili tərtibatçılar öz “insertini” yenidən yazdılar və o, məlumatları düzgün şəkildə bölüşdürməyə başladı.

Maks tam infrastruktur auditini həyata keçirdi. O, tam hüquqlu arxa plana keçid planını açıqladı. Amma bu şirkətə yaraşmadı. Onlar Maksdan onlara köhnə üsulla, ancaq səmərəli şəkildə işləməyə imkan verəcək sehrli bir sirr gözləyirdilər. Lenya hələ də layihəyə rəhbərlik edirdi və o, heç nə öyrənməmişdi. Təklif olunanların hamısından o, yenə öz alternativini seçdi. Həmişə olduğu kimi, bu, ən seçici... cəsarətli qərar idi. Lenya inanırdı ki, onun şirkətinin xüsusi yolu var. Tikanlı və aysberqlərlə dolu.

Əslində, burada ayrıldıq - əlimizdən gələni etdik.

Bu tarixdən bilik və hikmətlə dolu olaraq öz işimizi açdıq və özümüz üçün bir neçə prinsip formalaşdırdıq. Biz heç vaxt o vaxtkı kimi indi işə başlamayacağıq.

DJ Maks bu layihədən sonra bizə qoşuldu və biz hələ də birlikdə çox gözəl işləyirik. Clickhouse işi mənə işə başlamazdan əvvəl tam və hərtərəfli infrastruktur auditini necə aparmağı öyrətdi. Biz hər şeyin necə işlədiyini başa düşürük və yalnız bundan sonra tapşırıqları qəbul edirik. Əgər əvvəllər biz dərhal infrastrukturu saxlamağa tələsərdiksə, indi ilk növbədə onu necə işlək vəziyyətə gətirəcəyimizi anlamağa kömək edən birdəfəlik layihə həyata keçiririk.

Bəli, biz bərbad infrastrukturu olan layihələrdən qaçırıq. Çox pula olsa belə, dostluqdan kənarda olsa belə. Xəstə layihələri həyata keçirmək sərfəli deyil. Bunu dərk etmək bizə böyüməyə kömək etdi. Ya infrastrukturu qaydasına salmaq üçün birdəfəlik layihə və sonra texniki xidmət müqaviləsi, ya da biz sadəcə uçuruq. Başqa bir aysberq keçdi.

PS İnfrastrukturunuzla bağlı suallarınız varsa, Sorğu göndərməkdən çekinmeyin.

Ayda 2 pulsuz auditimiz var, bəlkə də layihəniz onlardan biri olacaq.

Mənbə: www.habr.com

Добавить комментарий