
Preklad:
Azat Khadiev: Dobrý deň. Volám sa Azat Khadiev. Som vývojár v oblasti PaaS spoločnosti Mail.ru Cloud Solutions. So mnou je tu Pavel Selivanov z firmy Southbridge. Nachádzame sa na konferencii DevOpsDays. Tam bude prednášať o tom, ako je možné vybudovať DevOps s Kubernetes, ale pravdepodobne sa vám to nepodarí. Prečo taká pesimistická téma?
Pavel Selivanov: V skutočnosti nie je pesimistická. Hovorí o tom, že mnohé problémy v našej komunite sa snažíme riešiť pomocou technológií. A snažíme sa ich riešiť pomerne jednostranne. Kubernetes je rovnaká vec — je to niečo, za čo sú zodpovední, dá sa povedať, že Ops. Ale máme skvelý pojem DevOps inžinier. Ten je zodpovedný za Kubernetes. Pri tom… Akoby ste mali spraviť Kubernetes, ale Dev chlapci nemajú vôbec prehľad o všetkých tých kubernetesoch, ani netušia, čo môže robiť — a pre nich všetko funguje presne tak isto. A to všetko aj napriek tomu, že Kubernetes obsahuje pripravené riešenia, hotové nástroje na to, aby sme s touto technológiou rozšírili tento DevOps prístup, komunikáciu medzi Dev a Ops. Túto možnosť veľmi málo využívame. Tým, že dokonca súčasné štruktúry prevádzame na všetky tieto nástroje DevOps — Docker, Kubernetes, cloud a tak ďalej — situáciu len zhoršujeme. A nástroje začíname používať nie tak, ako boli zamýšľané. A okolo všetkých týchto technológií sa vytvárajú len strašné kríže.
Azat Khadiev: Chápeš. Je cítiť, že téma je rozsiahla. Ako si myslíš, aký je najrozšírenejší problém spoločností teraz? S Kubernetes.
Pavel Selivanov: Najrozšírenejší problém s Kubernetes — je to nedostatok kompetencií. V IT je to bežný problém. Vždy chýbajú odborníci. Vždy chýbajú kompetencie. A teraz s Kubernetes kompetencií chýba. A pritom existujú stoprocentne pripravené riešenia na trhu, ktoré by umožnili získať Kubernetes, ale pritom nemajú potrebné kompetencie, tých je na trhu otvorene málo. A tie, ktoré sú, vyvolávajú otázky. Neustále hľadáme ľudí, ktorí sa v Kubernetes vyznajú. Snažíme sa vyvinúť pod to.
Azat Khadiev: A vzhľadom na súčasný nedostatok zamestnancov v IT, ktorý tu vždy bol a stále je, ako si myslíš, že sa dá v takýchto podmienkach žiť? Aké sú nejaké tipy na prežitie?
Pavel Selivanov: Tipy na prežitie. Po prvé, z pohľadu cloudu to vyzerá takto — odovzdajte nám časť svojich kompetencií. My si ich vezmeme a budeme s nimi pracovať interné. To je v poriadku. Okrem toho je dôležité, aby tí, ktorí to používajú, pochopili… Je to skutočne skvelý okamih… Ale je dôležité chápať, že ak odovzdávate časť svojich kompetencií do cloudu alebo poskytovateľovi, dostávame univerzálne riešenie. Jednoducho povedané, máme databázu, ktorá vykonáva veľmi špecifické úlohy a bola veľmi špecificky nastavená. Ak túto databázu dáme do cloudu, môžeme samozrejme prepustiť administrátora, ktorý sa predtým zaoberal databázovými klastrami — to isté urobí Amazon alebo Google za nás. Ale zároveň nám Amazon alebo Google nedovolia presne nastaviť našu databázu. Veľké projekty a spoločnosti sa v každom prípade dostanú do bodu, keď v nejakom okamihu svojho života využívajú cloudové riešenia, a potom sa v každom prípade vracajú späť k tomu, aby si prevzali svoje kompetencie, pretože potrebujú niečo špecifickejšie.
Azat Khadiev: Sú univerzálne riešenia zlé, alebo možno na ich základe postaviť viac?
Pavel Selivanov: Nie, univerzálne riešenia určite nie sú zlé. Univerzálne riešenia sú dobré. Len univerzálne riešenia … sú univerzálne. Je dôležité to pochopiť. Je to ako vziať spoločný skript… Ak okolo tohto spoločného skriptu, vykonávajúceho všeobecné úlohy, dokáže celú logiku fungovania spoločnosti postaviť — to je skvelé. Ale ak je logika práce iná a vezmeš toto univerzálne riešenie, univerzálny skript — a začneš ho prispôsobovať, to je zlé. Ale v samotnom univerzalizme nie je nič zlé.
Azat Khadiev: Ak máš administrátora, problém nie je v jeho prepustení. Môže jednoducho robiť viac.
Pavel Selivanov: Áno, odstrániť od neho rutinnú prácu a odovzdať ju niekomu inému, aby to robil tam. To je bezpochyby dobrý prístup. Dôležitá vec je, či toto štandardné riešenie vyhovuje konkrétnemu prípadu.
Azat Khadiev: Z vlastnej skúsenosti vidím, že mnohé spoločnosti sa zaoberajú rovnakými vecami. Nastavujú Kubernetes klastre a premýšľajú o ich škálovaní. Všetky tieto operácie sú veľmi opakujúce sa.
Pavel Selivanov: Áno, určite. Navyše, ak vezmeme konkrétne Kubernetes, je tu taký aspekt, že hlbokých a dobrých znalostí o Kubernetes je momentálne na trhu naozaj málo. Kubernetes je obrovský stavebnicový systém a ak ho zavádzate do spoločnosti, buďte pripravení na to, že s ním prídete aj s inžinierom, ktorý sa tomu bude na plný úväzok venovať. A to je drahé. A takého inžiniera ešte len skúste nájsť. Pokiaľ hovorím o sebe, nemám veľmi rád cloudové riešenia, pretože dobre a hlboko rozumiem fungovaniu Kubernetes. A v cloude mi často chýba určitá funkčnosť, ktorú si žiadam — a povedia mi „Nie, to nie je možné“. No, v takom prípade sa ospravedlňujem, ale dokážem to robiť lepšie ako cloud. Ale ak nemáte inžiniera na plný úväzok a nemáte záujem platiť za tohto inžiniera, ktorý spravuje Kubernetes, a stále mu platíte veľa peňazí len na experimentovanie, tak cloud je skutočne skvelé riešenie. Pretože tam aspoň pracujú ľudia, ktorých si poskytovateľ už najal. A rozumejú tomu, čo robia. A základné veci, ktoré potrebujete na každodenný základ, sú tam.
Azat Khadiev: Čo si myslíš o súčasnom stave Kubernetes? Čo s ním bude za päť a za desať rokov?
Pavol Selivanov: Dobrý otázka. Viem, čo sa u nás deje v komunite ohľadom toho. Niektorí ľudia veria, že okrem Kubernetes nič nezostane. Situácia, ktorá sa už dávno stala s Linuxom. To znamená, že mimo Linuxu sú ľudia, ktorí žijú na BSD, pravdepodobne s veľmi špecifickými úlohami. Sú aj ľudia, ktorí pracujú na Windows — windows servery — pravdepodobne majú tiež špecifické úlohy, alebo jednoducho majú kompetenciu v tejto oblasti a nie sú pripravení odísť. V každom prípade je štandardom v našej sfére Linux. Existuje názor, že Kubernetes sa stane takým istým de facto štandardom, a okrem Kubernetes nič iného nebude. Kubernetes bude spravovať nielen aplikácie, ich nasadenie, deploy, škálovanie. Vlastne všetko. Už sa pýtajú: „Môže sa do Kubernetes vložiť databáza?“. Zvyčajne hovorím, že tu nejde o Kubernetes, ale o Docker. Ak ste pripravení, že vaša databáza bude fungovať v kontajneroch, ako bude fungovať? Odpovedajú mi: „Nie, nie, nie, počkajte. Do kontajnerov to netreba. Potrebujeme to v Kubernetes. Pripojíme ju k node. Teda všetko bude ako to máme teraz, len týmto všetkým bude spravovať Kubernetes.“ A to je vlastne dobrý nápad. Teda Kubernetes je niečo také, že môžete prísť do spoločnosti, ak má spoločnosť Kubernetes a na ňom postavené procesy, tak pre osobu, ktorá sa v tom vyzná — stačí pozrieť sa na pár dní, aby povedala: „Som pripravený vás podporovať. Úplne. Celkom. Pochopil som, ako to u vás funguje.“ Na rozdiel od prístupov bez Kubernetes — tu sa dajú koľajnice na jedno miesto, tu druhé. Tu Ansible, tu Terraform. Niekto to celé napísal a trvá to pol roka, aby ste to pochopili. Takže, stane sa Kubernetes de facto štandardom, neviem. V súčasnosti vyzerá oveľa ambicióznejšie a istejšie ako riešenia, ktoré sú okolo neho.
Azat Khadiev: No, porovnanie s Linuxom je dosť odvážne. Ten totiž funguje na jednom stroji — a to je všetko. Ale Kubernetes funguje na mnohých strojoch. Hneď na to vzniká milión variácií, dôvodov. Áno, to je odvážne. Ak sa zohľadní, že máme konkurentov tejto paradigme. Napríklad, Serverless. Je Kubernetes v ohrození pred takými konkurentmi?
Pavel Selivanov: Od Serverless… (smiech) Serverless — predsa len chápeme, že servera predsa len existujú. Nedávno som počul prednášku na túto tému. Tam jeden človek povedal, že servery predsa len existujú — a to je cloud. Ale vždy si musíme uvedomiť, že aj v cloude sú servery. Tam sú naozaj fyzické servery, racky a niekde sú nainštalované. To je cloud. Nad tým existuje Serverless, kde serverov „nie“. Preto sa otázka, či Serverless zvíťazí nad Kubernetes? Mám pocit, že Serverless sa presunie do Kubernetes. Pre poskytovateľov, ktorí ponúkajú Serverless, je Kubernetes veľmi pohodlná platforma na to, aby to mohli poskytovať. Áno, možno v nejakom momente prestaneme rozprávať o Kubernetes ako takom, ako o bežnom vývoji obchodných aplikácií. Ale niekde hlboko, u poskytovateľov a inžinierov, bude stáť Kubernetes, kde sa to celé realizuje.
Azat Khadiev: Trochu iná téma. Existuje taký pojem fullstack inžinier. Čo si o nich myslíš? Oni vôbec existujú?
Pavel Selivanov: Ehm… Fullstack inžinier… Nuž, myslím si, že by sme mali rozlišovať tieto veci. Vieš, existuje niečo také ako T-shaped people. Potrebujeme takéto osoby v dnešnom odvetví? Áno, bezpochyby. Potrebujeme ľudí, ktorí majú široký rozhľad, ale zároveň sú špecialistami v nejakej úzkej oblasti. A tu je to isté s Fullstack inžinierom — človek, ktorý robí všetko. Začína od vývoja frontendu, testovania, backendu, serverov a všetkého ostatného. Neverím, že v veľkej firme môže byť týmto povolaním zodpovedný jeden človek, bez úzkych špecializácií v každom z týchto aspektov. Ale zároveň, ak máš len úzku špecializáciu, a neinvestuješ do toho, čo sa okolo deje, to tiež v modernom svete nefunguje. Takže by som povedal… slovo Fullstack by som vynechal. Potrebujeme inžinierov veľmi. Potrebujeme DevOps. Cítim, že čoskoro prehodnotíme tento aspekt. A tí už nebudú potrební.
Azat Khadiev: Môžeš to objasniť?
Pavol Selivanov: Myslím si, že v našom odvetví sa čoskoro dostaneme do bodu, kedy tieto role Dev a Ops už nebudú potrebné. Ak potrebujeme odborníkov a lovíme... Potrebujeme určitého vývojára, potrebujeme určitého administrátora, potrebujeme DevOps inžinierov — teraz ich už máme, a čoskoro sa objavia aj inžinieri pre produkciu a SRE inžinieri. Hoci v skutočnosti to, čo potrebujeme, sú inžinieri, ktorých chceme zamestnať. Pozadie v zásade nie je dôležité. Pretože... Napríklad SRE hovorí, že problémy infraštruktúry sú vždy softvérové. A čo... Poďme zobrať vývojárov — z pohľadu, že vývojár je inžinier — priradiť ich do oddelenia podpory a oni budú riešiť tieto problémy presne tak, ako riešia obchodné problémy pomocou kódu a inžinierstva ako takého.
Azat Khadiev: A z tohto hľadiska... Ako sa pohovárať s takými inžiniermi?
Pavol Selivanov: Och, dobrá otázka. Možno je to už za hranicou toho, čo chápem v tomto živote. Ale dal by som príklad. Nemá to nič spoločné s pohovorom. Ide o náš vzdelávací systém v Rusku. V IT vieme, že náš vzdelávací systém v Rusku je pre IT svet veľmi zastaraný, nie je taký, aký by mal byť. Hovorím v priemere o nekonečnej Rusku — a čo sa tam deje. Vypúšťajú sa ľudia, ktorí sú úplne nepripravení ísť hneď po ukončení do webového vývoja, do technologickej spoločnosti. A to je zlé. Učíme ich nejakým zvláštnym veciam, hoci by sme ich mali učiť, ako vyvíjať pre Android, pre iOS, ako používať Git a všetky tieto veci. V skutočnosti sa zdá, že nie. Inštitút je také obdobie, keď za teba väčšinou platia rodičia. Po celý tvoj život. A môžeš venovať päť rokov svojho života, aby si sa učil podrobne. A študovať celý tento T-shaped. Keď môžeš na inštitúte študovať, čo je systém riadenia verzií, aké sú vývojové vzory, ako to všetko testovať, aké sú databázy, vyrovnávače záťaže. A keď už ideš pracovať, začneš sa prehlbovať v nejakej konkrétnej oblasti. A takto získavame inžinierov. A náš vzdelávací systém v Rusku je oveľa bližšie k tejto pravde, než sa nám zdá. Dávajú nám dobré matematické vzdelanie, poskytujú nám dobré algoritmické školenie, dávajú nám nejakú predstavu o programovacích jazykoch. A o pohovore si myslím, že to je niečo blízke tomu. Potrebujeme inžinierov na pohovor. Potrebujeme hornú časť písmena T z T-shaped. Pretože vertikálnu čiaru písmena T získa.
Azat Khadiev: Áno, zaujímavé. Po piatich rokoch po inštitúte sa mi zdalo, že moje vzdelanie bolo akési zvláštne a neadekvátne. A potom, keď sa úlohy prehlbovali, projekty narastali, uvedomil som si, že nie, učili ma veľmi dôležitým veciam. Pavol, ďakujem ti. Bolo veľmi zaujímavé počuť tvoje odpovede. Počujeme tvoju prednášku.
Pavol Selivanov: Ďakujem vám.
Zdroj: habr.com
