Kubernetes - гэта новы Linux? Інтэрв'ю з Паўлам Селіванава


Расшыфроўка:
Азат Хадзіеў: Добры дзень. Мяне клічуць Азат Хадзіеў. Я распрацоўшчык PaaS напрамкі Mail.ru Cloud Solutions. Са мной тут Павел Селіванаў з кампаніі Southbridge. Мы знаходзіцца на канферэнцыі DevOpsDays. Ён тут выступіць з дакладам аб тым, што з Kubernetes можна пабудаваць DevOps, але хутчэй за ўсё ў вас нічога не атрымаецца. Чаму такая змрочная тэма?

Павел Селіванаў: Яна насамрэч не змрочная. Яна аб тым, што многія праблемы ў нашай супольнасці спрабуем вырашыць з дапамогай тэхналогій. І прычым мы імкнемся вырашаць з дапамогай тэхналогій дастаткова аднабока. Kubenetes той жа самы - гэта штука, за якую адказваюць, можна сказаць, што Ops. Але ў нас ёсць цудоўнае паняцце DevOps інжынер. Вось за Kubernetes адказвае DevOps інжынер. Пры гэтым ... Тыпу вы вось зрабіце Kubernetes, а Dev хлопцы наогул не ў курсе ўсіх гэтых кубернэтэсаў, не ў курсе, што ён дазваляе рабіць - і ўсё для іх жыве сапраўды гэтак жа. І гэта нягледзячы на ​​тое, што Kubernetes утрымоўвае ў сабе гатовыя рашэнні, гатовыя прылады для таго, каб з дапамогай гэтай тэхналогіі расцягваць гэты DevOps падыход, зносіны паміж Dev і Ops. Мы вельмі мала гэтую магчымасць выкарыстоўваем. За кошт таго, што мы нават бягучыя структуры перакладаем на ўсе гэтыя прылады DevOps – Docker, Kubernetes, аблокі і гэтак далей – мы гэтую сітуацыю пагаршаем яшчэ мацней. І прылады пачынаем выкарыстоўвацца не бо яны задумваліся. І вакол усіх гэтых тэхналогій будуюцца проста страшныя мыліцы.

Азат Хадзіеў: Зразумела. Адчуваецца, што тэма шырокая. Як ты думаеш, як найбольш распаўсюджаная праблема ў кампаній зараз? З Kubernetes.

Павел Селіванаў: З Кубернэтэсам самая распаўсюджаная праблема — гэта адсутнасць кампетэнцый. У IT гэта распаўсюджаная праблема. Заўсёды не хапае спецыялістаў. Заўсёды не хапае кампетэнцый. А зараз з Kubernetes кампетэнцый не хапае. А пры гэтым яшчэ цалкам гатовых рашэнняў на рынку, якія б дазвалялі атрымаць сабе Кубернетэс, але пры гэтым не валодаць неабходнымі кампетэнцыямі, іх яшчэ на рынку адкрыта мала. А тыя, што ёсць, яны ўсё выклікаюць нейкія пытанні. Увесь час з Кубернэтэсам мы знаходзімся ў пошуку людзей, якія ў гэтым разбіраюцца. Спрабуем распрацоўку пад гэта падцягнуць.

Азат Хадзіеў: А улічваючы бягучы кадравы голад у IT. Які заўсёды быў. І зараз ёсць. Як ты думаеш, як у гэтых умовах жыць? Якія ёсць лайфхакі?

Павел Селіванаў: Лайфхакі. Па-першае, з пункту гледжання аблокаў лайфхак выглядае так - а давайце вы нам аддасце частку сваіх кампетэнцый. І мы іх забярэм сабе. І будзем займацца гэтым унутры сябе. І гэта ўсё добра. За выключэннем таго, што важна разумець для тых, хто гэтым карыстаецца… Насамрэч выдатны момант… Але важна разумець, што аддавай частку сваіх кампетэнцый кудысьці воблаку ці правайдэру, мы ў адказ атрымліваем універсалізаванае рашэнне. Грубіянска кажучы, у нас ёсць база дадзеных, якая выконвае вельмі спецыфічныя рэчы, і яна была вельмі спецыфічна настроена. Аддаючы гэтую базу дадзеных у воблака, мы, вядома ж, можам звольніць адміна, які раней займацца кластарамі баз дадзеных - той жа Amazon або Google зробіць гэта за нас. Але пры гэтым той жа Amazon ці Google не дазволяць нам выразна наладзіць нашу базу дадзеных. Буйныя праекты, буйныя кампаніі - яны ў любым выпадку прыходзяць да таго, што на нейкім этапе свайго жыцця выкарыстоўвае хмарныя рашэнні, а потым у любым выпадку вяртаюцца да таго, каб забраць кампетэнцыі назад сабе, таму што патрабуецца больш спецыфічнае.

Азат Хадзіеў: Універсальныя рашэнні - дрэнна ці на іх базе можна больш пабудаваць?

Павел Селіванаў: Не, універсальныя рашэнні - гэта дакладна не дрэнна. Універсальныя рашэнні - гэта добра. Проста ўніверсальныя рашэнні … універсальныя. Тут важна разумець. Гэта як узяць агульны скрыпт ... Калі ты вакол гэтага агульнага скрыпту, агульнага прымянення зможаш пабудаваць усю-ўсю логіку працы кампаніі - то гэта клёва. А калі логіка працы іншая, але ты бярэш гэтае ўніверсальнае рашэнне, універсальны скрыпт — і пачынаеш, як саву на глобус нацягваць, гэта дрэнна. А ў самім універсалізме няма нічога дрэннага.

Азат Хадзіеў: Калі адмін гэты ў цябе ўжо працуе, справа не ў яго звальненні. Ён проста зможа больш рабіць.

Павел Селіванаў: Так, забраць у яго руціну аддаць іх кудысьці камусьці, каб іх рабілі недзе там. Гэта, безумоўна, добры падыход. Важны момант тут ці падыходзіць гэтае стандартнае рашэнне пад пэўны кейс.

Азат Хадзіеў: Проста зыходзячы са свайго досведу вось бачу, што многія кампаніі займаюцца адным і тым жа. Яны настройваюць кубернетэс кластар, думаюць аб яго маштабаванні. І ўсе гэтыя аперацыі вельмі паўтараныя.

Павел Селіванаў: Так, безумоўна. Тым больш, што калі мы возьмем канкрэтна Кубернэтэс, тут ёсць такі момант, што глыбокіх, добрых ведаў цяпер па Кубернэтэсе цяпер на рынку рэальна мала. І Кубернэтэс гэта такі канструктар гіганцкі, што калі вы яго ўзялі ў кампанію, будзьце гатовыя браць разам з ім інжынера, які на фултайме будзе ўсім гэтым займацца. І гэта дорага. І такога інжынера яшчэ паспрабуй знайсці. Калі я буду казаць пра сябе, я не вельмі люблю нейкія клаўдныя рашэнне, таму што я дастаткова добра і глыбока разуменню, як працуе Кубернетэс. І мне часта ў клаўдах якраз і не хапае нейкай функцыянальнасці, якую я запытваю - а мне кажуць "Не, нельга". Ну, у такім выпадку прабач, але я магу лепш, чым клаўд. Але ў той жа час калі ў вас няма інжынера на fulltime, няма жадання плаціць за гэтага інжынера, які цягне Кубернетэс, і вы яму ўвесь час плаціце шмат грошай, каб ён проста эксперыментаваў, то cloud - гэта проста добрае выдатнае рашэнне. Таму што хаця б там сядзяць хлопцы, якіх правайдэр сам ужо нахваціў. І яны разбіраюцца ў тым, што яны робяць. І тыя базавыя рэчы, якія патрэбны вам на штодзённай аснове, там ёсць.

Азат Хадзіеў: Як ты думаеш наконт бягучага стану Kubernetes? Што з ім будзе праз пяць і праз дзесяць год?

Павел Селіванаў: Добрае пытанне. Я проста ведаю, што ў нас адбываецца ў кам'юніці на гэты конт. Некаторыя людзі вераць, што акрамя Кубернэтэса нічога не застанецца. Тая сітуацыя, якая даўно адбылася з лінуксамі. Гэта значыць па-за Linux ёсць людзі, якія жывуць на BSD, хутчэй за ўсё ў іх вельмі спецыфічныя задачы. Ёсць людзі, якія працуюць пад Windows – windows-сервера – хутчэй за ўсё, у іх таксама ёсць спецыфічныя задачы, ці ёсць проста кампетэнцыя ў гэтай справе і яны не гатовыя адтуль з'яжджаць. У любым выпадку, стандарт у нашай сферы - гэта Linux. Вось ёсць меркаванне, што Kubernetes стане такім жа стандартам дэ-факта, і акрамя Кубернэтэса нічога не будзе. Кубернетэс будзе кіраваць не толькі праграмамі, іх разгортваннем, дэплоем, маштабаваннем. Наогул усім кіраваць. Цяпер ужо пытаюцца: "А ці можна ў Kubernetes запхнуць базу дадзеных". Я звычайна кажу пра тое, што тут пытанне не ў Кубернэтэсе, а ў Docker. Калі вы гатовыя, што ваша база даных будзе працаваць у кантэйнерах, як яна будзе працаваць. Мне адказваюць: «Не-не-не, пачакайце. У кантэйнеры не трэба. Трэба ў Кубернэтэс. Мы яе прышчэпім да ноды. Гэта значыць, усё будзе, як у нас ёсць цяпер, толькі ўсім гэтым будзе кіраваць Кубернетэс. І гэта добрая ідэя на самой справе. Гэта значыць Кубернетэс - гэта такая штука, калі можна прыйсці ў кампанію, калі ў кампаніі ёсць Кубернетэс і на ім пабудаваныя працэсы, то чалавеку, які ў гэтым разбіраецца - яму дастаткова паглядзець пару дзён, каб сказаць: «Я гатовы вас падтрымліваць. Цалкам. Цалкам. Я зразумеў, як у вас што працуе”. У адрозненне ад падыходаў без Кубернэтэса - тут адны мыліцы запіхалі, тут іншыя мыліцы. Тут Ansible, тут Terraform. Некім усё гэта напісана, і трэба паўгода, каб разабрацца. Вось. Так што ці стане Кубернэтэс стандартам дэ-факта, я не ведаю. На бягучы дзень ён выглядае значна амбіцыйней і больш упэўнена, чым рашэнні, якія вакол яго ёсць.

Азат Хадзіеў: Ну, параўнанне з Linux дастаткова смелае. Ён-то працуе на адной машыне і ўсё. А Кубернетэс працуе на многіх машынах. Адразу ж узнікае мільён варыяцый, прычын. Так, гэта смела. Проста калі ўлічвацца, што ёсць канкурэнты ў гэтай парадыгмы. Напрыклад, Serverless. КУбернэтэс ў небяспецы пры такіх канкурэнтах?

Павел Селіванаў: Ад Serverless… (смех) Serverless — мы ж усё ж такі разуменнем, што сервера ўсё ж такі ёсць. Я вось нядаўна чуў на гэты конт даклад. Там чалавек сказаў, што сервера ўсё ж такі ёсць - і гэта воблака. Але мы заўсёды павінны разумець, што воблака - там таксама сервера ёсць. Там стаяць рэальныя жалезныя серверы, стойка, і вось яны недзе ўстаноўлены. Вось гэтае воблака. Па-над гэтым існуе Serverless, дзе сервераў «не». Таму пытанне пераможа Ці Serverless Kubernetes? Мне здаецца, што Serverless з'едзе ў Kubernetes. Для правайдэраў, якія падаюць Serverless, Kubernetes вельмі зручная платформа, каб прадастаўляць. Так, магчыма, у нейкі момант мы перастанем казаць пра Кубернэтэс у прынцыпе, як аб радавой распрацоўцы бізнэс-прыкладанняў. Але недзе ў глыбіні, у правайдэраў і інжынераў будзе стаяць Кубернетэс, дзе ўсё гэта будзе рэалізавана.

Азат Хадзіеў: Крыху іншая тэма. Ёсць такое паняцце fullstack-інжынер. Што ты пра іх думаеш? Яны ўвогуле існуюць?

Павел Селіванаў: Эм… Fullstack-інжынер… Ну, мне здаецца, што варта размежаваць гэтыя рэчы пра тое, што… Ведаеш, ёсць такая штука, як T-shaped people. Ці патрэбны такія людзі ў сённяшняй індустрыі? Так, патрэбны безумоўна. Нам патрэбны людзі, якія маюць шырокі кругагляд, але пры гэтым яны спецыялісты ў нейкай вузкай сваёй галіне. І вось тут Fullstack-інжынер тое ж самае - чалавек, які робіць усё. Пачынаючы ад распрацоўкі фронтэнда, тэсціраванне, бэкэнд, сервера і ўсё астатняе. Я не веру, што ў буйной кампаніі гэтым можа займацца адзін чалавек, не маючы вузкіх спецыялізацый па кожным з параметраў. Але пры гэтым проста маючы вузкую спецыялізацыю, тыпу вакол гэтага што адбываецца я нічога не ведаю - гэта таксама ў сучасным свеце не працуе. Гэта значыць, тут бы я сказаў… слова Fullstack я бы адкінуў. Нам патрэбны інжынеры вельмі. Патрэбныя нам DevOps. Адчуваю, мы хутка перагледзім гэты момант. І яны будуць не патрэбны.

Азат Хадзіеў: Можаш раскрыць?

Павел Селіванаў: Мне здаецца, што мы ў індустрыі прыйдзем да таго, што гэтыя ролі Dev і Ops, яны хутка адпадуць. Калі нам патрэбныя спецыялісты і мы хантым… Патрэбен распрацоўшчык вось такой, патрэбныя адміністратары вось такія, патрэбныя DevOps-інжынеры — зараз яны ў нас з'явіліся, цяпер яшчэ з'явяцца прадакшн-інжынеры, SRE-інжынеры. Хоць насамрэч тое, што нам трэба - гэта інжынеры, якіх мы хочам на працу ўзяць. Бэкграўнд па вялікім рахунку не важны. Таму што… Напрыклад, SRE кажа, што праблемы інфраструктуры яны софтварныя заўсёды. А што ... Давайце браць распрацоўшчыкаў - з пункту гледжання, што распрацоўшчык гэта інжынер - саджаць іх у аддзел суправаджэння і яны будуць вырашаць гэтыя праблемы сапраўды гэтак жа, як яны вырашаюць бізнес-праблемы з дапамогай кода, з дапамогай інжынерыі, як такой.

Азат Хадзіеў: А з гэтага пункту гледжання… Як гутарыць такіх інжынераў?

Павел Селіванаў: Ох, добрае пытанне. Ён, мусіць, знаходзіцца ўжо за гранню таго, што я разумею ў гэтым жыцці. Але я проста прыклад бы прывёў. Ён да сумоўя дачынення не мае. Гэта пра нашу сістэму адукацыі ў Расіі. У IT мы ведаем, што наша сістэма адукацыі ў Расіі для IT-света вельмі моцна састарэла, яна не такая, як павінна быць. Я кажу ў сярэднім пра Расею неабсяжную - і што там адбываецца. Выпускаюцца людзі, якія абсалютна не гатовы пайсці заўтра ж пасля выпуску пайсці ў вэб-распрацоўку, у тэхналагічную кампанію. І тыпу гэта дрэнна. Мы навучаем іх нейкім дзіўным рэчам, хаця быццам бы павінны вучыць распрацоўваць іх пад Android, пад iOS, як карыстацца Git і ўсім гэтым рэчам. Насамрэч нібыта няма. Інстытут - гэта такі час, калі за цябе па большай частцы плацяць бацькі. За ўсё тваё жыццё. І ты можаш прысвяціць пяць гадоў свайго жыцця, каб паглыблена вучыцца. І вывучаць увесь гэты T-shaped. Калі ты можаш у інстытуце вывучаць, што такое сістэма кантролю версій, якія бываюць патэрны распрацоўкі, як гэта ўся справа тэставаць, якія бываюць базы дадзеных, балансавальнікі. А калі ты ўжо ідзеш працаваць, ты пачынаеш паглыбляцца ў нейкай канкрэтнай галіне. І такім чынам мы атрымліваем інжынераў. І вось наша сістэма адукацыі ў Расіі значна бліжэй да гэтай праўды, чым нам падаецца. Нам даюць добрую матэматычную падрыхтоўку, даюць добрую алгарытмічную падрыхтоўку, нам даюць нейкае ўяўленне аб мовах праграмавання. І пра сумоўе мне здаецца нешта блізкае да гэтага. Інжынераў нам трэба гутарыць. Нам патрэбна верхняя частка літары T у T-shaped. Бо вертыкальную рысу літары Т ён набудзе.

Азат Хадзіеў: Так, цікава. Мне пяць гадоў пасля інстытута здавалася, што мая адукацыя была нейкая дзіўная і неадэкватная. А потым ужо па ходзе працы, калі задачы сталі глыбей, праекты большыя, я ўсвядоміў, што не, мяне вучылі вельмі важным рэчам. Павел, дзякуй табе. Было вельмі цікава паслухаць твае адказы. Паслухаем твой даклад.

Павел Селіванаў: Дзякуй вам.

Крыніца: habr.com

Дадаць каментар