Бүгд миний төрсөн өдрийг тэмдэглэж байх хооронд би өглөө болтол кластераа засаж байсан бөгөөд хөгжүүлэгчид алдаагаа намайг буруутгасан.

Бүгд миний төрсөн өдрийг тэмдэглэж байх хооронд би өглөө болтол кластераа засаж байсан бөгөөд хөгжүүлэгчид алдаагаа намайг буруутгасан.

Миний devops ажилд хандах хандлагыг үүрд өөрчилсөн түүх энд байна. Ковидоос өмнөх үед, тэднээс нэлээд эрт, залуус бид хоёр зүгээр л өөрсдийн бизнесээ төлөвлөж, санамсаргүй захиалгаар чөлөөт ажил хийж байх үед нэг санал миний сагсанд унасан.

Үүнийг бичсэн компани нь мэдээллийн аналитик компани байсан. Тэрээр өдөр бүр олон мянган хүсэлтийг боловсруулдаг байв. Тэд бидэнд дараах үгсээр ирсэн: залуус аа, бидэнд ClickHouse байгаа бөгөөд бид түүний тохиргоо, суурилуулалтыг автоматжуулахыг хүсч байна. Бид Ansible, Terraform, Docker болон бүгдийг нь Git-д хадгалахыг хүсч байна. Бид тус бүр хоёр хуулбартай дөрвөн зангилааны кластерыг хүсч байна.

Энэ бол стандарт хүсэлт, тэдгээрийн олон арван зүйл байдаг бөгөөд танд адилхан сайн стандарт шийдэл хэрэгтэй. Бид "за" гэж хэлээд 2-3 долоо хоногийн дараа бүх зүйл бэлэн болсон. Тэд уг ажлыг хүлээн авч, манай хэрэгслийг ашиглан шинэ Clickhouse кластер руу шилжиж эхлэв.

Хэн ч Clickhouse-г хэрхэн ашиглахыг хүсээгүй, мэдэхгүй байсан. Дараа нь бид энэ бол тэдний гол асуудал гэж бодсон тул компанийн үйлчилгээний газар дахин хэзээ ч тийшээ явахгүйн тулд ажлыг аль болох автоматжуулахыг манай багт зөвшөөрөв.

Бид нүүх ажлыг дагалдан, бусад ажлууд гарч ирэв - нөөцлөлт хийх, хяналт тавих. Яг тэр мөчид энэ компанийн үйлчилгээний газар өөр төсөлтэй нэгдэж, бидний нэг болох Леонидыг командлагчаар үлдээв. Леня тийм ч авьяаслаг залуу байгаагүй. Кликхаусыг гэнэт хариуцуулсан энгийн хөгжүүлэгч. Энэ нь түүний ямар нэг зүйлийг удирдах анхны даалгавар байсан бололтой, маш их нэр хүндтэй байсан нь түүнд од шиг сэтгэгдэл төрүүлсэн юм.

Бид хамтдаа нөөцлөлт хийхээр шийдсэн. Би анхны өгөгдлийг нэн даруй нөөцлөхийг санал болгосон. Зүгээр л аваад, зиплээд, c3 руу гоёмсог хий. Түүхий өгөгдөл нь алт. Өөр нэг сонголт байсан - царцааж, хуулж ашиглан Clickhouse-д хүснэгтүүдийг өөрсдөө нөөцлөх. Гэхдээ Леня өөрийн гэсэн шийдлийг гаргаж ирэв.

Тэрээр бидэнд хоёр дахь Clickhouse кластер хэрэгтэй гэж мэдэгдэв. Одооноос эхлэн бид үндсэн болон нөөц гэсэн хоёр кластерт өгөгдөл бичих болно. Би түүнд хэлье, Леня, энэ нь нөөц биш, харин идэвхтэй хуулбар байх болно. Хэрэв үйлдвэрлэлд өгөгдөл алдагдаж эхэлбэл таны нөөцлөлт дээр мөн адил зүйл тохиолдох болно.

Гэвч Леня жолооны хүрднээс чанга атгаж, миний маргааныг сонсохоос татгалзав. Бид түүнтэй чатаар удаан ярилцсан боловч хийх зүйл алга - Леня төслийг хариуцаж байсан, бид зүгээр л гудамжнаас хөлсөлсөн хүүхдүүд байсан.

Бид кластерын төлөв байдалд хяналт тавьж, зөвхөн администраторуудын ажилд зориулж төлбөр авдаг. Мэдээлэлд орохгүйгээр цэвэр Clickhouse захиргаа. Кластер бэлэн байсан, дискүүд сайн байсан, зангилаанууд сайн байсан.

Тэдний багийн доторх аймшигт үл ойлголцлын улмаас бид ийм тушаал авснаа мэдээгүй

Менежер Clickhouse удаан ажиллаж, заримдаа өгөгдөл алдагдаж байгаад сэтгэл дундуур байв. Тэр үүнийг олохын тулд үйлчилгээний станцдаа даалгавар өгсөн. Тэр үүнийг чадах чинээгээрээ бодож, бид зүгээр л Clickhouse-ыг автоматжуулах хэрэгтэй гэж дүгнэсэн - энэ л байна. Гэвч удалгүй тодорхой болсон тул тэдэнд девопуудын баг огт хэрэггүй болсон.

Энэ бүхэн маш их өвдөж байсан. Тэгээд хамгийн гомдсон зүйл нь миний төрсөн өдөр байсан.

Баасан гарагийн орой. Би дуртай дарсны баарандаа захиалгаа өгөөд гэр бүлээ урьсан.

Бараг явахын өмнө бид өөрчлөлт хийх даалгавар хүлээн авдаг, бид үүнийг дуусгаж, бүх зүйл хэвийн байна. Өөрчлөгдсөн, clickhouse батлагдсан. Бид аль хэдийн баар руу явж байгаа бөгөөд тэд бидэнд мэдээлэл хангалтгүй байна гэж бичдэг. Бүх зүйл хангалттай байх шиг байна гэж бид тооцоолсон. Тэгээд тэд баяраа тэмдэглэхээр явлаа.

Баасан гаригт ресторан шуугиантай байсан. Бид ундаа, хоол захиалаад буйдан дээр тухлав. Энэ бүх хугацаанд миний сул дорой байдал аажмаар мессежээр дүүрэн байв. Тэд мэдээлэл хомс байгаа талаар ямар нэгэн зүйл бичсэн. Өглөө оройноос илүү ухаалаг байдаг гэж би бодсон. Ялангуяа өнөөдөр.

Арван нэг болоход тэд залгаж эхлэв. Тэр нь компанийн дарга байсан... “Надад баяр хүргэхээр шийдсэн байх” гэж их л тээнэгэлзэн бодоод утсаа авлаа.

Би ийм зүйлийг сонссон: "Чи бидний өгөгдлийг сүйтгэсэн! Би чамд мөнгө төлж байгаа ч юу ч болохгүй! Та нөөцлөлтийг хариуцаж байсан бөгөөд та ямар ч хараал идсэнгүй! Засацгаая!" - зөвхөн бүдүүлэг.

- Чи мэдэж байна уу, зайл! Өнөөдөр миний төрсөн өдөр, одоо би ууж, XNUMX-р сарын гар хийцийн бүтээгдэхүүнийг новш, саваагаар хийхгүй!

Үүнийг би хэлээгүй. Харин би зөөврийн компьютерээ гаргаж ирээд ажилдаа орлоо.

Үгүй ээ, би бөмбөгдсөн, би там шиг бөмбөгдсөн! Тэр чат руу "Би чамд хэлсэн" гэж идэмхий бодис асгасан - учир нь нөөц хуулбар огт биш байсан - мэдээжийн хэрэг юу ч хадгалаагүй.

Хөвгүүд бид хоёр бичлэгийг хэрхэн гараар зогсоож, бүх зүйлийг шалгахыг олж мэдсэн. Бид үнэндээ зарим өгөгдлийг бичээгүй эсэхийг шалгасан.

Бид бичлэг хийхээ больж, өдөрт болж буй үйл явдлын тоог тооллоо. Тэд илүү их мэдээлэл байршуулсан бөгөөд үүний гуравны нэг нь л бүртгэгдээгүй байна. Тус бүр нь 2 хуулбартай гурван хэлтэрхий. Та 100.000 мөр оруулах - 33.000 нь бүртгэгдээгүй.

Бүрэн төөрөгдөл үүссэн. Бүгд бие биедээ ээлж дараалан новшоо гэж хэлэв: Леня эхлээд тэнд очсон, дараа нь би болон компанийг үүсгэн байгуулагч явсан. Гагцхүү нэгдсэн үйлчилгээний газрынхан л бидний хашгиралдсан дуудлага, захидал харилцааг өөр тийш нь чиглүүлж, асуудлыг шийдвэрлэх арга замыг олохыг хичээсэн.

Үнэхээр юу болоод байгааг хэн ч ойлгосонгүй

Бүх өгөгдлийн гуравны нэг нь зөвхөн бүртгэгдээгүй төдийгүй алдагдсан гэдгийг мэдээд залуус бид хоёр зүгээр л цочирдсон! Компани дахь захиалга нь дараах байдалтай байсан: оруулсны дараа өгөгдлийг эргэлт буцалтгүй устгаж, үйл явдлуудыг багцаар нь дэмий үрсэн. Сергей энэ бүгдийг алдагдсан рубльд хэрхэн хөрвүүлэхийг би төсөөлж байсан.

Миний төрсөн өдрийг бас хогийн саванд хаясан. Бид бааранд суугаад санаагаа гаргаж, бидний өөдөөс шидсэн оньсого тайлахыг хичээв. Clickhouse унасан шалтгаан нь тодорхойгүй байсан. Магадгүй энэ нь сүлжээ, магадгүй Линуксийн тохиргоо юм. Тийм ээ, та юу хүсч байгаагаас үл хамааран хангалттай таамаглал байсан.

Би хөгжүүлэгчийн тангараг өргөөгүй, гэхдээ тэд биднийг бүх зүйлд буруутгасан ч гэсэн шугамын нөгөө үзүүрт байгаа залуусыг орхисон нь шударга бус явдал байв. Асуудал бидний талд биш бидний шийдвэрт ороогүй гэдэгт би 99% итгэлтэй байсан. Бидний сүйрсэн 1% магадлал нь сэтгэлийн зовнилоор шатаж байв. Гэхдээ асуудал аль талд нь байсан хамаагүй засах ёстой байв. Ийм аймшигт мэдээлэл алдагдсанаар үйлчлүүлэгчдээ хэн ч байсан орхих нь хэтэрхий харгис хэрэг юм.

Бид рестораны ширээнд өглөөний гурван цаг хүртэл ажилласан. Бид үйл явдлуудыг нэмж, сонгоод оруулаад, хоосон зайг нөхөхөөр явлаа. Өгөгдлийг эвдэх үед та үүнийг ингэж хийдэг: та өмнөх өдрүүдийн дундаж өгөгдлийг авч, муудсан өдрүүдэд оруулна.

Өглөөний гурван цаг өнгөрч байхад найз бид хоёр гэртээ орж архины захаас пиво захиалсан. Би зөөврийн компьютер, Clickhouse-тай холбоотой асуудалтай сууж байсан, нэг найз надад нэг юм хэлж байсан. Үүний үр дүнд нэг цагийн дараа тэр намайг түүнтэй хамт шар айраг уухгүй ажиллаж байгаад гомдоод явсан. Сонгодог - Би Devops-ийн найз байсан.

Өглөөний 6 цаг гэхэд би хүснэгтийг дахин бүтээж, өгөгдөл үерт автаж эхлэв. Бүх зүйл алдагдалгүй ажилласан.

Дараа нь хэцүү байсан. Мэдээлэл алдагдсанд бүгд бие биенээ буруутгаж байсан. Хэрэв шинэ алдаа гарсан бол буудалцаан болох байсан гэдэгт би итгэлтэй байна

Эдгээр тулааны үеэр бид эцэст нь ойлгож эхэлсэн - компани биднийг өгөгдөлтэй ажилладаг, хүснэгтийн бүтцийг хянадаг залуус гэж бодсон. Тэд админуудыг дилерүүдтэй андуурчээ. Тэгээд админуудаас өөр юм асуух гэж ирсэн.

Тэдний гол гомдол бол та нөөшлөлтийг хариуцаж, зохих ёсоор хийгээгүй, өгөгдлийг дэмий үрсээр байсан. Мөн энэ бүгдийг эргүүлэх дэвсгэртэй.

Би шударга ёсыг хүссэн. Би бүх хүмүүсийн захидал харилцааг ухаж, дэлгэцийн агшинг хавсаргасан бөгөөд Леонид бүх хүч чадлаараа тэднийг нөөцлөлт хийхийг албадав. Тэдний үйлчилгээний газар намайг утсаар ярьсны дараа бидний талд орсон. Хожим нь Леня гэм буруугаа хүлээн зөвшөөрсөн.

Компанийн дарга харин ч эсрэгээрээ өөрийнхөө хүмүүсийг буруутгахыг хүссэнгүй. Дэлгэцийн зураг, үгс түүнд ямар ч нөлөө үзүүлсэнгүй. Бид энд мэргэжилтнүүд учраас хүн бүрийг итгүүлж, шийдвэрээ гаргах ёстой гэж тэр итгэж байсан. Бидний даалгавар бол Леняг зааж, төслийн менежерээр томилогдсон түүнийг тойрч гарахад гол зүйл рүүгээ орж, нөөцлөх ойлголтын талаархи бүх эргэлзээгээ биечлэн гаргах явдал байсан бололтой.

Энэ чат үзэн ядалт, далд, далд түрэмгийлэлээр дүүрэн байв. Би юу хийхээ мэдэхгүй байсан. Бүх зүйл зогсонги байдалд орсон. Дараа нь тэд надад хамгийн хялбар арга замыг зөвлөсөн - менежер рүү хувийн мессеж бичиж, түүнтэй уулзалт зохион байгуулах. Вася, бодит амьдрал дээр хүмүүс чатлаж байгаа шиг хурдан байдаггүй. Дарга миний зурваст хариулав: ирээрэй, асуулт байхгүй.

Энэ бол миний карьер дахь хамгийн аймшигтай уулзалт байсан. Үйлчлүүлэгчээс миний холбоотон болох СТО цаг зав олж чадсангүй. Би дарга, Лена нартай уулзахаар явсан.

Би толгойдоо бидний боломжит яриа хэлэлцээг дахин дахин тоглуулж байлаа. Би маш эрт, хагас цагийн өмнө ирж чадсан. Би сандарч эхлэв, би 10 тамхи татсан. Би ойлголоо, энэ бол би ганцаараа байна. Би тэднийг итгүүлж чадахгүй. Тэгээд тэр цахилгаан шат руу оров.

Тэр босож байтал асаагуураа хүчтэй цохиж эвдэрсэн.

Үүний үр дүнд Леня уулзалтад оролцоогүй. Тэгээд бид даргатай бүх зүйлийн талаар сайхан ярилцсан! Сергей надад өвдөлтийнхөө талаар хэлсэн. Тэр "Clickhouse-г автоматжуулах" -ыг хүсээгүй - тэр "асуултуудыг ажиллуулахыг" хүссэн.

Би ямаа хараагүй, гэхдээ ажилдаа санаа зовж, 24/7 ажилдаа шимтдэг сайн залуу. Чат биднийг ихэвчлэн хорон санаатнууд, новшнууд, тэнэг хүмүүсийг татдаг. Гэхдээ амьдрал дээр эдгээр нь чам шиг хүмүүс байдаг.

Сергейд хэд хэдэн девоп хөлслөх шаардлагагүй байв. Тэдний тулгарсан асуудал илүү том болж хувирав.

Би түүний асуудлыг шийдэж чадна гэж хэлсэн - энэ бол огт өөр ажил, надад ажилладаг найз бий. Энэ бол тэдний хувьд тохироо гэдгийг бид анхнаасаа мэдсэн бол их зүйлээс зайлсхийх байсан. Орой болсон хэдий ч асуудал нь дэд бүтцэд биш харин өгөгдлийн буруу менежментэд оршиж байгааг бид ойлгосон.

Бид гар барилцаж, тэд цалингаа хоёр, хагас дахин нэмсэн, гэхдээ би тэдний өгөгдөл болон Clickhouse-ыг бүхэлд нь бүхэлд нь эргүүлэх нөхцөлтэйгээр. Лифтэнд би тэр DI залуу Макстай холбогдож, түүнийг ажилтай холбосон. Энэ нь бүхэл бүтэн кластерийг хүрзээр зайлуулах шаардлагатай байв.

Батлагдсан төсөлд хог их байсан. Дээр дурдсан "нөөц" -ээс эхэлнэ. Энэ ижил "нөөц" кластер нь тусгаарлагдаагүй нь тогтоогдсон. Тэд үүн дээр бүх зүйлийг туршиж, заримдаа бүр үйлдвэрлэлд нэвтрүүлсэн.

Манай дотоод хөгжүүлэгчид өөрсдийн захиалгат өгөгдөл оруулагчийг бүтээсэн. Тэр ингэж ажилласан: тэр файлуудыг багцалж, скриптийг ажиллуулж, өгөгдлийг хүснэгтэд нэгтгэв. Гэхдээ хамгийн гол асуудал бол нэг энгийн хүсэлтэд асар их хэмжээний өгөгдлийг хүлээн авах явдал байв. Хүсэлт секунд тутамд өгөгдөлд нэгддэг. Бүгд нэг тооны төлөө - өдрийн хэмжээ.

Дотоодын хөгжүүлэгчид аналитик хэрэгслийг буруу ашигласан. Тэд графана руу очиж, хааны хүсэлтээ бичжээ. Тэрээр 2 долоо хоногийн турш өгөгдөл байршуулсан. Сайхан график болсон. Гэвч бодит байдал дээр өгөгдлийн хүсэлт 10 секунд тутамд ирдэг байв. Clickhouse зүгээр л боловсруулалтыг гаргаагүй тул энэ бүхэн дараалалд оров. Энд л гол шалтгаан нуугдаж байсан. Графана-д юу ч ажиллахгүй, хүсэлтүүд дараалалд зогсож, хуучин, хамааралгүй өгөгдөл байнга ирдэг байв.

Бид кластерыг дахин тохируулж, оруулгыг дахин хийсэн. Дотоод хөгжүүлэгчид өөрсдийн "оруулагч" -аа дахин бичсэн бөгөөд энэ нь өгөгдлийг зөв хувааж эхлэв.

Макс дэд бүтцийн бүрэн аудит хийсэн. Тэрээр бүрэн хэмжээний арын системд шилжих төлөвлөгөөг тодорхойлсон. Гэхдээ энэ нь компанид тохирохгүй байв. Тэд Максоос хуучин хэв маягаар, гэхдээ үр дүнтэй ажиллах боломжийг олгох ид шидийн нууцыг хүлээж байв. Леня төслийг хариуцаж байсан бөгөөд тэр юу ч сураагүй. Санал болгож буй бүх зүйлээс тэрээр өөр хувилбараа дахин сонгосон. Урьдын адил энэ бол хамгийн сонгомол... зоримог шийдвэр байлаа. Леня түүний компани онцгой замтай гэдэгт итгэдэг байв. Өргөст, мөсөн уулсаар дүүрэн.

Үнэндээ бид тэндээс салсан - бид чадах бүхнээ хийсэн.

Энэ түүхээс мэдлэг, мэргэн ухаанаар дүүрэн бид бизнесээ нээж, өөрсдөдөө зориулж хэд хэдэн зарчмуудыг бий болгосон. Бид хэзээ ч өмнөх шигээ ажлаа эхлэхгүй.

Энэ төслийн дараа DJ Макс бидэнтэй нэгдсэн бөгөөд бид одоо ч сайн ажиллаж байна. Clickhouse-ын хэрэг надад ажил эхлэхийн өмнө дэд бүтцийн аудитыг хэрхэн бүрэн, нарийн хийх талаар зааж өгсөн. Бид бүх зүйл хэрхэн ажилладагийг ойлгож, зөвхөн дараа нь даалгавруудыг хүлээн авдаг. Хэрэв бид өмнө нь дэд бүтцийг яаралтай засварлах гэж яарч байсан бол одоо бид эхлээд нэг удаагийн төсөл хэрэгжүүлж байгаа нь үүнийг хэрхэн ажиллах нөхцөл байдалд оруулахыг ойлгоход тусалдаг.

Тийм ээ, бид муу дэд бүтэцтэй төслүүдээс зайлсхийдэг. Их мөнгөний төлөө ч, нөхөрлөлөөс гадуур ч гэсэн. Өвчтэй төслүүдийг явуулах нь ашиггүй юм. Үүнийг ухаарах нь бидэнд өсөхөд тусалсан. Нэг бол дэд бүтцээ цэгцлэх нэг удаагийн төсөл, дараа нь засвар үйлчилгээ хийх гэрээ, эсвэл бид зүгээр л нисээд өнгөрдөг. Өөр нэг мөсөн уулыг өнгөрөв.

Жич Тиймээс хэрэв танд дэд бүтцийнхээ талаар асуух зүйл байвал Хүсэлтийг чөлөөтэй илгээнэ үү.

Бид сард 2 удаа үнэгүй аудит хийдэг, магадгүй таны төсөл тэдний нэг байх болно.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх