Кубернетес ће преузети свет. Када и како?

У очекивању ДевОпсЦонф Виталиј Хабаров интервјуисана Дмитриј Стољаров (дистол), технички директор и суоснивач компаније Флант. Виталиј је питао Дмитрија о томе шта Флант ради, о Кубернетесу, развоју екосистема, подршци. Разговарали смо зашто је Кубернетес потребан и да ли је уопште потребан. И такође о микроуслугама, Амазон АВС-у, приступу „И'лл бе луцки“ ДевОпс-у, будућности самог Кубернетеса, зашто, када и како ће преузети свет, перспективама ДевОпс-а и на шта би инжењери требало да се припреме у светлу и блиску будућност са поједностављењем и неуронским мрежама.

Оригинални интервју слушајте као подкаст на ДевОпс Дефлоп - подкасту на руском језику о ДевОпс-у, а испод је текстуална верзија.

Кубернетес ће преузети свет. Када и како?

Овде и испод поставља питања Виталиј Хабаров инжењер из Екпресс42.

О "Фланту"

- Здраво Дима. Ви сте технички директор "Флант“ а такође и његов оснивач. Реците нам шта компанија ради и шта сте ви у њој?

Кубернетес ће преузети свет. Када и како?Дмитриј: Споља изгледа као да смо ми момци који инсталирају Кубернетес за све и раде нешто са њим. Али то није истина. Почели смо као компанија која се бави Линуком, али већ дуже време наша основна делатност је сервисирање производње и великих пројеката по систему кључ у руке. Обично градимо целокупну инфраструктуру од нуле и онда смо одговорни за њу дуго, дуго времена. Дакле, главни посао који „Флант” ради, за који добија новац, јесте преузимање одговорности и спровођење производње по систему кључ у руке.




Ја, као технички директор и један од оснивача компаније, читав дан и ноћ покушавам да смислим како да повећам доступност производње, поједноставим њен рад, олакшам живот администраторима, а живот програмера пријатнијим .

О Кубернетесу

— У последње време виђам много извештаја од Фланта и чланци о Кубернетесу. Како сте дошли до тога?

Дмитриј: О овоме сам већ говорио много пута, али немам ништа против да то поновим. Мислим да је у реду да поновим ову тему јер постоји забуна између узрока и последице.

Стварно нам је требао алат. Имали смо много проблема, мучили се, савладавали их разним штакама и осећали потребу за алатом. Прошли смо кроз много различитих опција, направили сопствене бицикле и стекли искуство. Постепено смо дошли до тачке када смо почели да користимо Доцкер скоро чим се појавио - око 2013. У време његовог појављивања, већ смо имали доста искуства са контејнерима, већ смо написали аналогни „Доцкер“ - неке од наших штака у Питхон-у. Са појавом Доцкер-а, постало је могуће избацити штаке и користити поуздано решење које подржава заједница.

Са Кубернетесом прича је слична. У време када је почело да добија на замаху – за нас је ово верзија 1.2 – већ смо имали гомилу штака и на Схелл-у и на Цхефу, што смо некако покушали да оркестрирамо са Доцкер-ом. Озбиљно смо гледали ка Ранчеру и разним другим решењима, али онда се појавио Кубернетес у коме је све имплементирано баш онако како бисмо ми то урадили или још боље. Нема се шта замерити.

Да, овде постоји нека врста несавршености, ту је нека врста несавршености - има доста несавршености, а 1.2 је генерално страшно, али... Кубернетес је као зграда у изградњи - погледате пројекат и разумете да ће бити кул. Ако зграда сада има темељ и два спрата, онда разумете да је боље да се још не усељавате, али нема таквих проблема са софтвером - већ га можете користити.

Нисмо имали тренутак када смо размишљали о томе да користимо Кубернетес или не. Чекали смо га много пре него што се појавио, и покушали смо да сами створимо аналоге.

О Кубернетесу

— Да ли сте директно укључени у развој самог Кубернетеса?

Дмитриј: Просечан. Уместо тога, ми учествујемо у развоју екосистема. Шаљемо одређени број пулл захтева: Прометеју, разним оператерима, Хелму - екосистему. Нажалост, нисам у стању да пратим све што радимо и можда грешим, али нема ни једног базена од нас у језгро.

— У исто време, да ли развијате многе своје алате око Кубернетеса?

Дмитриј: Стратегија је следећа: идемо и повлачимо захтеве за све што већ постоји. Ако захтеви за повлачење нису прихваћени тамо, једноставно их сами рачвамо и живимо док не буду прихваћени са нашим буилдовима. Затим, када стигне узводно, враћамо се на узводну верзију.

На пример, имамо Прометхеус оператор, са којим смо се пребацивали напред-назад на узводно од нашег склопа вероватно већ 5 пута. Потребна нам је нека врста функције, послали смо захтев за повлачење, морамо да га објавимо сутра, али не желимо да чекамо да буде пуштен узводно. Сходно томе, састављамо за себе, развијамо наш склоп са нашом функцијом, која нам је из неког разлога потребна, на све наше кластере. Онда нам га, на пример, предају у узводном току са речима: „Момци, хајде да урадимо то за општији случај“, завршимо ми или неко други и временом се поново споји.

Трудимо се да развијамо све што постоји. Многи елементи који још не постоје, још нису измишљени, или су измишљени, али нису имали времена за имплементацију - ми то радимо. И то не зато што волимо процес или изградњу бицикала као индустрију, већ једноставно зато што нам је потребан овај алат. Често се поставља питање зашто смо урадили ово или оно? Одговор је једноставан – да, јер смо морали да идемо даље, да решимо неки практични задатак, а решили смо га овом тулом.

Пут је увек овакав: веома пажљиво тражимо и, ако не нађемо решење како да од векне хлеба направимо тролејбус, онда правимо своју векну и свој тролејбус.

Фланта алати

— Знам да Флант сада има аддон операторе, схелл операторе и дапп/верф алате. Колико ја разумем, ово је исти инструмент у различитим инкарнацијама. Такође разумем да постоји много више различитих алата унутар Флаунт-а. Ово је истина?

Дмитриј: Имамо много више на ГитХубу. Колико се сада сећам, имамо статусну карту – таблу за Графану на коју су сви наилазили. Помиње се у скоро сваком другом чланку о Кубернетес надгледању на Медијуму. Немогуће је укратко објаснити шта је статусна мапа – за њу је потребан посебан чланак, али је веома корисна ствар за праћење статуса током времена, пошто у Кубернетесу често морамо да прикажемо статус током времена. Имамо и ЛогХоусе - ово је ствар заснована на ЦлицкХоусе-у и црној магији за прикупљање трупаца у Кубернетес-у.

Пуно услужних програма! А биће их још више, јер ће ове године изаћи низ интерних решења. Од веома великих базираних на аддон оператору, постоји гомила додатака за Кубернетес, ала како правилно инсталирати серт манагер - алат за управљање сертификатима, како правилно инсталирати Прометхеус са гомилом додатака - ово је двадесетак различитих бинарне датотеке које извозе податке и прикупљају нешто, овај Прометеј има најневероватнију графику и упозорења. Све ово је само гомила додатака за Кубернетес, који су инсталирани у кластер, а он се из једноставног претвара у цоол, софистициран, аутоматски, у којем су многи проблеми већ решени. Да, радимо много.

Развој екосистема

„Чини ми се да је ово веома велики допринос развоју овог инструмента и метода његове употребе. Можете ли отприлике да процените ко би још дао исти допринос развоју екосистема?

Дмитриј: У Русији, од компанија које послују на нашем тржишту, нико није ни близу. Наравно, ово је гласна изјава, јер постоје велики играчи попут Маил-а и Иандек-а – они такође раде нешто са Кубернетес-ом, али ни они се не приближавају доприносу компанија у целом свету које раде много више од нас. Тешко је упоредити Флант, који има особље од 80 људи, и Ред Хат, који има 300 инжењера само по Кубернетесу, ако се не варам. Тешко је упоредити. Имамо 6 људи у РнД одељењу, укључујући и мене, који секу сав наш алат. 6 људи наспрам 300 Ред Хат инжењера - то је некако тешко упоредити.

– Међутим, када и ових 6 људи могу да ураде нешто заиста корисно и отуђујуће, када се суоче са практичним проблемом и дају решење заједници – занимљив случај. Разумем да се у великим технолошким компанијама, где имају сопствени тим за развој и подршку Кубернетеса, у принципу могу развити исти алати. Ово је за њих пример шта се може развити и дати заједници, дајући подстицај целој заједници која користи Кубернетес.

Дмитриј: Ово је вероватно карактеристика интегратора, његова особеност. Имамо много пројеката и видимо много различитих ситуација. За нас је главни начин стварања додатне вредности да анализирамо ове случајеве, пронађемо заједничко и учинимо их што јефтинијим за нас. Активно радимо на томе. Тешко ми је да причам о Русији и свету, али имамо око 40 ДевОпс инжењера у компанији који раде на Кубернетесу. Мислим да у Русији нема много компанија са упоредивим бројем стручњака који разумеју Кубернетес, ако их уопште има.

Разумем све о називу посла ДевОпс инжењер, сви све разумеју и навикли су да називају ДевОпс инжењере ДевОпс инжењерима, о томе нећемо расправљати. Свих ових 40 невероватних ДевОпс инжењера свакодневно се суочавају и решавају проблеме, ми само анализирамо ово искуство и покушавамо да генерализујемо. Разумемо да ако остане у нама, онда ће за годину или две алат бити бескорисан, јер ће се негде у заједници појавити готова Тула. Нема смисла интерно акумулирати ово искуство - то једноставно одводи енергију и време у дев/нулл. И уопште нам није жао због тога. Све објављујемо са великим задовољством и разумемо да то треба објављивати, развијати, промовисати, промовисати, да људи то искористе и додају своје искуство – онда све расте и живи. Онда после две године инструмент не иде у ђубре. Није штета наставити да сипате снагу, јер је јасно да неко користи ваш алат, а после две године сви га користе.

Ово је део наше велике стратегије са дапп/верф-ом. Не сећам се када смо почели да га правимо, чини ми се пре 3 године. У почетку је углавном био на љусци. Био је то супер доказ концепта, решили смо неке од наших конкретних проблема - успело је! Али постоје проблеми са љуском, немогуће је даље проширити, програмирање на љусци је други задатак. Имали смо навику да пишемо у Руби-у, сходно томе, преправљали смо нешто у Руби-у, развијали, развијали, развијали и налетели на то да заједница, гомила која не каже „хоћемо то или нећемо, ” окреће нос према Руби, Како ово није смешно? Схватили смо да све ове ствари треба да напишемо у Го само да бисмо испунили прву тачку на контролној листи: ДевОпс алат треба да буде статичан бинарни фајл. Бити Го или не није толико важно, али статичка бинарна датотека написана у Го је боља.

Потрошили смо енергију, преписали дапп у Го и назвали га верф. Дапп више није подржан, није развијен, ради у некој најновијој верзији, али постоји апсолутни пут за надоградњу до врха и можете га пратити.

Зашто је дапп креиран?

— Можете ли нам укратко рећи зашто је дапп креиран, које проблеме решава?

Дмитриј: Први разлог је у скупштини. У почетку смо имали озбиљних проблема са градњом када Доцкер није имао вишестепене могућности, па смо сами направили вишестепене. Онда смо имали још гомилу проблема са чишћењем слике. Свако ко ради ЦИ/ЦД, пре него касније, суочи се са проблемом да постоји гомила сакупљених слика, треба некако да очистите оно што није потребно и оставите оно што је потребно.

Други разлог је распоређивање. Да, постоји Хелм, али он решава само неке проблеме. Забавно, пише да је „Хелм менаџер пакета за Кубернетес“. Тачно оно „оно“. Ту су и речи „Менаџер пакета“ – шта се уобичајено очекује од менаџера пакета? Кажемо: „Управљач пакетима - инсталирајте пакет!“ и очекујемо да нам каже: „Пакет је испоручен.

Занимљиво је да ми кажемо: „Управљај, инсталирај пакет“, а када он одговори да га је инсталирао, испоставило се да је управо започео инсталацију – назначио је Кубернетес: „Покрени ову ствар!“, и да ли је почела или не , било да ради или не, Хелм уопште не решава ово питање.

Испоставило се да је Хелм само текстуални претпроцесор који учитава податке у Кубернетес.

Али као део сваке имплементације, желимо да знамо да ли је апликација пуштена за производњу или не? Уведено у прод значи да је апликација премештена тамо, нова верзија је распоређена и да се барем тамо не руши и да правилно реагује. Хелм ни на који начин не решава овај проблем. Да бисте то решили, потребно је да уложите много труда, јер морате да дате Кубернетесу команду да се покрене и надгледа шта се тамо дешава – да ли је распоређен или уведен. А ту је и пуно задатака везаних за распоређивање, чишћење и монтажу.

Планови

Ове године почињемо локални развој. Желимо да постигнемо оно што је раније било у Вагранту - откуцали смо „вагрант уп“ и поставили виртуелне машине. Желимо да дођемо до тачке у којој постоји пројекат у Гиту, тамо напишемо „верф“ и појавиће се локална копија овог пројекта, постављена у локални мини-Куб, са повезаним свим директоријумима погодним за развој . У зависности од развојног језика, ово се ради другачије, али ипак, тако да се локални развој може лако спровести под монтираним датотекама.

Следећи корак за нас је инвестирајте у погодности за програмере. Да бисте брзо применили пројекат локално помоћу једног алата, развијте га, гурните га у Гит, а он ће такође бити покренут на сцену или тестове, у зависности од цевовода, а затим користити исти алат за прелазак у производњу. Ово јединство, унификација, поновљивост инфраструктуре од локалног окружења до продаје је за нас веома важна тачка. Али ово још није у реду - тек планирамо да то урадимо.

Али пут до дапп/верф-а је увек био исти као код Кубернетеса на почетку. Наишли смо на проблеме, решили их заобилазним решењима - смислили смо нека решења за себе на љусци, на било чему. Затим су покушали да некако исправе ова заобилазна решења, генерализују их и консолидују у бинарне датотеке у овом случају, које једноставно делимо.

Постоји још један начин да се погледа цела ова прича, са аналогијама.

Кубернетес је оквир аутомобила са мотором. Нема врата, стакла, радија, јелке – баш ништа. Само оквир и мотор. А ту је и Хелм - ово је волан. Цоол - постоји волан, али вам је потребан и пин, летва волана, мењач и точкови, а не можете без њих.

У случају верф-а, ово је још једна компонента Кубернетеса. Тек сада у алфа верзији верф-а, на пример, Хелм се компајлира унутар верфа, јер смо уморни да то сами радимо. Постоји много разлога да то урадите, рећи ћу вам детаљно зашто смо саставили цело кормило заједно са кормилом унутар верфа на извештају на РИТ++.

Сада је верф интегрисанија компонента. Добијамо готов волан, иглу за управљање - нисам баш добар у аутомобилима, али ово је велики блок који већ решава прилично широк спектар проблема. Не морамо сами да пролазимо кроз каталог, бирамо један део за други, размишљамо како да их спојимо. Добијамо готов комбајн који решава велики број проблема одједном. Али унутра је направљен од истих компоненти отвореног кода, и даље користи Доцкер за склапање, Хелм за неке од функционалности, а постоји и неколико других библиотека. Ово је интегрисана алатка за брзо и практично вађење хладног ЦИ/ЦД-а из кутије.

Да ли је Кубернетес тешко одржавати?

— Говорите о искуству да сте почели да користите Кубернетес, ово је оквир за вас, мотор, и да на њега можете да окачите много различитих ствари: каросерију, волан, шрафове на педале, седишта. Поставља се питање – колико вам је тешка подршка за Кубернетес? Имате пуно искуства, колико времена и ресурса трошите на подршку Кубернетесу изоловано од свега осталог?

Дмитриј: Ово је веома тешко питање и за одговор морамо да разумемо шта је подршка и шта желимо од Кубернетеса. Можда можете открити?

— Колико ја знам и колико видим, сада многи тимови желе да испробају Кубернетес. Свако се упрегне у то, стави на колена. Имам осећај да људи не разумеју увек сложеност овог система.

Дмитриј: Тако је то.

— Колико је тешко узети и инсталирати Кубернетес од нуле тако да буде спреман за производњу?

Дмитриј: Шта мислите колико је тешко пресадити срце? Разумем да је ово компромитујуће питање. Није тако тешко користити скалпел и не погрешити. Ако вам кажу где да сечете и где да шијете, онда сам поступак није компликован. Тешко је с времена на време гарантовати да ће све успети.

Лако је инсталирати Кубернетес и покренути га: цуро! — инсталиран, постоји много метода инсталације. Али шта се дешава када се појаве проблеми?

Увек се постављају питања – шта још нисмо узели у обзир? Шта још нисмо урадили? Који параметри Линук кернела су погрешно наведени? Господе, јесмо ли их уопште споменули?! Које смо Кубернетес компоненте испоручили, а које нисмо? Појављује се на хиљаде питања, а да бисте на њих одговорили, потребно је да проведете 15-20 година у овој индустрији.

Имам недавни пример на ову тему који може открити значење проблема „Да ли је Кубернетес тешко одржавати?“ Пре неког времена смо озбиљно размишљали да ли да покушамо да имплементирамо Цилиум као мрежу у Кубернетес.

Дозволите ми да објасним шта је Цилиум. Кубернетес има много различитих имплементација мрежног подсистема, а једна од њих је веома кул - Цилиум. Шта је његово значење? У кернелу је пре извесног времена постало могуће писати куке за језгро, које на овај или онај начин задиру у мрежни подсистем и разне друге подсистеме и омогућавају вам да заобиђете велике делове у кернелу.

Линук кернел историјски има ИП рут, оверфилтер, мостове и много различитих старих компоненти које су старе 15, 20, 30 година. Углавном, раде, све је супер, али сад су нагомилали контејнере, и изгледа као кула од 15 цигли једна на другој, а стојиш на њој на једној нози - чудан осећај. Овај систем се историјски развијао са много нијанси, попут слепог црева у телу. У неким ситуацијама постоје проблеми са перформансама, на пример.

Постоји диван БПФ и могућност писања кукица за кернел - момци су сами написали своје куке за кернел. Пакет долази у језгро Линукса, изваде га одмах на улазу, сами га обрађују како треба без мостова, без ТЦП-а, без ИП стека – укратко, заобилазећи све што је написано у Линукс кернелу, па пљују у контејнер.

Шта се десило? Веома кул перформансе, сјајне карактеристике - само кул! Али погледамо ово и видимо да на свакој машини постоји програм који се повезује са Кубернетес АПИ-јем и, на основу података које прима од овог АПИ-ја, генерише Ц код и компајлира бинарне датотеке које учитава у језгро тако да ове куке раде у простору кернела.

Шта се дешава ако нешто крене наопако? Не знамо. Да бисте ово разумели, морате прочитати цео овај код, разумети сву логику и невероватно је колико је то тешко. Али, с друге стране, ту су ови мостови, нет филтери, ип рут - нисам прочитао њихов изворни код, а нема ни 40 инжењера који раде у нашој компанији. Можда само неколицина разуме неке делове.

А која је разлика? Испоставило се да постоји ип рут, Линук кернел, а постоји и нови алат - каква је разлика, не разумемо ни једно ни друго. Али плашимо се да користимо нешто ново - зашто? Јер ако је алат стар 30 година, онда су за 30 година пронађене све грешке, све грешке су нагазиле и не морате да знате све - ради као црна кутија и увек ради. Сви знају који дијагностички шрафцигер да забоде на које место, који тцпдумп да покрене у ком тренутку. Сви добро познају дијагностичке услужне програме и разумеју како овај скуп компоненти функционише у језгру Линука – не како функционише, већ како се користи.

А невероватно кул Цилиум нема 30 година, још није остарио. Кубернетес има исти проблем, копија. Да је Цилиум савршено инсталиран, да је Кубернетес савршено инсталиран, али када нешто крене наопако у производњи, да ли сте у стању да брзо схватите у критичној ситуацији шта је пошло по злу?

Када кажемо да ли је тешко одржавати Кубернетес – не, веома је лако, и да, невероватно је тешко. Кубернетес одлично функционише сам по себи, али са милијарду нијанси.

О приступу „имаћу среће“.

— Постоје ли компаније у којима се ове нијансе готово гарантовано појављују? Претпоставимо да Иандек изненада пренесе све услуге у Кубернетес, тамо ће бити огромно оптерећење.

Дмитриј: Не, ово није разговор о оптерећењу, већ о најједноставнијим стварима. На пример, имамо Кубернетес, тамо смо поставили апликацију. Како знаш да ради? Једноставно не постоји готов алат који би разумео да се апликација не руши. Не постоји готов систем који шаље упозорења треба да конфигуришете ова упозорења и сваки распоред. А ми ажурирамо Кубернетес.

Имам Убунту 16.04. Можете рећи да је ово стара верзија, али ми смо још увек на њој јер је ЛТС. Постоји системд, чија је нијанса да не чисти Ц-групе. Кубернетес покреће подове, креира Ц-групе, затим брише подове и некако се испоставило - не сећам се детаља, извините - да системски делови остају. То доводи до чињенице да током времена сваки аутомобил почиње снажно да успорава. Ово чак није ни питање о високом оптерећењу. Ако се покрену трајни подови, на пример, ако постоји Црон Јоб који константно генерише подове, онда ће машина са Убунту 16.04 почети да успорава после недељу дана. Биће константно висок просек оптерећења због чињенице да је створена гомила Ц-група. Ово је проблем са којим ће се суочити свака особа која једноставно инсталира Убунту 16 и Кубернетес на врху.

Рецимо да некако ажурира системд или нешто друго, али у Линук кернелу до 4.16 је још смешније - када избришете Ц-групе, оне процуре у кернелу и заправо се не бришу. Због тога, након месец дана рада на овој машини, биће немогуће погледати статистику меморије за огњишта. Извадимо фајл, убацимо га у програм и један фајл се котрља 15 секунди, јер кернелу треба јако дуго да преброји милион Ц-група у себи, које изгледају као да су обрисане, али не – цуре .

Таквих ситница има ту и тамо још доста. Ово није проблем са којим се гигантске компаније понекад могу суочити под веома великим оптерећењима – не, то је ствар свакодневних ствари. Људи могу да живе овако месецима - инсталирали су Кубернетес, применили апликацију - изгледа да ради. За многе људе ово је нормално. Неће ни знати да ће се ова апликација из неког разлога срушити, неће добити упозорење, али за њих је то норма. Раније смо живели на виртуелним машинама без надгледања, сада смо прешли на Кубернетес, такође без надгледања - у чему је разлика?

Питање је да када ходамо по леду, никада не знамо његову дебљину осим ако је унапред не измеримо. Многи људи ходају и не брину, јер су ходали и раније.

Са моје тачке гледишта, нијанса и сложеност рада било ког система је у томе да се обезбеди да је дебљина леда тачно довољна да реши наше проблеме. То је оно о чему причамо.

У ИТ-у, чини ми се, има превише приступа „имаћу среће“. Многи људи инсталирају софтвер и користе софтверске библиотеке у нади да ће им се посрећити. Генерално, многи људи имају среће. Вероватно зато и функционише.

— По мојој песимистичкој процени, то изгледа овако: када су ризици велики, а апликација мора да ради, онда је потребна подршка Флаунт-а, можда Ред Хата, или вам је потребан сопствени интерни тим посвећен Кубернетес-у, који је спреман да га извучем.

Дмитриј: Објективно, то је тако. Улазак у причу о Кубернетес-у за мали тим укључује бројне ризике.

Да ли су нам потребни контејнери?

— Можете ли нам рећи колико је Кубернетес распрострањен у Русији?

Дмитриј: Немам ове податке и нисам сигуран да их неко други има. Кажемо: „Кубернетес, Кубернетес“, али постоји и други начин да се ово питање посматра. Такође не знам колико су контејнери распрострањени, али знам податак из извештаја на Интернету да 70% контејнера оркестрира Кубернетес. Био је то поуздан извор за прилично велики узорак широм света.

Затим друго питање - да ли су нам потребни контејнери? Мој лични осећај и укупна позиција компаније Флант је да је Кубернетес де фацто стандард.

Неће бити ништа осим Кубернетеса.

Ово је апсолутна промена игре у области управљања инфраструктуром. Само апсолутно - то је то, нема више Ансибле-а, Цхеф-а, виртуелних машина, Терраформ-а. Не говорим о старим колективним методама. Кубернетес је апсолутни мењач, а сада ће бити само овако.

Јасно је да је некима потребно пар година, а другима пар деценија да то схвате. Не сумњам да неће бити ништа осим Кубернетеса и овог новог изгледа: више не оштећујемо оперативни систем, већ користимо инфраструктура као код, само не кодом, већ са имл - декларативно описаном инфраструктуром. Имам осећај да ће увек бити тако.

— То јест, оне компаније које још нису прешле на Кубернетес ће сигурно прећи на њега или ће остати у забораву. Да ли сам те добро разумео?

Дмитриј: Ово такође није сасвим тачно. На пример, ако имамо задатак да покренемо ДНС сервер, онда он може да се покреће на ФрееБСД 4.10 и може савршено да ради 20 година. Само ради и то је то. Можда ће за 20 година нешто морати једном да се ажурира. Ако говоримо о софтверу у формату који смо лансирали и он заправо ради дуги низ година без икаквих ажурирања, без измена, онда, наравно, неће бити Кубернетеса. Он тамо није потребан.

Све у вези са ЦИ/ЦД – где год је потребна континуирана испорука, где треба да ажурирате верзије, правите активне измене, где год треба да изградите толеранцију грешака – само Кубернетес.

О микросервисима

- Овде имам малу дисонантност. Да бисте радили са Кубернетес-ом, потребна вам је спољна или интерна подршка - ово је прва тачка. Друго, када тек почињемо развој, ми смо мали стартап, још немамо ништа, развој за Кубернетес или микросервисну архитектуру уопште може бити сложен и не увек економски оправдан. Занима ме ваше мишљење - да ли стартапови морају одмах да почну да пишу за Кубернетес од нуле, или могу и даље да напишу монолит, а онда само дођу у Кубернетес?

Дмитриј: Кул питање. Говорим о микроуслугама „Микроуслуге: величина је важна.“ Много пута сам срео људе који покушавају да закуцају ексере микроскопом. Сам приступ је исправан и ми сами дизајнирамо наш интерни софтвер на овај начин. Али када то радите, морате јасно да разумете шта радите. Реч коју највише мрзим код микроуслуга је „микро“. Историјски, ова реч је настала тамо, и из неког разлога људи мисле да је микро веома мали, мањи од милиметра, као микрометар. Ово није у реду.

На пример, постоји монолит који пише 300 људи, и сви који су учествовали у развоју разумеју да ту има проблема и треба га разбити на микро-делове - око 10 комада, од којих сваки пише 30 људи. у минималној верзији. Ово је важно, неопходно и хладно. Али када нам дође стартап, где су 3 веома кул и талентована момка написала 60 микросервиса на коленима, сваки пут када тражим Цорвалол.

Чини ми се да је о томе већ било речи хиљадама пута – добили смо распоређени монолит у овом или оном облику. То није економски оправдано, веома је тешко генерално у свему. Управо сам ово видео толико пута да ме стварно боли, па настављам да причам о томе.

На почетно питање, постоји сукоб између чињенице да је, с једне стране, Кубернетес застрашујући за коришћење, јер није јасно шта се ту може покварити или не ради, са друге стране, јасно је да све иде тамо и ништа осим Кубернетеса неће постојати. Одговор - измерите количину користи која долази, количину задатака које можете да решите. Ово је на једној страни ваге. С друге стране, постоје ризици повезани са прекидом рада или смањењем времена одговора, нивоом доступности - са смањењем индикатора учинка.

Ево га – или се крећемо брзо, а Кубернетес нам омогућава да многе ствари радимо много брже и боље, или користимо поуздана, временски тестирана решења, али се крећемо много спорије. Ово је избор сваке компаније. О томе можете размишљати као о стази у џунгли – када први пут ходате, можете срести змију, тигра или побеснелог јазавца, а када прођете 10 пута, прегазили сте стазу, уклоњени гране и ходају лакше. Сваки пут пут постаје све шири. Затим је то асфалтни пут, а касније прелеп булевар.

Кубернетес не стоји мирно. Поново питање: Кубернетес је, с једне стране, 4-5 бинарних датотека, с друге стране, то је цео екосистем. Ово је оперативни систем који имамо на нашим машинама. Шта је ово? Убунту или Цуриос? Ово је Линук кернел, гомила додатних компоненти. Све ово овде, једна змија отровница је избачена са пута, ту је подигнута ограда. Кубернетес се развија веома брзо и динамично, а обим ризика, обим непознатог се сваког месеца смањује и, сходно томе, ове ваге се поново балансирају.

Одговарајући на питање шта стартап треба да уради, рекао бих - дођите у Флаунт, платите 150 хиљада рубаља и добијте ДевОпс лаку услугу по принципу „кључ у руке“. Ако сте мали стартуп са неколико програмера, ово функционише. Уместо да ангажујете сопствене ДевОпс, који ће морати да науче како да решавају ваше проблеме и да плаћају плату у овом тренутку, добићете решење по принципу „кључ у руке“ за сва питања. Да, постоје неки недостаци. Ми, као аутсорсер, не можемо бити толико укључени и брзо реаговати на промене. Али имамо много стручности и готових пракси. Гарантујемо да ћемо у свакој ситуацији сигурно брзо схватити и подићи било који Кубернетес из мртвих.

Топло препоручујем оутсоурцинг стартапима и основаним предузећима до величине у којој можете да посветите тим од 10 људи за операције, јер иначе нема смисла. Дефинитивно има смисла да се ово препусти.

О Амазону и Гуглу

— Може ли се хост из решења из Амазона или Гоогле-а сматрати спољним извођачем?

Дмитриј: Да, наравно, ово решава бројна питања. Али опет постоје нијансе. Још увек морате да разумете како да га користите. На пример, постоји хиљаду ситница у раду Амазон АВС-а: потребно је загрејати Лоад Баланцер или унапред написати захтев „момци, примићемо саобраћај, загрејте Лоад Баланцер за нас!“ Морате знати ове нијансе.

Када се обратите људима који су специјализовани за ово, готово све типичне ствари се затварају. Сада имамо 40 инжењера, до краја године ће их вероватно бити 60 - са свим тим стварима смо се дефинитивно сусрели. Чак и ако на неком пројекту поново наиђемо на овај проблем, брзо се питамо и знамо како да га решимо.

Вероватно је одговор - наравно, хостована прича олакшава неки део. Питање је да ли сте спремни да верујете овим хостерима и да ли ће они решити ваше проблеме. Амазон и Гоогле су добро прошли. За све наше случајеве – тачно. Немамо више позитивних искустава. Сви остали облаци са којима смо покушали да радимо стварају много проблема - Агер, и све што је у Русији, и све врсте ОпенСтацк-а у различитим имплементацијама: Хеадстер, Овераге - шта год желите. Сви они стварају проблеме које не желите да решите.

Дакле, одговор је да, али, у ствари, нема много зрелих хостованих решења.

Коме треба Кубернетес?

— Па ипак, коме треба Кубернетес? Ко би већ требало да пређе на Кубернетес, ко је типичан Флаунт клијент који долази посебно за Кубернетес?

Дмитриј: Ово је занимљиво питање, јер управо сада, након Кубернетеса, многи људи нам долазе: „Момци, знамо да радите Кубернетес, урадите то за нас!“ Одговарамо им: „Господо, ми не радимо Кубернетес, ми радимо прод и све што је с тим повезано.“ Јер тренутно је једноставно немогуће направити производ а да не урадите сав ЦИ/ЦД и целу ову причу. Сви су се удаљили од поделе да имамо развој по развој, па експлоатацију по експлоатацију.

Наши клијенти очекују различите ствари, али сви чекају неко добро чудо да имају одређене проблеме, а сада - хоп! — Кубернетес ће их решити. Људи верују у чуда. У мислима схватају да неће бити чуда, али у души се надају – шта ако ће нам овај Кубернетес све решити, толико причају о томе! Одједном он сада - кија! - и сребрни метак, кихни! — и имамо 100% продужење рада, сви програмери могу да пусте све што уђе у производњу 50 пута и да се не руши. Уопште, чудо!

Када такви људи дођу код нас, ми кажемо: „Извините, али не постоји чудо“. Да бисте били здрави, морате добро јести и вежбати. Да бисте имали поуздан производ, потребно га је поуздано направити. Да бисте имали згодан ЦИ/ЦД, морате га направити овако. То је много посла који треба да се уради.

Одговарајући на питање коме треба Кубернетес - никоме не треба Кубернетес.

Неки људи имају погрешно мишљење да им је потребан Кубернетес. Људима је потребна, имају дубоку потребу да престану да размишљају, уче и да се интересују за све проблеме инфраструктуре и проблеме покретања својих апликација. Они желе да апликације само раде и само се примењују. За њих је Кубернетес нада да ће престати да слушају причу да смо „лежали тамо“, или „не можемо да се извучемо“, или нешто друго.

Код нас обично долази технички директор. Питају га две ствари: с једне стране, дај нам карактеристике, с друге стране, стабилност. Предлажемо да то преузмете на себе и урадите. Сребрни метак, тачније посребрени, је да ћете престати да размишљате о овим проблемима и губите време. Имаћете посебне људе који ће затворити ово питање.

Формулација да нама или било коме другом треба Кубернетес је нетачна.

Администраторима је заиста потребан Кубернетес, јер је то веома интересантна играчка са којом се можете играти и поправљати. Будимо искрени - сви воле играчке. Сви смо негде деца, а кад видимо нову, пожелимо да је играмо. Некима је то обесхрабрено, на пример, у администрацији, јер су већ довољно играли и већ су уморни до те мере да једноставно не желе. Али ово никоме није потпуно изгубљено. На пример, ако сам одавно уморан од играчака из области системске администрације и ДевОпс-а, ​​онда још увек волим играчке, и даље купујем неке нове. Сви људи, на овај или онај начин, и даље желе неку врсту играчака.

Нема потребе да се играте са производњом. Шта год категорички препоручујем да се не ради и шта сада масовно видим: „Ох, нова играчка!“ — отрчали су да га купе, купили и: „Хајде да га сада однесемо у школу и да га покажемо свим пријатељима. Не ради ово. Извињавам се, моја деца тек одрастају, стално нешто видим код деце, примећујем то код себе, а онда генерализујем на друге.

Коначни одговор је: не треба вам Кубернетес. Морате да решите своје проблеме.

Оно што можете постићи је:

  • прод не пада;
  • чак и ако покуша да падне, ми за то знамо унапред, и можемо нешто да ставимо у то;
  • можемо да га променимо брзином којом наше пословање то захтева, и можемо то да урадимо на једноставан начин;

Постоје две стварне потребе: поузданост и динамичност/флексибилност увођења. Свако ко се тренутно бави некаквим ИТ пројектима, ма у каквом послу - меком за олакшање света, и који се у то разуме, треба да решава ове потребе. Кубернетес са правим приступом, са правим разумевањем и са довољно искуства вам омогућава да их решите.

О без сервера

— Ако погледате мало даље у будућност, онда покушавајући да решите проблем одсуства главобоље инфраструктуром, брзином увођења и брзином промене апликација, појављују се нова решења, на пример, без сервера. Да ли осећате потенцијал у овом правцу и, рецимо, опасност за Кубернетес и слична решења?

Дмитриј: Овде треба опет да ставимо примедбу да ја нисам видовњак који гледа напред и каже – биће овако! Иако сам управо урадио исту ствар. Гледам у своја стопала и видим ту гомилу проблема, на пример, како транзистори раде у компјутеру. Смешно је, зар не? Наилазимо на неке грешке у ЦПУ-у.

Учините без сервера прилично поузданим, јефтиним, ефикасним и практичним, решавајући све проблеме екосистема. Овде се слажем са Елоном Маском да је потребна друга планета да би се створила толеранција на грешке за човечанство. Иако не знам шта говори, разумем да нисам спреман да лично одлетим на Марс и да се то неће догодити сутра.

Са сервером без сервера је јасно да је то идеолошки исправна ствар, као што је толеранција грешака за човечанство - имати две планете је боље него једну. Али како то сада учинити? Слање једне експедиције није проблем ако се концентришете на то. Послати неколико експедиција и тамо населити неколико хиљада људи, мислим, такође је реално. Али учинити га потпуно отпорним на грешке тако да тамо живи половина човечанства, чини ми се сада немогуће, не узимајући у обзир.

Са један на један без сервера: ствар је кул, али је далеко од проблема 2019. Ближе 2030. - доживимо да то видимо. Не сумњам да ћемо живети, сигурно ћемо живети (поновити пре спавања), али сада треба да решавамо друге проблеме. То је као да верујете у понија из бајке Раинбов. Да, пар посто случајева је решено, и решено је савршено, али субјективно, без сервера је дуга... За мене је ова тема превише далека и превише неразумљива. Нисам спреман да причам. У 2019. не можете написати ниједну апликацију без сервера.

Како ће се Кубернетес развијати

— Како се крећемо ка овој потенцијално дивној далекој будућности, како мислите да ће се развијати Кубернетес и екосистем око њега?

Дмитриј: Много сам размишљао о овоме и имам јасан одговор. Први је без држављанства - на крају крајева, лакше је урадити апатриди. Кубернетес је у почетку више улагао у ово, све је почело с тим. Стателесс ради скоро савршено у Кубернетесу, једноставно нема на шта да се жалите. Још увек има пуно проблема, тачније, нијанси. Све тамо већ нам добро функционише, али то смо ми. Биће потребно још најмање неколико година да ово функционише за све. Ово није прорачунати показатељ, већ мој осећај из моје главе.

Укратко, статефулл би требало да се развија веома снажно, јер све наше апликације чувају статус без држављанства. Ово је илузија, увек вам је потребна нека врста базе података и нешто друго. Статефулл се односи на исправљање свега што је могуће, исправљање свих грешака, побољшање свих проблема са којима се тренутно суочавају - назовимо то усвајањем.

Ниво непознатог, ниво нерешених проблема, ниво вероватноће да се нешто сретне значајно ће пасти. Ово је важна прича. И оператери – све што се односи на кодификацију административне логике, контролну логику да бисмо добили лаку услугу: МиСКЛ лака услуга, РаббитМК лака услуга, Мемцацхе лака услуга – генерално, све ове компоненте за које морамо гарантовано радити кутија. Ово само решава бол што желимо базу података, али не желимо да је администрирамо, или желимо Кубернетес, али не желимо да је администрирамо.

Ова прича о развоју оператера у овом или оном облику биће важна у наредних неколико година.

Мислим да би лакоћа коришћења требало да се знатно повећа - кутија ће постајати све црнија, све поузданија, са све једноставнијим дугмадима.

Једном сам слушао стари интервју са Исаком Асимовим из 80-их на Јутјубу у суботу увече уживо - програм попут Урганта, само занимљив. Питали су га о будућности компјутера. Рекао је да је будућност у једноставности, баш као и радио. Радио пријемник је првобитно био сложена ствар. Да бисте ухватили талас, морали сте да окрећете дугмад 15 минута, окрећете ражњиће и генерално знате како све функционише, разумети физику преноса радио таласа. Као резултат тога, у радију је остало само једно дугме.

Сада у 2019. који радио? У колима, радио пријемник проналази све таласе и називе станица. Физика процеса се није променила за 100 година, али је једноставност употребе. Сада, и не само сада, већ 1980. године, када је био интервју са Азимовим, сви су користили радио и нико није размишљао о томе како он функционише. Увек је функционисало - то је дато.

Азимов је тада рекао да ће тако бити и са компјутерима - лакоћа употребе ће се повећати. Док сте 1980. морали бити обучени да притискате дугмад на рачунару, у будућности то неће бити случај.

Имам осећај да ће са Кубернетес-ом и инфраструктуром такође доћи до огромног повећања лакоће коришћења. Ово је, по мом мишљењу, очигледно - лежи на површини.

Шта радити са инжењерима?

— Шта ће се онда десити са инжењерима и систем администраторима који подржавају Кубернетес?

Дмитриј: Шта се догодило са рачуновођом након појаве 1Ц? Отприлике исто. Пре овога су рачунали на папиру - сада у програму. Продуктивност рада је порасла за редове величине, али сам рад није нестао. Ако је раније требало 10 инжењера да заврну сијалицу, сада ће једна бити довољна.

Количина софтвера и број задатака, чини ми се, сада расте брже него што се појављују нови ДевОпс и повећава се ефикасност. Тренутно постоји специфичан недостатак на тржишту и то ће трајати дуго. Касније ће се све вратити у неку врсту нормалности, у којој ће се повећати ефикасност рада, биће све више сервера без сервера, за Кубернетес ће бити прикључен неурон који ће бирати све ресурсе тачно по потреби и уопште ће уради све сам, како треба - особа се само одмакне и не мешај се.

Али неко ће ипак морати да доноси одлуке. Јасно је да је ниво квалификација и специјализације ове особе виши. Данас у рачуноводству не треба 10 запослених који воде књиге да им се руке не заморе. То једноставно није неопходно. Многи документи се аутоматски скенирају и препознају од стране електронског система за управљање документима. Довољан је један паметан главни рачуновођа, већ са много већим вештинама, са добрим разумевањем.

Уопштено говорећи, то је начин на који треба ићи у свим индустријама. Исто је и са аутомобилима: раније су кола долазила са механичаром и три возача. Данас је вожња аутомобила једноставан процес у коме сви учествујемо свакодневно. Нико не мисли да је аутомобил нешто компликовано.

ДевОпс или системски инжењеринг неће нестати - рад на високом нивоу и ефикасност ће се повећати.

— Чуо сам и једну занимљиву идеју да ће се посао заправо повећати.

Дмитриј: Наравно, сто посто! Зато што количина софтвера који пишемо стално расте. Број проблема које решавамо софтвером стално расте. Количина посла расте. Сада је ДевОпс тржиште ужасно прегрејано. То се види у очекивањима плата. На добар начин, не улазећи у детаље, требало би да постоје јуниори који желе Кс, средњи који желе 1,5Кс и сениори који желе 2Кс. А сада, ако погледате московско ДевОпс тржиште плата, јуниор жели од Кс до 3Кс, а старији жели од Кс до 3Кс.

Нико не зна колико кошта. Висина плата се мери вашим самопоуздањем - потпуна лудница, да будем искрен, ужасно прегрејано тржиште.

Наравно, ова ситуација ће се врло брзо променити - требало би да дође до неког засићења. То није случај са развојем софтвера – упркос чињеници да су програмери свима потребни, а добри програмери свима, тржиште разуме ко шта вреди – индустрија се смирила. То није случај са ДевОпс-ом ових дана.

— Из онога што сам чуо, закључио сам да садашњи администратор система не треба превише да брине, али време је да унапреди своје вештине и припреми се за то да ће сутра бити више посла, али ће бити више квалификован.

Дмитриј: Сто посто. Генерално, живимо у 2019. години и животно правило је следеће: доживотно учење – учимо током целог живота. Чини ми се да то сада већ сви знају и осећају, али није довољно знати - то морате учинити. Сваки дан морамо да се мењамо. Ако то не урадимо, пре или касније ћемо бити бачени на маргину професије.

Будите спремни за оштре окрете од 180 степени. Не искључујем ситуацију да се нешто радикално промени, нешто ново се измисли - дешава се. Хоп! - и сада се понашамо другачије. Важно је бити спреман за ово и не бринути. Може се десити да сутра све што радим испадне непотребно – ништа, учио сам цео живот и спреман сам да научим нешто друго. То није проблем. Нема потребе да се плашите сигурности посла, али морате бити спремни да стално учите нешто ново.

Жеље и минут рекламе

- Имате ли неку жељу?

Дмитриј: Да, имам неколико жеља.

Први и меркантилни - претплатите се на ИоуТубе. Драги читаоци, идите на Јутјуб и претплатите се на наш канал. За отприлике месец дана почећемо активно ширење на видео сервису. Имаћемо много образовног садржаја о Кубернетесу, отвореног и разноликог: од практичних ствари, све до лабораторија, до темељних теоријских ствари и начина на који се Кубернете користи. ниво принципа и образаца.

Друга меркантилна жеља - иди на ГитХуб и стављамо звезде јер се њима хранимо. Ако нам не дате звездице, нећемо имати шта да једемо. То је као мана у компјутерској игрици. Радимо нешто, радимо, трудимо се, неко каже да су то страшни бицикли, неко да је све потпуно погрешно, али настављамо и понашамо се апсолутно поштено. Видимо проблем, решавамо га и делимо своје искуство. Зато, дај нам звезду, она неће отићи од тебе, али ће доћи нама, јер се ми хранимо њима.

Трећа, важна и више не меркантилна жеља - престани да верујеш у бајке. Ви сте професионалци. ДевОпс је веома озбиљна и одговорна професија. Престаните да се играте на радном месту. Нека кликне уместо вас и разумећете. Замислите да дођете у болницу, а тамо доктор експериментише на вама. Разумем да ово може бити увредљиво за некога, али, највероватније, не ради се о вама, већ о неком другом. Реци и другима да престану. Ово заиста уништава живот за све нас - многи почињу да третирају операције, администраторе и ДевОпс као типове који су поново нешто покварили. Ово се „кварило“ најчешће због тога што смо ишли да се играмо, а нисмо хладном свешћу гледали шта је овде и шта је овде.

То не значи да не треба да експериментишете. Морамо да експериментишемо, сами то радимо. Да будем искрен, и сами понекад играмо игрице - ово је, наравно, веома лоше, али ништа људско није нам страно. Прогласимо 2019. годином озбиљних, добро осмишљених експеримената, а не игара на продукцији. Вероватно је тако.

- Много вам хвала!

Дмитриј: Хвала, Виталиј, и на времену и на интервјуу. Драги читаоци, хвала вам пуно ако сте изненада дошли до ове тачке. Надам се да смо вам донели бар пар мисли.

У интервјуу, Дмитриј се дотакао питања верфа. Сада је ово универзални швајцарски нож који решава скоро све проблеме. Али није увек било тако. на ДевОпсЦонф  на фестивалу РИТ++ Дмитриј Стољаров ће вам детаљно рећи о овом алату. у извештају "верф је наш алат за ЦИ/ЦД у Кубернетесу" биће свега: проблема и скривених нијанси Кубернетеса, опција за решавање ових потешкоћа и тренутне имплементације верф-а до детаља. Придружите нам се 27. и 28. маја, креираћемо савршене алате.

Извор: ввв.хабр.цом

Додај коментар