Kubernetes — este acesta noul Linux? Interviu cu Pavel Selivanov

Redați video

Decodare:
Azat Khadiev: Bună ziua. Mă numesc Azat Khadiev. Sunt dezvoltator în direcția PaaS a Mail.ru Cloud Solutions. Alături de mine se află Pavel Selivanov de la compania Southbridge. Ne aflăm la conferința DevOpsDays. El va susține o prezentare despre cum putem construi DevOps cu Kubernetes, dar cel mai probabil nu veți reuși. De ce o temă atât de sumbră?

Pavel Selivanov: De fapt, nu este o temă sumbră. Este vorba despre faptul că multe probleme în comunitatea noastră încercăm să le rezolvăm prin tehnologie. Și de multe ori încercăm să le soluționăm într-un mod destul de monoton. Kubernetes este la fel — este o chestiune de care se ocupă, se poate spune, Ops. Dar avem un concept minunat numit inginer DevOps. Inginerul DevOps se ocupă de Kubernetes. Totuși… De exemplu, voi faceți Kubernetes, iar echipa Dev nu a auzit niciodată despre toate aceste Kubernetes, nu știe ce poate face — și pentru ei totul funcționează exact la fel. Și asta în ciuda faptului că Kubernetes conține soluții gata făcute, instrumente gata pregătite pentru a extinde acest concept DevOps, comunicarea între Dev și Ops. Folosim foarte puțin această oportunitate. Datorită faptului că chiar și structurile actuale le adaptăm la toate aceste instrumente DevOps — Docker, Kubernetes, clouduri ș.a.m.d. — agravam și mai mult situația. Și începem să folosim instrumentele nu în felul în care au fost gândite. Iar în jurul acestor tehnologii se construiesc doar soluții tentante.

Azat Khadiev: Înțeleg. Se simte că tema este amplă. Ce părere ai despre cea mai comună problemă cu care se confruntă companiile acum? Cu Kubernetes.

Pavel Selivanov: Cea mai frecventă problemă cu Kubernetes este lipsa competențelor. Este o problemă comună în IT. Întotdeauna ne lipsesc specialiști. Întotdeauna ne lipsesc competențele. Iar acum, cu Kubernetes, competențele sunt și mai puține. Și pe deasupra, există foarte puține soluții gata făcute pe piață care să permită obținerea Kubernetes fără competențele necesare; acestea sunt desigur foarte puține pe piață. Iar cele care există ridică întrebări. Constant suntem în căutarea persoanelor care se pricep la Kubernetes. Încercăm să atragem dezvoltarea în acest sens.

Azat Khadievt: Având în vedere deficitul actual de personal în IT, care a existat întotdeauna și există și acum, cum crezi că este posibil să trăiești în aceste condiții? Ce sfaturi ai pentru a face față?

Pavel Selivanov: Sfaturi. În primul rând, din perspectiva cloud-ului, sfatul ar suna astfel — să ne predai o parte din competențele tale, iar noi le vom prelua și ne vom ocupa de ele în interior. E totul bine, cu excepția că este important să înțelegem, pentru cei care utilizează acest serviciu… De fapt, este un moment excelent… Dar este crucial să înțelegem că, predând o parte din competențele noastre către un cloud sau un furnizor, primim în schimb o soluție universalizată. Cu alte cuvinte, avem o bază de date care îndeplinește lucruri foarte specifice și a fost configurată în mod special. Predând această bază de date în cloud, bineînțeles că putem demite administratorul care se ocupa anterior de clusterele de baze de date — aceeași Amazon sau Google o va face pentru noi. Dar, în același timp, aceeași Amazon sau Google nu ne vor permite să configurăm exact baza noastră de date. Proiectele mari, companiile mari — într-un anumit moment din viața lor folosesc soluții cloud, iar apoi, în mod inevitabil, se întorc la preluarea competențelor înapoi pentru că e nevoie de ceva mai specific.

Azat Khadievt: Sunt soluțiile universale rele sau se pot construi lucruri mai mari pe baza lor?

Pavel Selivanov: Nu, soluțiile universale nu sunt rele. Soluțiile universale sunt bune. Doar că soluțiile universale … sunt universale. Aici este important să înțelegem. Este ca și cum ai lua un script general… Dacă în jurul acestui script general, aplicabil în mod general, poți construi întreaga logică a funcționării companiei — este grozav. Dar dacă logica funcționării este alta, dar tu folosești această soluție universală, acest script universal — și începi să-l adaptezi forțat, este rău. În universalism nu este nimic rău.

Azat Khadievt: Dacă administratorul tău deja lucrează, problema nu este demiterea lui. El pur și simplu va putea face mai multe.

Pavel Selivanov: Da, să-i eliminăm rutina și să o delegăm undeva, ca să se ocupe cineva de ea. Acesta este, fără îndoială, un abordare bună. Un aspect important este dacă această soluție standard se potrivește pentru cazul specific.

Azat Hadiev: Pur și simplu, având în vedere experiența mea, observ că multe companii fac același lucru. Ele configurează un cluster Kubernetes, se gândesc la scalabilitatea acestuia. Și toate aceste operațiuni sunt foarte repetitive.

Pavel Selivanov: Da, fără îndoială. Mai ales că, dacă ne uităm specific la Kubernetes, există un aspect în care cunoștințele profunde și bune despre Kubernetes sunt foarte rare pe piață. Kubernetes este un constructor gigantic, așa că dacă l-ai luat în companie, fii pregătit să angajezi un inginer care să se ocupe de toate aceste lucruri cu normă întreagă. Și este scump. Și, în plus, e greu să găsești un astfel de inginer. Când vorbesc despre mine, nu prea îmi plac soluțiile cloud, pentru că înțeleg destul de bine și profund cum funcționează Kubernetes. Și adesea în clouduri îmi lipsește o funcționalitate pe care o cer — iar ei îmi spun "Nu, nu se poate". Ei bine, în acest caz, scuzați-mă, dar pot face mai bine decât un cloud. Dar, pe de altă parte, dacă nu ai un inginer cu normă întreagă, nu ai dorința de a plăti pentru acel inginer care se ocupă de Kubernetes și îi plătești constant mulți bani pentru a experimenta, atunci cloudul este pur și simplu o soluție excelentă. Pentru că acolo cel puțin sunt oameni pe care furnizorul însuși i-a angajat. Și ei știu ce fac. Și lucrurile de bază de care ai nevoie zilnic, se găsesc acolo.

Azat Hadiev: Ce părere ai despre starea actuală a Kubernetes? Ce va fi cu el în cinci ani și în zece ani?

Pavel Selivanov: O întrebare bună. Știu doar ce se întâmplă în comunitatea noastră în legătură cu aceasta. Unii oameni cred că, în afară de Kubernetes, nu va mai rămâne nimic. Situația care s-a întâmplat demult cu Linux. Adică, în afara Linux, există persoane care trăiesc pe BSD, probabil au sarcini foarte specifice. Există oameni care lucrează sub Windows — servere Windows — probabil și ei au sarcini specifice sau au pur și simplu competențe în acest domeniu și nu sunt pregătiți să plece de acolo. Oricum, standardul în domeniul nostru este Linux. Aceasta este o părere că Kubernetes va deveni un astfel de standard de facto, și că, în afară de Kubernetes, nu va mai fi nimic. Kubernetes va gestiona nu doar aplicațiile, desfășurarea, implementarea, scalarea. De fapt, va gestiona totul. Acum se întreabă deja: „Poate fi o bază de date introdusă în Kubernetes?”. Eu, de obicei, spun că aici nu este o problemă legată de Kubernetes, ci de Docker. Dacă ești pregătit ca baza ta de date să funcționeze în containere, așa va funcționa. Îmi răspund: „Nu, nu, nu, așteaptă. Nu trebuie în containere. Trebuie în Kubernetes. O vom lega de nod. Adică totul va fi ca acum, doar că totul va fi gestionat de Kubernetes.” Și, de fapt, aceasta este o idee bună. Adică, Kubernetes este un astfel de instrument, când poți să te alături unei companii, dacă în companie există Kubernetes și procese construite pe el, atunci pentru cineva care se pricepe, este suficient să privească câteva zile pentru a spune: „Sunt pregătit să vă susțin. Complet. Totul. Am înțeles cum funcționează.” Spre deosebire de abordările fără Kubernetes — aici s-au pus câteva „sprijinuri”, aici altele. Aici Ansible, aici Terraform. Cineva a scris totul asta, și este nevoie de șase luni pentru a te familiariza. Așadar, dacă va deveni Kubernetes un standard de facto, nu știu. În ziua de astăzi, arată mult mai ambițios și mai sigur decât soluțiile care există în jurul său.

Azat Khadiev: Ei bine, comparația cu Linux este destul de îndrăzneață. Acesta funcționează pe o singură mașină — și atât. Dar Kubernetes funcționează pe multe mașini. Immediat apar milioane de variații, motive. Da, este îndrăzneț. Numai că trebuie avut în vedere că există competitori pentru această paradigmă. De exemplu, Serverless. Este Kubernetes în pericol în fața acestor competitori?

Pavel Selivanov: De la Serverless… (râde) Serverless — trebuie să înțelegem că server de fapt există. Recent am auzit o prezentare pe această temă. Oamenii au spus că serverele există — și aceasta este cloudul. Dar trebuie să înțelegem întotdeauna că în cloud există de asemenea servere. Sunt servere fizice, rack-uri, care sunt instalate undeva. Asta este cloudul. Deasupra acestuia există Serverless, unde servere nu sunt. Așadar, întrebarea este, va învinge Serverless Kubernetes? Cred că Serverless va migrat în Kubernetes. Pentru furnizorii care oferă Serverless, Kubernetes este o platformă foarte convenabilă pentru a oferi acest serviciu. Da, este posibil ca la un moment dat să nu mai vorbim despre Kubernetes în general, ca despre dezvoltarea standard a aplicațiilor de business. Dar undeva, în profunzime, furnizorii și inginerii vor continua să aibă Kubernetes, unde toate acestea vor fi implementate.

Azat Khadiev: O temă puțin diferită. Există un concept numit inginer fullstack. Ce părere ai despre aceștia? Există cu adevărat?

Pavel Selivanov: Eh… Inginer fullstack… Cred că ar trebui să delimităm aceste lucruri. Știi, există un concept numit oameni în formă de T. Au nevoie de astfel de persoane în industria de astăzi? Da, fără îndoială. Ne trebuie persoane care au o viziune largă, dar în același timp sunt specialiști într-un domeniu restrâns. Așadar, un inginer fullstack se potrivește aici — o persoană care face totul. Începând de la dezvoltarea frontend-ului, testare, backend, servere și tot restul. Nu cred că într-o companie mare poate face o singură persoană acest lucru fără a avea specializări restrânse pe fiecare dintre parametrii. Dar, în același timp, având doar o specializare restrânsă, fără să știe ce se întâmplă în jur, de asemenea, nu funcționează în lumea modernă. Deci, aș spune… aș elimina cuvântul Fullstack. Avem nevoie de ingineri foarte buni. Avem nevoie de DevOps. Simt că în curând vom reconsidera acest aspect. Și nu vor mai fi necesari.

Azat Khadiev: Poți detalia?

Pavel Selivanov: Mi se pare că în industrie vom ajunge în punctul în care rolurile Dev și Ops vor dispărea în curând. Dacă avem nevoie de specialiști și recrutăm... Avem nevoie de un anumit tip de dezvoltator, avem nevoie de administratori, avem nevoie de ingineri DevOps — acum aceștia sunt la noi, iar în curând vor apărea și ingineri de producție, ingineri SRE. De fapt, ceea ce ne trebuie sunt ingineri pe care vrem să-i angajăm. Experiența anterioară nu este atât de importantă. Pentru că... De exemplu, un SRE spune că problemele de infrastructură sunt întotdeauna legate de software. De ce nu... Hai să angajăm dezvoltatori — din perspectiva că un dezvoltator este un inginer — să-i integrăm în departamentul de suport și vor rezolva aceste probleme exact așa cum rezolvă problemele de business prin cod, prin inginerie, în general.

Azat Khadieff: Și din acest punct de vedere... Cum se desfășoară interviurile pentru astfel de ingineri?

Pavel Selivanov: Oh, that's a good question. It probably goes beyond what I understand in this life. But let me give you an example. It doesn't relate to the interview. It’s about our education system in Russia. In IT, we know that our education system in Russia is very outdated for the IT world; it's not what it should be. I'm generally talking about the vastness of Russia — and what's happening there. People are graduating who are completely unprepared to go into web development or a tech company right after graduation. And that's a problem. We teach them some strange things, when actually we should be teaching them how to develop for Android, for iOS, how to use Git, and all that. In reality, it seems that's not the case. The university is a time when, for the most part, your parents pay for you. For your whole life. And you can dedicate five years of your life to studying in depth. And learn all this T-shaped knowledge. At university, you can learn what version control systems are, what development patterns there are, how to test everything, what databases and load balancers exist. But when you start working, you begin to specialize in a specific area. And this way, we produce engineers. And our education system in Russia is much closer to this truth than we think. We are given a solid mathematical foundation, a good understanding of algorithms, and some insight into programming languages. And regarding the interview, I think it's something close to that. We need to interview engineers. We need the upper part of the T in T-shaped. Because they will acquire the vertical line of the T.

Azat Khadieff: Yes, interesting. For five years after university, I felt that my education was strange and inadequate. But then, as I worked and faced deeper tasks, with bigger projects, I realized I was taught very important things. Pavel, thank you. It was very interesting to hear your responses. Let’s listen to your presentation.

Pavel Selivanov: Thank you.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster