Kubernetes – новият Linux ли е? Интервю с Павел Селиванов

Възпроизведи видео

Разшифровка:
Азат Хадиев: Здравейте. Казвам се Азат Хадиев. Аз съм разработчик на PaaS направленията на Mail.ru Cloud Solutions. С мен тук е Павел Селиванов от компания Southbridge. Намираме се на конференцията DevOpsDays. Той ще изнесе доклад за това как с Kubernetes може да се изградят DevOps практики, но най-вероятно вие няма да успеете. Защо такава мрачна тема?

Павел Селиванов: Всъщност не е мрачна. Тя е за това, че много от проблемите в нашето общество се опитваме да решим с помощта на технологии. И ние опитваме да решим тези проблеми много едностранчиво. Kubernetes е нещо, за което отговарят, бих казал, Ops. Но имаме прекрасно понятие DevOps инженер. Именно DevOps инженер отговаря за Kubernetes. В същото време… Вие направете Kubernetes, а разработчиците изобщо не са наясно с всички тези решения, не знаят какво позволява той да направи – и за тях всичко продължава да съществува по същия начин. И това е, въпреки че Kubernetes съдържа готови решения и инструменти, с които да разширим DevOps подхода, комуникацията между Dev и Ops. Използваме много малко тази възможност. Поради това, че дори настоящите структури прехвърляме на всички тези инструменти DevOps – Docker, Kubernetes, облаци и така нататък – ние допълнително влошаваме ситуацията. И инструментите започват да се използват не така, както са замислени. И около всички тези технологии се изграждат просто ужасни костюли.

Азат Хадиев: Разбирам. Чувства се, че темата е обширна. Как смяташ, каква е най-разпространената проблема у компаниите в момента? С Kubernetes.

Павел Селиванов: Най-разпространената проблема с Kubernetes е отсъствието на компетенции. В IT това е разпространен проблем. Винаги липсват специалисти. Винаги липсват компетенции. А в момента, с Kubernetes, те са още по-малко. А готовите решения на пазара, които биха могли да предоставят Kubernetes, без необходимите компетенции, са откровено малко. А тези, които съществуват, предизвикват различни въпроси. Постоянно търсим хора, които разбират от Kubernetes. Опитваме се да разширим разработката за това.

Азат Хадиев: А като се има предвид текущият недостиг на кадри в IT. Който винаги е съществувал. И сега съществува. Как мислиш, как да се живее в тези условия? Какви има лайфхаци?

Павел Селиванов: Лайфхаци. Първо, от гледна точка на облаците лайфхакът изглежда така — а давайте да ни предадете част от вашите компетенции. И ние ще ги вземем при нас. И ще се занимаваме с това вътрешно. И всичко е добре. С изключение на това, че е важно да се разбере от тези, които го използват... Всъщност е прекрасен момент... Но е важно да се знае, че предавайки част от своите компетенции на облака или доставчика, ние в отговор получаваме универсализирано решение. Грубо казано, имаме база данни, която изпълнява много специфични функции и е била много специфично конфигурирана. Предавайки тази база данни в облака, разбира се, можем да уволним администратора, който преди се е занимавал с клъстери на бази данни — същият Amazon или Google ще го направят вместо нас. Но същият Amazon или Google няма да ни позволят да конфигурираме базата данни си точно. Големите проекти, големите компании — в крайна сметка те в някакъв момент от живота си използват облачни решения, а след това несъмнено се връщат да вземат компетенциите обратно, защото се изисква по-специфично решение.

Азат Хадиев: Универсалните решения — лоши ли са или на тяхна база може да се построи повече?

Павел Селиванов: Не, универсалните решения — това определено не е лошо. Универсалните решения — това е добре. Просто универсалните решения… са универсални. Тук е важно да се разбере. Това е като да вземеш общ скрипт… Ако около този общ скрипт, общото приложение можеш да построиш цялата логика на работа на компанията — то това е чудесно. А ако логиката на работа е различна, но вземаш това универсално решение, универсалния скрипт — и започваш, както сова на глобус, да го натягаш, това е лошо. А в самия универсизъм няма нищо лошо.

Азат Хадиев: Ако вече имаш администратор, проблемът не е в уволнението му. Той просто ще може да прави повече.

Павел Селиванов: Да, да му вземеш рутината и да я предадеш на някой друг, за да я правят някъде другаде. Това безусловно е добър подход. Важен момент тук е дали стандартното решение е подходящо за конкретния случай.

Азат Хадиев: Със своя опит виждам, че много компании правят едно и също. Настройват Kubernetes клъстери и се замислят за мащабиране. Всички тези операции са много повтаряеми.

Павел Селиванов: Да, безусловно. Особено, ако говорим конкретно за Kubernetes, има един момент, че на пазара реално има малко дълбоки и добри познания по Kubernetes. Kubernetes е такъв гигантски конструктор, че ако го внедрите в компанията, бъдете готови да наемете и инженер, който да се занимава с него на пълен работен ден. И това е скъпо. И такъв инженер ще е трудно да се намери. Лично аз не съм особено привързан към облачните решения, защото разбирам как работи Kubernetes. Често в облака ми липсват определени функционалности, които искам — а ми казват „Не, не може“. В такъв случай, извинявайте, но аз мога да направя по-добре, отколкото облак. Но в същото време, ако нямате инженер на пълен работен ден и не искате да плащате за него, който да управлява Kubernetes и да експериментира с него, облакът е просто отлично решение. Поне там работят хлопци, които провайдерът вече е наел. И те разбират в това, което правят. И основните неща, от които се нуждаете ежедневно, там са налични.

Азат Хадиев: Как мислиш за текущото състояние на Kubernetes? Какво ще се случи с него след пет и след десет години?

Павел Селиванов: Добър въпрос. Просто знам какво се случва в общността ни по този въпрос. Някои хора вярват, че извън Kubernetes няма да остане нищо. Ситуацията, която отдавна се случи с Linux. Тоест извън Linux има хора, които живеят с BSD, и вероятно имат много специфични задачи. Има хора, които работят под Windows — windows-сървъри — вероятно те също имат специфични задачи или просто имат компетенции в това и не са готови да се откажат от това. Във всеки случай, стандартът в нашата сфера е Linux. Съществува мнение, че Kubernetes ще стане такъв стандарт де факто и извън Kubernetes няма да има нищо. Kubernetes ще управлява не само приложенията, техния разгръщане, деплой, мащабиране. Всичко ще бъде управлявано от него. Вече питат: "Може ли да вкараме база данни в Kubernetes?" Обикновено казвам, че тук въпросът не е в Kubernetes, а в Docker. Ако сте готови базата ви данни да работи в контейнери, тя ще работи. Отговарят ми: "Не, не, не, изчакайте. Не трябва в контейнери. Трябва в Kubernetes. Ние ще я свържем към нода. Тоест всичко ще бъде, както е сега, просто всичко ще бъде управлявано от Kubernetes." И всъщност това е добра идея. Тоест Kubernetes е нещо, при което можете да дойдете в компания, ако в компанията има Kubernetes и процесите са изградени на него, то на човек, който разбира от това — му е достатъчно да погледне за няколко дни, за да каже: "Готов съм да ви поддържам. Изцяло. Напълно. Разбрах как работи всичко при вас." За разлика от подходите без Kubernetes — тук са набутали един куп костилки, тук други костилки. Тук Ansible, тук Terraform. Някой е написал всичко това и е необходимо половин година, за да се разбере. Така че, ще стане ли Kubernetes стандарт де факто, не знам. На този етап изглежда много по-амбициозен и уверен от решенията около него.

Азат Хадиев: Ами, сравнението с Linux е доста смело. Той работи на една машина — и толкова. А Kubernetes работи на много машини. Веднага възникват милион вариации и причини. Да, това е смело. Просто трябва да се вземе предвид, че има конкуренти на тази парадигма. Например, Serverless. Kubernetes ли е в опасност пред такива конкуренти?

Павел Селиванов: От Serverless… (смех) Serverless — ние всъщност разбираме, че сървър все пак има. Наскоро чух доклад по този въпрос. Човекът каза, че сървъри все пак съществуват — а това е облак. Но винаги трябва да разбираме, че и в облака — има сървъри. Там стоят реални железни сървъри, рафтове, и те са инсталирани някъде. Това е облакът. Над това съществува Serverless, където сървъри «няма». Въпросът е дали Serverless ще победи Kubernetes? Смятам, че Serverless ще се премести в Kubernetes. За провайдерите, които предлагат Serverless, Kubernetes е много удобна платформа за предоставяне на тези услуги. Да, възможно е в някакъв момент да спрем да говорим за Kubernetes изобщо, като за обикновена разработка на бизнес приложения. Но някъде в дълбочината, у провайдерите и инженерите, Kubernetes ще стои, където всичко това ще бъде реализирано.

Азат Хадиев: Малко различна тема. Има такова понятие като fullstack-инженер. Какво мислиш за тях? Те изобщо съществуват ли?

Павел Селиванов: Ем… Fullstack-инженер… Ами, смятам, че трябва да разграничим тези неща… Знаеш, има такова нещо като T-shaped people. Нужни ли са такива хора в днешната индустрия? Да, определено. Нуждаем се от хора, които имат широк поглед, но това време те са специалисти в някаква тясна област. И тук Fullstack-инженерът е същия — човек, който прави всичко. Започвайки от разработката на фронтенд, тестване, бекенд, сървъри и всичко останало. Не вярвам, че в голяма компания един човек може да се грижи за всичко това, без да има тясна специализация по всеки от параметрите. Но само с тясна специализация, без да знае какво се случва около това — също не работи в съвременния свят. Тоест, бих казал… думата Fullstack бих я отхвърлил. Нуждаем се много от инженери. Нуждаем се от DevOps. Чувствам, че скоро ще преразгледаме този момент. И те няма да са нужни.

Азат Хадиев: Можеш ли да разкриваш?

Павел Селиванов: Сигурен съм, че в индустрията ще достигнем момент, в който ролите Dev и Ops ще отпаднат. Ако имаме нужда от специалисти и търсим... Нужен ни е разработчик от определен тип, нужни са ни администратори с определени умения, нужни са ни DevOps инженери — сега вече ги имаме, а скоро ще се появят и инженери за производство, SRE инженери. Но наистина това, от което имаме нужда, са инженери, които искаме да назначим. Предишният опит не е от особено значение. Защото… Например, SRE казва, че проблемите с инфраструктурата винаги са софтуерни. И какво… Нека набираме разработчици — така че, гледайки от перспективата, че разработчикът е инженер — да ги назначим в отдела за поддръжка и те ще решават тези проблеми по същия начин, по който решават бизнес проблеми, използвайки код и инженерия.

Азат Хадиев: И от тази гледна точка… Как да провеждаме интервюта с такива инженери?

Павел Селиванов: Ох, това е добър въпрос. Може би той вече е извън границите на това, което разбирам в този живот. Но просто ще дам един пример. Няма нищо общо с интервюто. Става дума за нашата образователна система в Русия. В IT знаем, че нашата образователна система в Русия е много остаряла за ИТ света, не е такава, каквато трябва да бъде. Говоря средно за необятна Русия — и какво се случва там. Завършват хора, които са абсолютно неподготвени да започнат работа утре, след като завършат, в уеб разработка, в технологична компания. И сякаш това е лошо. Обучаваме ги на странни неща, въпреки че сякаш трябва да им преподаваме как да разработват за Android, за iOS, как да ползват Git и всичките тези неща. Всъщност като че ли не. Институтът е такова време, когато родителите ти най-вече плащат. За целия ти живот. И можеш да посветиш пет години от живота си, за да учиш в дълбочина. И да изучаваш целия този T-shaped. Когато в института можеш да изучаваш какво е система за контрол на версиите, какви са различните модели на разработка, как да тестването, какви бази данни и балансировачи съществуват. А когато вече започнеш работа, започваш да се задълбочаваш в конкретна област. И по този начин получаваме инженери. И нашата образователна система в Русия е много по-близо до тази истина, отколкото ни се струва. Дават ни добра математическа подготовка, дават ни добра алгоритмична подготовка, дават ни някаква представа за програмните езици. А по отношение на интервюто ми се струва, че е нещо близко до това. Трябва да интервюираме инженери. Нужна ни е горната част на T от T-shaped. Защото вертикалната част на буква Т той ще придобие.

Азат Хадиев: Да, интересно. След университета ми се струваше пет години, че образованието ми беше странно и неадекватно. Но след това, по време на работата, когато задачите станаха по-дълбоки, проектите по-големи, разбрах, че не, научиха ме на много важни неща. Павел, благодаря ти. Беше много интересно да слушам твоите отговори. Нека чуем твоята презентация.

Павел Селиванов: Благодаря ви.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster