A është Kubernetes Linux-i i ri? Intervistë me Pavel Selivanov


Transkript:
Azat Khadiev: Përshëndetje. Emri im është Azat Khadiev. Unë jam një zhvillues i PaaS për Mail.ru Cloud Solutions. Me mua këtu është Pavel Selivanov nga Southbridge. Jemi në konferencën DevOpsDays. Ai do të mbajë një fjalim këtu se si mund të ndërtoni DevOps me Kubernetes, por ka shumë të ngjarë që nuk do të keni sukses. Pse një temë kaq e errët?

Pavel Selivanov: Në fakt nuk është e zymtë. Bëhet fjalë për faktin se ne po përpiqemi të zgjidhim shumë probleme në komunitetin tonë me ndihmën e teknologjisë. Dhe ne po përpiqemi t'i zgjidhim gjërat me ndihmën e teknologjisë në një mënyrë mjaft të njëanshme. Kubenetes është i njëjtë - kjo është gjëja për të cilën ata janë përgjegjës, mund të thuhet se Ops. Por ne kemi një koncept të shkëlqyeshëm të inxhinierit DevOps. Një inxhinier DevOps është përgjegjës për Kubernetes. Në të njëjtën kohë... Ashtu si ju bëni Kubernetes, por djemtë e Dev nuk janë fare të vetëdijshëm për të gjitha këto Kubernetes, ata nuk janë të vetëdijshëm se çfarë ju lejon të bëni - dhe gjithçka jeton saktësisht njësoj për ta. Dhe kjo përkundër faktit se Kubernetes përmban zgjidhje të gatshme, mjete të gatshme për përdorimin e kësaj teknologjie për të shtrirë këtë qasje DevOps, komunikimin midis Dev dhe Ops. Ne e përdorim shumë pak këtë mundësi. Për shkak të faktit se ne po transferojmë edhe strukturat aktuale në të gjitha këto mjete DevOps - Docker, Kubernetes, cloud e kështu me radhë - ne po e rëndojmë edhe më shumë këtë situatë. Dhe ne fillojmë t'i përdorim mjetet ndryshe nga sa ishin menduar. Dhe vetëm paterica të tmerrshme po ndërtohen rreth të gjitha këtyre teknologjive.

Azat Khadiev: E shoh. Ndjehet si një temë e gjerë. Cili mendoni se është problemi më i zakonshëm që kanë kompanitë tani? Me Kubernetes.

Pavel Selivanov: Problemi më i zakonshëm me Kubernetes është mungesa e kompetencave. Ky është një problem i zakonshëm në IT. Gjithmonë ka mungesë specialistësh. Mungojnë gjithmonë kompetencat. Dhe tani me Kubernetes nuk ka kompetenca të mjaftueshme. Dhe në të njëjtën kohë, ka ende zgjidhje XNUMX% të gatshme në treg që do t'ju lejojnë të merrni Kubernetes, por në të njëjtën kohë nuk keni kompetencat e nevojshme; sinqerisht ka pak prej tyre në treg. Dhe ato që ekzistojnë, të gjitha ngrenë disa pyetje. Me Kubernetes, ne jemi vazhdimisht në kërkim të njerëzve që e kuptojnë këtë. Ne po mundohemi ta përshtatim zhvillimin me këtë.

Azat Khadiev: Dhe duke pasur parasysh mungesën aktuale të personelit në IT. E cila ka qenë gjithmonë aty. Dhe tani ka. Si mendoni se si të jetoni në këto kushte? Çfarë mashtrimesh të jetës ka?

Pavel Selivanov: Lifehacks. Së pari, nga pikëpamja e reve, hakimi i jetës duket kështu - le të na japim disa nga kompetencat tuaja. Dhe ne do t'i marrim ato për vete. Dhe këtë do ta bëjmë brenda vetes. Dhe kjo është e gjitha mirë. Veç se është e rëndësishme të kuptohet për ata që e përdorin... Në fakt një moment i mrekullueshëm... Por është e rëndësishme të kuptojmë se nëse një pjesë të kompetencave tona i japim diku cloud-it apo ofruesit, ne marrim një zgjidhje universale në këmbim. . Përafërsisht, ne kemi një bazë të dhënash që bën gjëra shumë specifike dhe është konfiguruar në një mënyrë shumë specifike. Duke ia dhënë këtë bazë të dhënash cloud, ne, natyrisht, mund të shkarkojmë administratorin që më parë merrej me grupimet e bazës së të dhënave - e njëjta Amazon ose Google do ta bëjë këtë për ne. Por në të njëjtën kohë, Amazon ose Google nuk do të na lejojnë të konfigurojmë qartë bazën tonë të të dhënave. Projektet e mëdha, kompanitë e mëdha - në çdo rast, ata arrijnë në atë pikë që në një fazë të jetës së tyre përdorin zgjidhje cloud, dhe më pas, në çdo rast, kthehen në marrjen e kompetencave tek vetja, sepse kërkohet diçka më specifike. .

Azat Khadiev: A janë zgjidhjet universale të këqija apo mund të ndërtohen më shumë mbi bazën e tyre?

Pavel Selivanov: Jo, zgjidhjet universale nuk janë definitivisht të këqija. Zgjidhjet universale janë të mira. Vetëm zgjidhje universale... universale. Është e rëndësishme të kuptohet këtu. Është si të marrësh një skenar të përbashkët... Nëse mund ta ndërtosh të gjithë logjikën e punës së kompanisë rreth këtij skenari të përbashkët, aplikacionit të përbashkët, atëherë kjo është mirë. Dhe nëse logjika e punës është e ndryshme, por ju merrni këtë zgjidhje universale, një skenar universal - dhe filloni, si një buf, të tërheqni një glob, kjo është e keqe. Dhe nuk ka asgjë të keqe me vetë universalizmin.

Azat Khadiev: Nëse ky administrator tashmë po punon për ju, çështja nuk është në shkarkimin e tij. Ai thjesht do të jetë në gjendje të bëjë më shumë.

Pavel Selivanov: Po, hiqeni rutinën nga ai dhe jepjani diku dikujt për t'i bërë diku atje. Kjo është padyshim një qasje e mirë. Pika e rëndësishme këtu është nëse kjo zgjidhje standarde është e përshtatshme për një rast specifik.

Azat Khadiev: Vetëm bazuar në përvojën time, shoh se shumë kompani po bëjnë të njëjtën gjë. Ata po krijojnë një grup Kubernetes dhe po mendojnë për shkallëzimin e tij. Dhe të gjitha këto operacione janë shumë të përsëritshme.

Pavel Selivanov: Po, patjetër. Për më tepër, nëse marrim Kubernetes në mënyrë specifike, ekziston një pikë e tillë që ka vërtet pak njohuri të thella dhe të mira për Kubernetes në treg tani. Dhe Kubernetes është një konstruktor kaq gjigant saqë nëse e punëson për një kompani, përgatitu të marrësh me vete një inxhinier që do t'i bëjë të gjitha këto me kohë të plotë. Dhe është e shtrenjtë. Dhe përpiquni të gjeni përsëri një inxhinier të tillë. Nëse flas për veten time, nuk më pëlqen vërtet asnjë zgjidhje cloud, sepse kam një kuptim mjaft të mirë dhe të thellë se si funksionon Kubernetes. Dhe shpesh në retë thjesht më mungon një funksionalitet që kërkoj - por ata më thonë "Jo, nuk mundesh". Epo, në atë rast, më vjen keq, por mund të bëj më mirë se Cloud. Por në të njëjtën kohë, nëse nuk keni një inxhinier me kohë të plotë, nuk dëshironi të paguani për këtë inxhinier që drejton Kubernetes, dhe vazhdimisht i paguani shumë para vetëm për të eksperimentuar, atëherë cloud është thjesht një zgjidhje e mirë, e shkëlqyer. Sepse të paktën ka djem të ulur atje, të cilët ofruesi i ka rekrutuar tashmë. Dhe ata e dinë se çfarë bëjnë. Dhe ato gjëra themelore që ju nevojiten në baza të përditshme janë aty.

Azat Khadiev: Çfarë mendoni për gjendjen aktuale të Kubernetes? Çfarë do të ndodhë me të pas pesë dhe dhjetë vjetësh?

Pavel Selivanov: Pyetje e mirë. Unë thjesht e di se çfarë po ndodh në komunitetin tonë për këtë. Disa njerëz besojnë se nuk do të mbetet asgjë përveç Kubernetes. Situata që ndodhi me Linux-in shumë kohë më parë. Kjo do të thotë, jashtë Linux ka njerëz që jetojnë në BSD, ka shumë të ngjarë që ata kanë detyra shumë specifike. Ka njerëz që punojnë nën Windows - serverë Windows - ka shumë të ngjarë, ata gjithashtu kanë detyra specifike, ose thjesht kanë kompetencë në këtë çështje dhe nuk janë gati të largohen nga atje. Në çdo rast, standardi në fushën tonë është Linux. Ekziston një mendim se Kubernetes do të bëhet i njëjti standard de fakto, dhe nuk do të ketë asgjë përveç Kubernetes. Kubernetes do të menaxhojë jo vetëm aplikacionet, vendosjen, vendosjen dhe shkallëzimin e tyre. Në përgjithësi, menaxhoni gjithçka. Tani ata tashmë po pyesin: "A është e mundur të futësh një bazë të dhënash në Kubernetes?" Zakonisht them se çështja këtu nuk është në Kubernetes, por në Docker. Nëse jeni gati që databaza juaj të funksionojë në kontejnerë, kjo është se si do të funksionojë. Ata më përgjigjen: “Jo, jo, jo, prit. Nuk ka nevojë për kontejnerë. Nevojë për Kubernetes. Ne do ta shartojmë atë në nyjë. Kjo do të thotë, gjithçka do të jetë ashtu siç e kemi tani, vetëm Kubernetes do t'i menaxhojë të gjitha." Dhe kjo është në fakt një ide e mirë. Kjo do të thotë, Kubernetes është një gjë e tillë kur mund të vini në një kompani, nëse kompania ka Kubernetes dhe procese të ndërtuara mbi të, atëherë një person që e kupton këtë - ai vetëm duhet ta shikojë atë për disa ditë për të thënë: " Unë jam gati të të mbështes. Plotësisht. Plotësisht. Unë e kuptoj se si funksionojnë gjërat për ju.” Në ndryshim nga afrimet pa Kubernetes - këtu u futën disa paterica, këtu paterica të tjera. Ansible këtu, Terraform këtu. Dikush i shkroi të gjitha këto dhe duhen gjashtë muaj për ta kuptuar. Këtu. Pra, nëse Kubernetes do të bëhet një standard de fakto, nuk e di. Sot, ai duket shumë më ambicioz dhe më i sigurt se zgjidhjet që ekzistojnë rreth tij.

Azat Khadiev: Epo, krahasimi me Linux është mjaft i guximshëm. Punon në një makinë - kjo është e gjitha. Dhe Kubernetes punon në shumë makina. Një milion variacione dhe arsye lindin menjëherë. Po, është e guximshme. Vetëm nëse merrni parasysh se ka konkurrentë të kësaj paradigme. Për shembull, pa server. A është Kubernetes në rrezik me konkurrentë të tillë?

Pavel Selivanov: Nga pa server... (të qeshura) Pa server - ne ende e kuptojmë se në fund të fundit ka serverë. Kohët e fundit kam dëgjuar një raport për këtë çështje. Atje personi tha që ka ende serverë - dhe kjo është një re. Por ne duhet të kuptojmë gjithmonë se cloud ka edhe serverë. Ka serverë të vërtetë harduerësh, një raft dhe ato janë instaluar diku. Kjo është reja. Në krye të kësaj ka Serverless, ku nuk ka serverë "nuk". Pra, pyetja është: a do të fitojë pa server mbi Kubernetes? Më duket se Serverless do të kalojë në Kubernetes. Për ofruesit që ofrojnë Serverless, Kubernetes është një platformë shumë e përshtatshme për ta ofruar këtë. Po, ndoshta në një moment do të ndalojmë së foluri për Kubernetes në parim, si për zhvillimin e zakonshëm të aplikacioneve të biznesit. Por diku në thellësi, ofruesit dhe inxhinierët do të kenë Kubernetes, ku e gjithë kjo do të zbatohet.

Azat Khadiev: Një temë paksa ndryshe. Ekziston një gjë e tillë si një inxhinier i plotë. Çfarë mendoni për to? A ekzistojnë edhe ato?

Pavel Selivanov: Um... Inxhinier Fullstack... Epo, më duket se ia vlen të dallojmë këto gjëra që... E dini, ekziston një gjë e tillë si njerëzit në formë T-je. A nevojiten njerëz të tillë në industrinë e sotme? Po, patjetër që na duhet. Ne kemi nevojë për njerëz që kanë një pikëpamje të gjerë, por në të njëjtën kohë ata janë specialistë në një fushë të ngushtë. Dhe këtu inxhinieri Fullstack është i njëjtë - një person që bën gjithçka. Duke filluar nga zhvillimi në front-end, testimi, back-end, serverët dhe gjithçka tjetër. Nuk besoj se në një kompani të madhe një person mund ta bëjë këtë pa pasur specializime të ngushta në secilin prej parametrave. Por në të njëjtën kohë, thjesht duke pasur një specializim të ngushtë, si ajo që po ndodh rreth kësaj, nuk di asgjë - kjo gjithashtu nuk funksionon në botën moderne. Domethënë këtu do të thosha... do ta flakja fjalën Fullstack. Ne kemi vërtet nevojë për inxhinierë. Ne kemi nevojë për DevOps. Kam një ndjenjë se do ta rishqyrtojmë këtë moment së shpejti. Dhe nuk do të nevojiten.

Azat Khadiev: A mund të zbuloni?

Pavel Selivanov: Më duket se ne në industri do të arrijmë në përfundimin se këto role të Dev dhe Ops së shpejti do të zhduken. Nëse kemi nevojë për specialistë dhe po gjuajmë... Na duhet filan zhvillues, na duhen filan administratorë, na duhen inxhinierë DevOps - tani i kemi, tani do të kemi edhe inxhinierë prodhimi, inxhinierë SRE. Edhe pse në fakt, ajo që na duhen janë inxhinierë që duam të punësojmë. Sfondi në përgjithësi nuk është i rëndësishëm. Sepse... Për shembull, SRE thotë se problemet e infrastrukturës janë gjithmonë probleme softuerike. Pra... Le të marrim zhvilluesit - nga pikëpamja që një zhvillues është inxhinier - i vendosim në departamentin e mirëmbajtjes dhe ata do t'i zgjidhin këto probleme në të njëjtën mënyrë siç zgjidhin problemet e biznesit me ndihmën e kodit, me ndihmën e tyre. të inxhinierisë si të tillë.

Azat Khadiev: Dhe nga ky këndvështrim... Si të intervistohen inxhinierë të tillë?

Pavel Selivanov: Oh, pyetje e mirë. Ai ndoshta është tashmë përtej asaj që unë kuptoj në këtë jetë. Por unë do të jepja vetëm një shembull. Nuk ka lidhje me intervisten. Bëhet fjalë për sistemin tonë arsimor në Rusi. Në IT, ne e dimë që sistemi ynë arsimor në Rusi është shumë i vjetëruar për botën e IT, nuk është ai që duhet të jetë. Unë po flas mesatarisht për Rusinë e madhe - dhe atë që po ndodh atje. Po diplomohen njerëz të cilët nuk janë absolutisht të gatshëm të hyjnë në zhvillimin e uebit ose në një kompani teknologjike të nesërmen pas diplomimit. Dhe është disi e keqe. Ne u mësojmë atyre disa gjëra të çuditshme, megjithëse duhet t'i mësojmë se si të zhvillojnë për Android, iOS, si të përdorin Git dhe të gjitha këto. Në fakt, duket se jo. Kolegji është një kohë kur prindërit tuaj paguajnë kryesisht për ju. Për gjithë jetën tuaj. Dhe ju mund t'i kushtoni pesë vjet të jetës suaj për të studiuar në thellësi. Dhe studioni të gjitha këto në formë T-je. Kur mund të studioni në institut se çfarë është një sistem i kontrollit të versionit, çfarë modelesh zhvillimi ka, si të testoni të gjithë, çfarë lloje bazash të dhënash dhe balancuesish ekzistojnë. Dhe kur shkoni në punë, filloni të gërmoni më thellë në një fushë specifike. Dhe kështu ne marrim inxhinierë. Dhe sistemi ynë arsimor në Rusi është shumë më afër kësaj të vërtete sesa mendojmë. Na jepet një trajnim i mirë matematikor, na jepet një trajnim i mirë algoritmik, na jepet një kuptim i gjuhëve të programimit. Dhe për intervistën, më duket diçka afër kësaj. Duhet të intervistojmë inxhinierë. Ne kemi nevojë për pjesën e sipërme të T-së për T-formën. Sepse do të fitojë vijën vertikale të shkronjës T.

Azat Khadiev: Po, interesante. Pesë vjet pas kolegjit, m'u duk se arsimimi im ishte disi i çuditshëm dhe i pamjaftueshëm. Dhe më pas, me avancimin e punës, kur detyrat u thelluan, projektet u bënë më të mëdha, kuptova që jo, më mësuan gjëra shumë të rëndësishme. Pavel, faleminderit. Ishte shumë interesante të dëgjoja përgjigjet tuaja. Le të dëgjojmë raportin tuaj.

Pavel Selivanov: Faleminderit.

Burimi: www.habr.com

Shto një koment