Nalika kabeh wong ngrayakake ulang tahun, aku ndandani kluster nganti esuk - lan pangembang nyalahake kesalahane marang aku.

Nalika kabeh wong ngrayakake ulang tahun, aku ndandani kluster nganti esuk - lan pangembang nyalahake kesalahane marang aku.

Punika crita sing tansah ngganti pendekatan kanggo devops karya. Mbalik ing jaman pra-Covid, suwene sadurunge, nalika aku lan wong lanang lagi ngrancang bisnis dhewe lan freelancing kanthi pesenan acak, siji tawaran tiba ing kranjangku.

Perusahaan sing nulis iki minangka perusahaan analitik data. Dheweke ngolah ewu panjaluk saben dina. Dheweke teka karo tembung: wong lanang, kita duwe ClickHouse lan kita pengin ngotomatisasi konfigurasi lan instalasi. Kita pengin Ansible, Terraform, Docker lan supaya kabeh disimpen ing Git. Kita pengin klompok papat simpul kanthi rong replika saben.

Iku panjalukan standar, ana Welasan, lan sampeyan kudu solusi standar sing padha apik. Kita ngomong "ok", lan sawise 2-3 minggu kabeh wis siap. Dheweke nampa proyek kasebut lan wiwit pindhah menyang kluster Clickhouse anyar nggunakake sarana kita.

Ora ana sing pengin utawa ngerti carane tinker karo Clickhouse. Banjur kita mikir yen iki masalah utama, lan mulane stasiun layanan perusahaan mung menehi idin kanggo timku supaya bisa ngotomatisasi karya, supaya ora mlebu maneh.

Kita ngiringi pamindhahan, tugas liyane muncul - nyetel serep lan ngawasi. Ing wektu sing padha, stasiun layanan perusahaan iki gabung karo proyek liyane, ninggalake kita karo salah siji saka kita dhewe - Leonid - minangka komandan. Lenya dudu wong sing pinter banget. Pangembang prasaja sing tiba-tiba ditugasake kanggo Clickhouse. Iku misale jek sing iki tugas pisanan kanggo ngatur soko, lan pakurmatan akeh banget nggawe dheweke aran starstruck.

Bareng kita nggawe serep. Aku disaranake gawe serep data asli langsung. Mung njupuk, zip lan elegan uncalan menyang sawetara c3. Data mentah yaiku emas. Ana pilihan liyane - kanggo nggawe serep tabel dhewe ing Clickhouse, nggunakake beku lan nyalin. Nanging Lenya teka karo solusi dhewe.

Dheweke ngumumake yen kita butuh kluster Clickhouse kapindho. Lan wiwit saiki kita bakal nulis data menyang rong klompok - utama lan serep. Aku pitutur marang dheweke, Lenya, iku ora bakal dadi serep, nanging replika aktif. Lan yen data wiwit ilang ing produksi, padha bakal kelakon ing serep.

Nanging Lenya nyekel setir kanthi kenceng lan ora gelem ngrungokake bantahanku. Kita ngobrol karo dheweke nganti suwe ing obrolan, nanging ora ana sing kudu ditindakake - Lenya dadi tanggung jawab proyek kasebut, kita mung nyewa bocah saka dalan.

Kita ngawasi kahanan kluster lan mung dikenani biaya kanggo para pangurus. Administrasi Clickhouse murni tanpa mlebu data. Kluster kasedhiya, disk apik, simpul apik.

Ora ngerti manawa kita nampa pesenan iki amarga salah paham ing tim kasebut

Manajer ora seneng yen Clickhouse alon lan data kadhangkala ilang. Dheweke nyetel stasiun layanan tugas kanggo ngerteni. Dheweke ngerteni kanthi paling apik lan nyimpulake yen kita mung kudu ngotomatisasi Clickhouse - iku kabeh. Nanging nalika wis jelas, dheweke ora butuh tim devops.

Kabeh iki dadi banget, banget nglarani. Lan sing paling nyerang yaiku nalika ulang tahunku.

malem jumat. Aku nggawe leladen ing bar anggur favorit lan ngajak homies.

Meh sadurunge budhal, kita nampa tugas kanggo nggawe alter, kita ngrampungake, kabeh iku ok. Alter liwati, clickhouse dikonfirmasi. Kita wis arep menyang bar, lan padha nulis kanggo kita sing ana ora cukup data. We diwilang sing kabeh misale jek cukup. Lan padha mangkat kanggo ngrameke.

Restoran rame ing dina Jumuah. Sawise pesen ombenan lan panganan, kita lungguh ing sofa. Selawase iki, kendurenku alon-alon dibanjiri pesen. Dheweke nulis babagan kekurangan data. Aku panginten - esuk luwih wicaksana tinimbang sore. Utamane dina iki.

Cedhak sewelas padha miwiti nelpon. Iku kepala perusahaan ... "Mbokmenawa mutusake kanggo congratulate kula," Aku mikir banget mangu-mangu, lan ngangkat telpon.

Lan aku krungu kaya: "Sampeyan ngaco data kita! Aku mbayar sampeyan, nanging ora ana sing bisa! Sampeyan tanggung jawab kanggo serep, lan sampeyan ora nindakake apa-apa! Ayo didandani!" - mung malah ruder.

- Sampeyan ngerti apa, njaluk jancok metu! Dina iki ulang tahunku, lan saiki aku bakal ngombe, lan ora melu produk krasan Juni saka omong kosong lan teken!

Kuwi ora tak omongi. Nanging, aku njupuk laptop lan kudu kerja.

Ora, aku ngebom, aku ngebom kaya neraka! Dheweke diwutahake caustic "Aku wis ngomong ngono" menyang obrolan - amarga serep, sing dudu serep, - mesthi, ora nyimpen apa-apa.

Aku lan bocah-bocah ngerti carane mungkasi rekaman kanthi manual lan mriksa kabeh. Kita bener-bener nggawe manawa sawetara data ora ditulis.

Kita mandheg ngrekam lan ngetung jumlah acara sing ana saben dina. Dheweke ngunggah data luwih akeh, sing mung sapratelon ora direkam. Telung pecahan kanthi 2 replika saben. Sampeyan nglebokake 100.000 larik - 33.000 ora direkam.

Ana kebingungan lengkap. Saben uwong padha ngomong marang saben liyane kanggo jancok mati ing giliran: Lenya tindak mrana dhisik, ngiring dening aku lan ngedegaken perusahaan. Mung stasiun layanan sing gabung nyoba ngalihake telpon bengok lan korespondensi kanggo nemokake solusi kanggo masalah kasebut.

Ora ana sing ngerti apa sing kedadeyan

Wong lanang lan aku padha mung diunekake adoh nalika kita temen maujud sing katelu saka kabeh data ora mung ora direkam, iku ilang! Ternyata urutan ing perusahaan kaya mangkene: sawise dilebokake, data kasebut dibusak kanthi ora bisa dibatalake, acara-acara kasebut boroske ing batch. Aku mbayangno carane Sergei bakal ngowahi kabeh iki menyang rubles ilang.

Ulang tahunku uga dibuwang ing tong sampah. Kita lungguh ing bar lan nggawe gagasan, nyoba kanggo ngrampungake teka-teki sing wis di buwang ing kita. Alesan kanggo tiba Clickhouse ora ketok. Mungkin iku jaringan, bisa uga setelan Linux. Ya, apa wae sing dikarepake, wis cukup hipotesis.

Aku ora sumpah pangembang, nanging ora jujur ​​​​lan ninggalake wong lanang ing sisih liya - sanajan dheweke nyalahake kabeh. Aku 99% yakin manawa masalah kasebut ora ana ing keputusan kita, ora ana ing sisih kita. Kesempatan 1% sing wis kita ganggu dadi kuwatir. Nanging ora preduli saka sisih endi masalah kasebut, kudu didandani. Ninggalake pelanggan, ora ketompo sapa wae, kanthi bocor data sing nggegirisi banget kejem.

Kita makarya ing meja restoran nganti jam telu esuk. We nambah acara, masang pilih, lan mateni kita lunga kanggo ngisi kesenjangan. Nalika ngaco munggah data, iki carane nindakaken: sampeyan njupuk data rata-rata kanggo dina sadurunge lan masang menyang ngaco munggah.

Sawise jam telu esuk, aku lan kancaku menyang omah lan pesen bir ing pasar alkohol. Aku lungguh karo laptop lan masalah Clickhouse, kanca ngandhani aku. AkibatΓ©, sawise jam dheweke gelo yen aku kerja lan ora ngombe bir karo dheweke, banjur lunga. Klasik - Aku dadi kanca Devops.

Ing jam 6, aku nggawe meja maneh, lan data wiwit banjir. Kabeh bisa tanpa mundhut.

Banjur angel. Saben uwong nyalahke saben liyane kanggo mundhut data. Yen bug anyar wis kedaden, Aku manawa bakal ana tembak-menembak

Ing gelut iki, kita pungkasanipun wiwit mangertos - perusahaan ngira yen kita padha wong sing nggarap data lan ngawasi struktur tabel. Padha bingung admin karo dealers. Lan padha teka kanggo takon kita bab liyane saka admins.

Keluhan utama yaiku - apa sih, sampeyan tanggung jawab kanggo serep lan ora nindakake kanthi bener, sampeyan terus mbuwang data kasebut. Lan kabeh iki nganggo gulung tikar.

Aku pengin kaadilan. Aku ndudhuk munggah Correspondence lan ditempelake gambar kabeh wong, ngendi Leonid karo kabeh kekuwatane meksa wong-wong mau kanggo nggawe serep sing digawe. stasiun layanan padha njupuk sisih kita sawise sandi telpon. Banjur Lenya ngakoni kesalahane.

Kepala perusahaan, kosok balene, ora pengin nyalahake rakyate dhewe. Gambar lan tembung ora ana pengaruhe marang dheweke. Dheweke percaya yen amarga kita ahli ing kene, kita kudu ngyakinake kabeh wong lan negesake keputusane. Ketoke, tugas kita kanggo ngajari Lenya lan, luwih-luwih, ngliwati dheweke, sing diangkat dadi manajer proyek, kanggo njaluk menyang perkara utama lan kanthi pribadi ngeculake kabeh keraguan babagan konsep serep kanggo dheweke.

Obrolan oozed karo gething, agresi didhelikake lan unhidden. Aku ora ngerti apa sing kudu ditindakake. Kabeh wis mandheg. Banjur dheweke menehi saran cara paling gampang - nulis pesen pribadi menyang manajer lan ngatur rapat karo dheweke. Vasya, wong ing urip nyata ora cepet kaya ing chatting. Bos mangsuli pesenku: teka, ora ana pitakonan.

Iku rapat paling medeni ing karirku. Sekutuku saka klien - STO - ora bisa nemokake wektu. Aku lunga menyang rapat karo bos lan Lena.

Bola-bali aku muter maneh dialog kita bisa ing sirah. Aku bisa teka awal banget, setengah jam sadurunge. Aku wiwit gugup, aku ngrokok rokok 10. Aku ngerti, iku - aku kurang ajar piyambak. Aku ora bakal bisa ngyakinake dheweke. Lan dheweke mlaku menyang lift.

Nalika lagi tangi, korek api diunekake nganti patah.

AkibatΓ©, Lenya ora ana ing rapat kasebut. Lan kita wis obrolan apik bab kabeh karo boss! Sergei marang kula bab pain. Dheweke ora pengin "ngotomatisasi Clickhouse" - dheweke pengin "nggawe pitakon."

Aku ora weruh wedhus, nanging wong apik, kuwatir bab bisnis, nyemplungaken ing karya 24/7. Chat asring ndudohke kita villains, scoundrels lan wong bodho. Nanging ing urip iki wong kaya sampeyan.

Sergei ora butuh sawetara devops kanggo nyewa. Masalah sing padha dadi luwih gedhe.

Aku ngomong yen aku bisa ngatasi masalah - iku mung proyek temen beda, lan aku duwe kanca sing bisa kanggo. Yen kita wis ngerti saka awal sing iki menehi hasil kanggo wong-wong mau, kita bakal nyingkiri kathah. Wis telat, nanging kita ngerti manawa masalah kasebut ana ing manajemen data sing ora apik, dudu ing infrastruktur.

Kita salaman, padha mundhakaken pituwas kita loro lan setengah kaping, nanging ing kondisi aku njupuk pancen kabeh kekacoan karo data lan Clickhouse kanggo aku. Ing elevator, aku komunikasi karo wong DI sing padha Max lan nyambungake dheweke menyang kerja. Sampeyan perlu kanggo shovel kabeh cluster.

Ana akeh sampah ing proyek sing diadopsi. Miwiti karo "serep" kasebut. Pranyata kluster "serep" sing padha iki ora diisolasi. Padha dites kabeh ing, kadhangkala malah sijine menyang produksi.

Pangembang ing omah kita wis nggawe sisipan data khusus dhewe. Dheweke kerja kaya iki: dheweke nglumpukake file, mbukak skrip lan nggabungake data dadi tabel. Nanging masalah utama yaiku jumlah data sing akeh ditampa kanggo siji panjaluk sing gampang. Panjaluk kasebut gabung karo data saben detik. Kabeh demi siji nomer - jumlah saben dina.

Pangembang ing omah nggunakake alat analytics kanthi salah. Padha menyang grafana lan nulis panjalukan kraton. Dheweke ngunggah data suwene 2 minggu. Ternyata grafik sing apik banget. Nanging ing kasunyatan, panjalukan data saben 10 detik. Kabeh iki numpuk ing antrian amarga Clickhouse mung ora njupuk proses kasebut. Iki ngendi alesan utama didhelikake. Ora ana sing bisa digunakake ing Grafana, panjaluk ana ing antrian, lan data lawas sing ora relevan terus teka.

We reconfigured kluster, redid sisipan. Pangembang ing omah nulis ulang "penyisip", lan wiwit ngolah data kanthi bener.

Max nindakake audit infrastruktur lengkap. Dheweke mbatesi rencana kanggo transisi menyang backend lengkap. Nanging iki ora cocog karo perusahaan. Dheweke ngarepake rahasia gaib saka Max sing ngidini dheweke bisa kerja kanthi cara sing lawas, nanging mung kanthi efisien. Lenya isih ngurus proyek kasebut, lan ora sinau apa-apa. Saka kabeh sing ditawakake, dheweke maneh milih alternatif. Kaya biasane, iki minangka keputusan sing paling selektif ... kandel. Lenya percaya yen perusahaane duwe dalan khusus. Duri lan kebak gunung es.

Bener, ing kono kita pisah - kita nindakake apa sing bisa.

Kanthi kawruh lan kawicaksanan saka sejarah iki, kita mbukak bisnis dhewe lan nggawe sawetara prinsip kanggo awake dhewe. Kita ora bakal miwiti kerja kanthi cara sing padha kaya saiki.

DJ Max gabung karo kita sawise proyek iki, lan kita isih bisa kerja bareng. Kasus Clickhouse ngajari aku carane nindakake audit infrastruktur sing lengkap lan lengkap sadurunge miwiti kerja. Kita ngerti carane kabeh bisa dianggo lan mung banjur nampa tugas. Lan yen sadurunge kita bakal cepet-cepet njaga prasarana, saiki kita nindakake proyek siji-wektu, sing mbantu kita ngerti kepiye carane bisa digunakake.

Lan ya, kita ngindhari proyek kanthi infrastruktur sing ora apik. Sanadyan kanggo dhuwit akeh, sanajan metu saka paseduluran. Iku ora duwe bathi kanggo mbukak proyek lara. Sadhar iki mbantu kita tuwuh. Salah siji proyek siji-wektu kanggo njaluk infrastruktur supaya lan banjur kontrak pangopènan, utawa kita mung fly dening. Ngliwati gunung es liyane.

PS Dadi yen sampeyan duwe pitakon babagan infrastruktur sampeyan, aran gratis kanggo ninggalake panjalukan.

Kita duwe 2 audit gratis saben wulan, mbok menawa proyek sampeyan bakal dadi salah sawijining.

Source: www.habr.com

Add a comment