Nalika sadayana ngagungkeun ulang taun kuring, kuring ngalereskeun kluster dugi ka énjing - sareng para pamekar nyalahkeun kasalahanana ka kuring.

Nalika sadayana ngagungkeun ulang taun kuring, kuring ngalereskeun kluster dugi ka énjing - sareng para pamekar nyalahkeun kasalahanana ka kuring.

Ieu mangrupikeun carita anu salamina ngarobih pendekatan kuring pikeun padamelan devops. Deui dina jaman pra-Covid, lami, lami sateuacan aranjeunna, nalika kuring sareng lalaki nembé ngarencanakeun bisnis urang sorangan sareng freelancing dina pesenan acak, hiji tawaran murag kana karanjang kuring.

Perusahaan anu nyerat ieu mangrupikeun perusahaan analitik data. Anjeunna ngolah rébuan pamundut unggal dinten. Aranjeunna sumping ka kami kalayan kecap: guys, urang gaduh ClickHouse sareng urang hoyong ngajadikeun otomatis konfigurasi sareng instalasina. Kami hoyong Ansible, Terraform, Docker sareng sadayana disimpen dina Git. Simkuring hoyong klaster opat titik kalawan dua réplika unggal.

Éta mangrupikeun pamundut standar, aya puluhan, sareng anjeun peryogi solusi standar anu sami. Urang ngomong "ok", sarta sanggeus 2-3 minggu sagalana geus siap. Aranjeunna nampi padamelan sareng mimiti ngalih ka klaster Clickhouse énggal nganggo utilitas kami.

Teu aya anu hoyong atanapi terang kumaha carana tinker sareng Clickhouse. Teras we ngira yén ieu masalah utama maranéhanana, sarta ku kituna stasiun layanan parusahaan saukur masihan lebet-payun ka tim kuring pikeun ngajadikeun otomatis karya saloba mungkin, ku kituna teu balik ka dinya sorangan kantos deui.

Kami ngiringan gerakan éta, aya tugas sanés - nyetél cadangan sareng ngawaskeun. Dina momen anu sarua, stasiun layanan pausahaan ieu ngagabung jeung proyék séjén, ninggalkeun urang jeung salah sahiji urang sorangan - Leonid - salaku komandan. Lenya sanés jalma anu berbakat pisan. A pamekar basajan anu ujug-ujug nempatkeun dina muatan tina Clickhouse. Sigana mah ieu tugas kahijina pikeun ngatur hiji hal, jeung ngahargaan overwhelming ngajadikeun anjeunna ngarasa starstruck.

Urang babarengan nyieun cadangan. Kuring nyarankeun nyadangkeun data asli langsung. Ngan candak, sleting sareng alungkeun sacara elegan kana sababaraha c3. Data atah nyaéta emas. Aya pilihan sejen - nyadangkeun tabel sorangan di Clickhouse, ngagunakeun freeze sarta nyalin. Tapi Lenya datang nepi ka solusi sorangan.

Anjeunna ngumumkeun yén urang peryogi kluster Clickhouse kadua. Sareng ti ayeuna urang bakal nyerat data kana dua klaster - anu utama sareng cadangan. Kuring ngabejaan manehna, Lenya, éta moal jadi cadangan, tapi replica aktip. Sareng upami data mimiti leungit dina produksi, hal anu sami bakal kajadian dina cadangan anjeun.

Tapi Lenya nyekel setir pageuh sarta nampik ngadéngékeun argumen kuring. Kami ngobrol sareng anjeunna kanggo waktos anu lami dina obrolan, tapi teu aya anu kedah dilakukeun - Lenya mangrupikeun tanggung jawab proyék, kami ngan ukur nyéwa budak ti jalan.

Urang diawaskeun kaayaan klaster jeung muatan ngan pikeun karya pangurus. Administrasi Clickhouse murni tanpa asup kana data. Kluster éta sayogi, diskna saé, titik-titikna saé.

Saeutik urang terang yén kami nampi pesenan ieu kusabab salah paham anu dahsyat dina timna

manajer éta bagja nu Clickhouse éta slow sarta data kadang leungit. Anjeunna netepkeun stasion palayanan pikeun ngabéréskeunana. Anjeunna terang sakumaha anu saé sareng nyimpulkeun yén urang ngan ukur kedah ngajadikeun otomatis Clickhouse - éta waé. Tapi pas janten jelas, aranjeunna henteu peryogi tim devops pisan.

Sadaya ieu tétéla pisan, nyeri pisan. Jeung hal paling karasa nya éta dina ulang kuring.

malem Jumaah. Kuring ngadamel reservasi di bar anggur karesep kuring sareng ngajak para homies.

Ampir sateuacan angkat, kami nampi tugas pikeun nyiptakeun alternatip, kami réngsé, sadayana henteu kunanaon. Alter lulus, clickhouse dikonfirmasi. Kami parantos angkat ka bar, sareng aranjeunna nyerat ka kami yén teu aya data anu cekap. Urang ngitung yén sagalana sigana cukup. Jeung maranéhna ninggalkeun pikeun ngagungkeun.

réstoran éta ribut dina Jumaah. Sanggeus maréntahkeun inuman sarta kadaharan, urang lounged on sofas. Sapanjang ieu, kendor kuring lalaunan dibanjiri ku pesen. Aranjeunna wrote hal ngeunaan kurangna data. Teu sangka - isuk téh wijaksana ti soré. Utamana kiwari.

Deukeut ka sabelas aranjeunna mimiti nelepon. Ieu kapala pausahaan ... "Meureun mutuskeun congratulate kuring," Teu sangka pisan hesitantly, sarta ngangkat telepon.

Sareng kuring nguping sapertos kieu: "Anjeun ngaco data kami! Kuring mayar anjeun, tapi euweuh gawéna! Anjeun tanggel waler pikeun cadangan, sareng anjeun henteu ngalakukeun hal damn! Hayu urang ngalereskeun!" - ngan malah ruder.

- Anjeun terang naon, meunang bangsat kaluar! Dinten ieu ultah kuring, tur ayeuna kuring bakal inuman, sarta teu kalibet dina Juni produk homemade anjeun ti crap jeung iteuk!

Éta anu kuring henteu nyarios. Gantina, kuring nyandak laptop kuring sareng damel.

Henteu, kuring ngabom, kuring ngabom sapertos naraka! Anjeunna tuang caustic "Kuring bébéja anjeun kitu" kana obrolan - sabab cadangan, nu teu cadangan pisan, - tangtosna, teu nyimpen nanaon.

Abdi sareng budak terang kumaha cara ngeureunkeun ngarékam sacara manual sareng pariksa sadayana. Urang sabenerna mastikeun yén sababaraha data teu ditulis.

Urang dieureunkeun ngarekam jeung diitung jumlah acara anu aya per poé. Aranjeunna unggah deui data, nu ngan sapertilu teu kacatet. Tilu shards kalawan 2 réplika unggal. Anjeun nyelapkeun 100.000 baris - 33.000 teu kacatet.

Aya kabingungan lengkep. Sarerea ngadawuh ka bangsat off di robah warna ka warna: Lenya indit ka dinya kahiji, dituturkeun ku sorangan jeung pangadeg pausahaan. Ngan stasiun layanan anu ngagabung nyobian ngalihkeun telepon sareng korespondensi kami pikeun milarian solusi pikeun masalah éta.

Teu aya anu ngartos naon anu kajantenan

The guys jeung kuring ngan saukur ditiup jauh lamun urang sadar yén sapertilu sadaya data teu ngan teu dirékam, éta leungit! Tétéla yén pesenan di perusahaan nyaéta kieu: saatos diselapkeun, data dihapus sacara teu tiasa dicabut, acara-acara dibuang dina bets. Kuring ngabayangkeun kumaha Sergei bakal ngarobih sadayana ieu kana rubel anu leungit.

Ulang taun kuring ogé dialungkeun kana tong sampah. Urang diuk di bar jeung dihasilkeun gagasan, nyoba ngajawab teka nu geus dialungkeun ka urang. Alesan keur ragrag Clickhouse urang éta teu atra. Meureun éta jaringan, meureun éta setélan Linux Ubuntu. Leres, naon waé anu anjeun pikahoyong, parantos cekap hipotesis.

Kuring henteu nyandak sumpah pamekar, tapi teu jujur ​​​​ngantunkeun jalma-jalma di tungtung anu sanés - sanaos aranjeunna nyalahkeun kami pikeun sadayana. Kuring 99% yakin yén masalahna henteu aya dina kaputusan urang, sanés di pihak urang. Kasempetan 1% anu urang parantos ngaco ieu kaduruk ku kahariwang. Tapi euweuh urusan sisi mana masalahna, éta kudu dibenerkeun. Ninggalkeun konsumén, euweuh urusan saha aranjeunna, kalayan sapertos bocor data dahsyat teuing kejam.

Urang digawé di meja réstoran nepi ka tilu isuk-isuk. Urang ditambahkeun acara, selapkeun pilih, sareng mareuman urang indit pikeun ngeusian dina sela. Lamun anjeun screw up data, ieu kumaha anjeun ngalakukeun eta: Anjeun nyokot data rata pikeun poé saméméhna tur selapkeun kana leuwih ngaco up.

Saatos tilu subuh, kuring sareng rerencangan angkat ka bumi sareng mesen bir ti pasar alkohol. Kuring linggih sareng laptop sareng masalah Clickhouse, babaturan nyarioskeun ka kuring. Hasilna, sanggeus sajam manéhna gelo yén kuring digawé jeung teu nginum bir jeung manéhna, sarta ninggalkeun. Klasik - Kuring éta babaturan Devops.

Ku 6 am, abdi recreated tabel deui, sarta data mimiti banjir. Sagalana digawé tanpa karugian nanaon.

Lajeng éta teuas. Sarerea blamed silih pikeun leungitna data. Upami aya bug anyar anu kajantenan, kuring yakin bakal aya adu adu

Dina gelut ieu, urang tungtungna mimiti ngarti - pausahaan ngira yén urang éta guys anu dianggo kalayan data sarta ngawas struktur tabel. Aranjeunna bingung admins kalawan dealers. Jeung maranéhna datang nanya kami hal béda ti admins.

Keluhan utamana nyaéta - naon sih, anjeun tanggung jawab kana cadangan sareng henteu ngalakukeunana leres, anjeun teras-terasan miceunan data. Sarta sakabeh ieu kalawan mat rewinding.

Abdi hoyong kaadilan. Kuring ngali korespondensi sareng napelkeun Potret layar dulur, dimana Leonid kalayan sagala kakuatanana maksa aranjeunna ngadamel cadangan anu dilakukeun. stasiun layanan maranéhanana nyokot sisi kami sanggeus telepon kuring. Engké Lenya ngaku kasalahanana.

Kapala pausahaan, sabalikna, teu hayang nyalahkeun rahayatna sorangan. Potret layar sareng kecap teu aya pangaruhna ka anjeunna. Anjeunna percaya yén saprak kami ahli di dieu, urang kedah ngayakinkeun sadayana sareng keukeuh kana kaputusan urang. Tétéla, tugas urang éta pikeun ngajar Lenya sarta, komo, bypass anjeunna, anu diangkat jadi manajer proyék, nepi ka hal utama jeung pribadi tuang kaluar sagala mamang urang ngeunaan konsép cadangan ka anjeunna.

Obrolan oozed kalawan hatred, agresi disumputkeun na unhidden. Abdi henteu terang naon anu kedah dilakukeun. Sagalana geus datang ka standstill a. Teras aranjeunna mamatahan kuring cara panggampangna - nyerat pesen pribadi ka manajer sareng ngatur rapat sareng anjeunna. Vasya, jalma dina kahirupan nyata henteu gancang sapertos dina obrolan. Bos ngawaler pesen kuring: sumping, henteu aya patarosan.

Ieu pasamoan scariest dina karir mah. babaturan kuring ti klien - STO - teu bisa manggihan waktu. Abdi angkat ka rapat sareng bos sareng Lena.

Sakali deui kuring ngulang deui dialog anu mungkin dina sirah kuring. Kuring junun anjog pisan mimiti, satengah jam sateuacanna. Kuring mimiti gugup, kuring ngaroko rokok 10. Kuring ngarti, éta - kuring bangsat nyalira. Abdi moal tiasa ngayakinkeun aranjeunna. Sarta anjeunna stepped kana lift.

Bari hudang, manéhna neunggeul korek api nepi ka peupeus.

Hasilna, Lenya teu aya dina rapat. Sarta kami kungsi paguneman hébat ngeunaan sagalana jeung boss! Sergei ngawartoskeun kuring ngeunaan nyeri na. Anjeunna teu hoyong "otomatiskeun Clickhouse" - anjeunna hayang "nyieun queries jalan."

Kuring henteu ningali embe, tapi lalaki anu saé, hariwang ngeunaan usahana, immersed dina karya 24/7. Obrolan mindeng draws kami villains, scoundrels jeung jalma bodo. Tapi dina kahirupan ieu jalma sapertos anjeun.

Sergei henteu peryogi sababaraha devops pikeun nyewa. Masalah anu aranjeunna parantos janten langkung ageung.

Kuring nyarios yén kuring tiasa ngabéréskeun masalahna - éta ngan ukur padamelan anu béda, sareng kuring gaduh réréncangan anu dianggo pikeun éta. Upami urang terang ti mimiti yén ieu mangrupikeun deal pikeun aranjeunna, urang bakal ngahindar pisan. Telat, tapi urang sadar yén masalahna aya dina manajemén data anu parah, sanés dina infrastruktur.

Urang sasalaman, aranjeunna ngangkat bayar kami dua satengah kali, tapi dina kaayaan anu kuring nyandak pancen sakabeh mess kalawan data maranéhanana sarta Clickhouse keur kuring sorangan. Dina lift, abdi komunkasi jeung nu sarua DI guy Max tur disambungkeun anjeunna ka pagawean. Ieu diperlukeun pikeun shovel sakabéh klaster.

Aya seueur sampah dina proyék anu diadopsi. Dimimitian ku disebut "cadangan". Tétéla yén klaster "cadangan" anu sami ieu henteu terasing. Aranjeunna nguji sadayana dina éta, sakapeung malah nempatkeun kana produksi.

Pangembang in-house kami parantos nyiptakeun inserter data khusus sorangan. Anjeunna damel sapertos kieu: anjeunna ngumpulkeun file, ngajalankeun naskah sareng ngahijikeun data kana méja. Tapi masalah utama éta jumlah badag data ieu katampa pikeun hiji pamundut basajan. Paménta ngagabung data unggal detik. Kabéh demi hiji angka - jumlah per poé.

Pangembang di-imah ngagunakeun alat analitik sacara teu leres. Aranjeunna angkat ka grafana sareng nyerat pamundut karajaanana. Anjeunna unggah data pikeun 2 minggu. Tétéla éta grafik geulis. Tapi kanyataanana, pamundut data unggal 10 detik. Sadaya ieu tumpukan dina antrian sabab Clickhouse ngan saukur henteu nyandak pamrosésan. Ieu dimana alesan utama disumputkeun. Euweuh digawé di Grafana, requests nangtung dina antrian, sarta heubeul, data teu relevan ieu terus anjog.

Urang reconfigured klaster, redid sisipan. Pamekar di-imah nyerat deui "inserter" na, sareng éta mimiti ngabagi data kalayan leres.

Max ngalaksanakeun audit infrastruktur pinuh. Anjeunna outlined rencana pikeun transisi ka backend full-fledged. Tapi ieu henteu cocog sareng perusahaan. Aranjeunna ngarepkeun rusiah gaib ti Max anu bakal ngamungkinkeun aranjeunna damel cara baheula, tapi ngan ukur éfisién. Lenya masih tanggung jawab proyék, sarta anjeunna diajar nanaon. Tina sagala anu ditawarkeun, anjeunna deui milih alternatif na. Sakumaha biasa, ieu mangrupikeun kaputusan anu paling selektif ... kandel. Lenya percaya yén perusahaanna ngagaduhan jalur khusus. Thorny tur pinuh ku gunung es.

Sabenerna, éta tempat urang parted - urang ngalakukeun naon urang bisa.

Pinuh ku pangaweruh sareng hikmah tina sajarah ieu, urang muka usaha sorangan sareng ngawangun sababaraha prinsip pikeun diri urang sorangan. Kami moal pernah ngamimitian damel dina cara anu sami ayeuna sapertos ayeuna.

DJ Max ngagabung kami sanggeus proyék ieu, sarta kami masih gawé bareng hébat. Kasus Clickhouse ngajarkeun kuring kumaha ngalaksanakeun Inok infrastruktur anu lengkep sareng lengkep sateuacan ngamimitian damel. Urang ngarti kumaha sagalana jalan sarta ngan lajeng narima tugas. Sareng upami sateuacana urang bakal langsung buru-buru ngajaga infrastruktur, ayeuna urang mimiti ngalakukeun hiji-waktos proyék, anu ngabantosan urang ngartos kumaha carana mawa kana kaayaan kerja.

Sareng enya, urang ngahindarkeun proyék-proyék kalayan infrastruktur anu jelek. Sanajan keur loba duit, sanajan kaluar tina silaturahim. Éta henteu nguntungkeun pikeun ngajalankeun proyék anu gering. Nyadar ieu mantuan kami tumuwuh. Boh hiji-waktos proyék pikeun meunangkeun infrastruktur dina urutan lajeng kontrak pangropéa, atawa urang ngan ngapung. Kaliwat gunung es sejen.

PS Janten upami anjeun gaduh patarosan ngeunaan infrastruktur anjeun, Ngarasa Luncat ka ngalebetkeun pamundut a.

Kami gaduh 2 audit gratis per bulan, panginten proyék anjeun bakal janten salah sahijina.

sumber: www.habr.com

Tambahkeun komentar