Je Kubernetes novi Linux? Intervju s Pavlom Selivanovom


Dešifriranje:
Azat Khadiev: Pozdravljeni. Moje ime je Azat Khadiev. Sem razvijalec PaaS za Mail.ru Cloud Solutions. Z mano je Pavel Selivanov iz Southbridgea. Smo na konferenci DevOpsDays. Tukaj bo govoril o tem, kako lahko zgradite DevOps s Kubernetesom, vendar vam najverjetneje ne bo uspelo. Zakaj tako temna tema?

Pavel Selivanov: Pravzaprav ni mračno. Gre za to, da skušamo marsikatero težavo v naši skupnosti rešiti s pomočjo tehnologije. In stvari skušamo reševati s pomočjo tehnologije precej enostransko. Kubenetes je isto - to je stvar, za katero so odgovorni, lahko bi rekli, da Ops. Vendar imamo odličen koncept DevOps inženirja. Za Kubernetes je odgovoren inženir DevOps. Hkrati ... Kot da narediš Kubernetes, a se Dev fantje sploh ne zavedajo vseh teh Kubernetesov, se ne zavedajo, kaj ti omogoča - in vse jim živi popolnoma enako. In to kljub dejstvu, da Kubernetes vsebuje že pripravljene rešitve, pripravljena orodja za uporabo te tehnologije za razširitev tega pristopa DevOps, komunikacije med Dev in Ops. To priložnost izkoristimo zelo malo. Zaradi dejstva, da celo prenašamo trenutne strukture na vsa ta orodja DevOps - Docker, Kubernetes, oblake in tako naprej - to situacijo še bolj poslabšujemo. In orodja začnemo uporabljati drugače, kot je bilo predvideno. In okoli vseh teh tehnologij se gradijo strašne bergle.

Azat Khadiev: Vidim. Zdi se, da je tema široka. Katera je po vašem mnenju trenutno najpogostejša težava podjetij? S Kubernetesom.

Pavel Selivanov: Najpogostejša težava Kubernetesa je pomanjkanje kompetenc. To je pogosta težava v IT. Specialistov vedno primanjkuje. Kompetence vedno primanjkuje. In zdaj s Kubernetesom ni dovolj kompetenc. In hkrati na trgu še vedno obstajajo XNUMX% pripravljene rešitve, ki bi vam omogočile pridobiti Kubernetes, a hkrati nimajo potrebnih kompetenc, na trgu jih je odkrito malo. In tisti, ki obstajajo, vsi postavljajo nekaj vprašanj. S Kubernetesom nenehno iščemo ljudi, ki to razumejo. Temu poskušamo prilagoditi razvoj.

Azat Khadiev: Glede na trenutno pomanjkanje osebja v IT. Ki je bila vedno tam. In zdaj obstaja. Kako mislite, kako živeti v teh razmerah? Kakšni življenjski triki obstajajo?

Pavel Selivanov: Lifehacks. Prvič, z vidika oblakov je življenjski vdor videti takole - dajmo nam nekaj vaših kompetenc. In vzeli jih bomo zase. In to bomo storili v sebi. In to je vse dobro. Le da je pomembno razumeti za tiste, ki ga uporabljajo... Pravzaprav super moment... Pomembno pa je razumeti, da če damo del svojih kompetenc nekam v oblak ali ponudnika, dobimo v zameno univerzalno rešitev. . Grobo rečeno, imamo bazo podatkov, ki dela zelo specifične stvari in je bila konfigurirana na zelo specifičen način. Če damo to bazo v oblak, lahko seveda odpustimo skrbnika, ki se je ukvarjal z grozdi baz podatkov - isti Amazon ali Google bo to storil namesto nas. Toda hkrati nam Amazon ali Google ne bosta dovolila, da jasno konfiguriramo svojo bazo podatkov. Veliki projekti, velika podjetja – v vsakem primeru pridejo do tega, da v nekem obdobju svojega življenja uporabljajo rešitve v oblaku, potem pa se v vsakem primeru vrnejo k prevzemanju kompetenc nazaj k sebi, ker je potrebno nekaj bolj specifičnega. .

Azat Khadiev: Ali so univerzalne rešitve slabe ali je na njihovi podlagi mogoče zgraditi več?

Pavel Selivanov: Ne, univerzalne rešitve zagotovo niso slabe. Univerzalne rešitve so dobre. Samo univerzalne rešitve... univerzalne. Tukaj je pomembno razumeti. To je tako, kot da bi vzeli skupno skripto ... Če lahko zgradite celotno logiko dela podjetja okoli te skupne skripte, skupne aplikacije, potem je to kul. In če je logika dela drugačna, ampak vzameš to univerzalno rešitev, univerzalni scenarij - in začneš kot sova vleči globus, je to slabo. In s samim univerzalizmom ni nič narobe.

Azat Khadiev: Če ta administrator že dela za vas, ni bistvo v njegovi odpustitvi. Le več bo zmogel.

Pavel Selivanov: Ja, odvzemite mu rutino in jih dajte nekam nekomu, da jih tam nekje naredi. To je vsekakor dober pristop. Pri tem je pomembno, ali je ta standardna rešitev primerna za določen primer.

Azat Khadiev: Na podlagi svojih izkušenj vidim, da veliko podjetij počne isto. Postavljajo gručo Kubernetes in razmišljajo o njeni povečavi. In vse te operacije so zelo ponovljive.

Pavel Selivanov: Da, vsekakor. Še več, če vzamemo posebej Kubernetes, je trenutno na trgu res malo poglobljenega, dobrega znanja o Kubernetesu. In Kubernetes je tako velikanski konstruktor, da če ga najamete za podjetje, bodite pripravljeni vzeti s seboj inženirja, ki bo vse to delal ves čas. In to je drago. In poskusite znova najti takšnega inženirja. Če govorim o sebi, mi res niso všeč nobene rešitve v oblaku, ker dokaj dobro in globoko razumem, kako deluje Kubernetes. In pogosto mi v oblakih manjka samo nekaj funkcionalnosti, ki jih zahtevam - vendar mi rečejo "Ne, ne moreš." No, v tem primeru mi je žal, ampak lahko naredim bolje kot Cloud. Toda hkrati, če nimate inženirja za polni delovni čas, ne želite plačati za tega inženirja, ki vodi Kubernetes, in mu nenehno plačujete veliko denarja samo za eksperimentiranje, potem je oblak samo dobra, odlična rešitev. Ker tam vsaj sedijo tipi, ki jih je ponudnik že rekrutiral. In vedo, kaj delajo. In tiste osnovne stvari, ki jih potrebujete vsak dan, so tam.

Azat Khadiev: Kaj menite o trenutnem stanju Kubernetesa? Kaj bo z njim čez pet in deset let?

Pavel Selivanov: Dobro vprašanje. Samo vem, kaj se v naši skupnosti dogaja glede tega. Nekateri verjamejo, da razen Kubernetesa ne bo ostalo nič. Situacija, ki se je zgodila z Linuxom pred davnimi časi. To pomeni, da zunaj Linuxa obstajajo ljudje, ki živijo na BSD, najverjetneje imajo zelo specifične naloge. Obstajajo ljudje, ki delajo pod Windows - Windows strežniki - najverjetneje imajo tudi posebne naloge ali pa so preprosto usposobljeni za to zadevo in niso pripravljeni oditi od tam. Vsekakor je standard na našem področju Linux. Obstaja mnenje, da bo Kubernetes postal enak de facto standard in ne bo nič drugega kot Kubernetes. Kubernetes ne bo upravljal samo z aplikacijami, njihovo uvajanjem, uvajanjem in skaliranjem. Na splošno upravljajte vse. Sedaj že sprašujejo: “A je možno bazo potisniti v Kubernetes?” Ponavadi rečem, da težava tukaj ni v Kubernetesu, ampak v Dockerju. Če ste pripravljeni, da se vaša zbirka podatkov izvaja v vsebnikih, bo delovalo tako. Odgovorijo mi: »Ne, ne, ne, počakaj. Ni potrebe po posodah. Potrebujem Kubernetes. Precepili ga bomo na vozlišče. Se pravi, vse bo tako, kot imamo zdaj, samo Kubernetes bo vse to upravljal.« In to je pravzaprav dobra ideja. Se pravi, Kubernetes je taka stvar, ko lahko prideš v podjetje, če ima podjetje Kubernetes in na njem zgrajene procese, potem človek, ki to razume - samo nekaj dni ga mora pogledati, da reče: “ Pripravljen sem te podpreti. Popolnoma. Popolnoma. Razumem, kako stvari delujejo zate." V nasprotju s pristopi brez Kubernetesa - tukaj so bile vrinjene ene bergle, tukaj druge bergle. Ansible tukaj, Terraform tukaj. Nekdo je vse to napisal in traja šest mesecev, da to ugotovimo. Tukaj. Torej, ali bo Kubernetes postal de facto standard, ne vem. Danes je videti veliko bolj ambiciozen in samozavesten kot rešitve, ki obstajajo okoli njega.

Azat Khadiev: No, primerjava z Linuxom je precej drzna. Deluje na enem stroju - to je vse. In Kubernetes deluje na številnih strojih. Takoj se pojavi milijon različic in razlogov. Ja, krepko je. Samo če upoštevate, da obstajajo konkurenti tej paradigmi. Na primer brez strežnika. Je Kubernetes s takimi konkurenti v nevarnosti?

Pavel Selivanov: Od Serverless ... (smeh) Serverless - še vedno razumemo, da kljub vsemu obstajajo strežniki. Nedavno sem slišal poročilo o tej zadevi. Tam je oseba rekla, da še vedno obstajajo strežniki - in to je oblak. Vedno pa moramo razumeti, da ima oblak tudi strežnike. Obstajajo pravi strežniki strojne opreme, stojalo in nekje so nameščeni. To je oblak. Poleg tega je brez strežnikov, kjer strežnikov »ni«. Vprašanje je torej: ali bo Serverless zmagal nad Kubernetesom? Zdi se mi, da se bo Serverless preselil v Kubernetes. Za ponudnike, ki ponujajo brezstrežniško storitev, je Kubernetes zelo priročna platforma za to. Da, morda bomo na neki točki načeloma nehali govoriti o Kubernetesu kot o običajnem razvoju poslovnih aplikacij. Ampak nekje v globini bodo ponudniki in inženirji imeli Kubernetes, kjer bo vse to implementirano.

Azat Khadiev: Nekoliko drugačna tema. Obstaja nekaj takega kot inženir s polnim skladom. Kaj menite o njih? Ali sploh obstajajo?

Pavel Selivanov: Hm ... Fullstack inženir ... No, zdi se mi, da je vredno razlikovati med temi stvarmi, ki ... Veste, obstajajo ljudje v obliki črke T. So taki ljudje potrebni v današnji industriji? Da, vsekakor ga potrebujemo. Potrebujemo ljudi, ki imajo široke nazore, a so hkrati specialisti na nekem ozkem področju. In tukaj je Fullstack inženir enak – oseba, ki naredi vse. Začenši s front-end razvojem, testiranjem, back-endom, strežniki in vsem ostalim. Ne verjamem, da lahko v velikem podjetju to počne ena oseba, ne da bi imela ozko specializacijo za vsakega od parametrov. Toda hkrati preprosto imeti ozko specializacijo, kot je to, kar se dogaja okoli tega, ne vem ničesar - tudi to v sodobnem svetu ne deluje. Se pravi, tukaj bi rekel... Zavrgel bi besedo Fullstack. Res potrebujemo inženirje. Potrebujemo DevOps. Imam občutek, da bomo ta trenutek kmalu premislili. In ne bodo potrebni.

Azat Khadiev: Lahko razkriješ?

Pavel Selivanov: Zdi se mi, da bomo v industriji prišli do zaključka, da bosta vlogi Dev in Ops kmalu izginili. Če rabimo specialiste in se lovimo ... Potrebujemo takšnega in takega razvijalca, rabimo takšne in take administratorje, rabimo DevOps inženirje - zdaj jih imamo, zdaj bomo imeli še proizvodne inženirje, SRE inženirje. Čeprav v resnici potrebujemo inženirje, ki jih želimo zaposliti. Ozadje na splošno ni pomembno. Ker ... Na primer, SRE pravi, da so težave z infrastrukturo vedno težave s programsko opremo. Torej... Vzemimo razvijalce - z vidika, da je razvijalec inženir - dajmo jih v oddelek vzdrževanja in oni bodo te probleme reševali tako, kot rešujejo poslovne probleme s pomočjo kode, s pomočjo inženirstva kot takega.

Azat Khadiev: In s tega vidika ... Kako intervjuvati takšne inženirje?

Pavel Selivanov: Oh, dobro vprašanje. Verjetno je že onkraj tega, kar razumem v tem življenju. Bi pa dal samo primer. To nima nobene zveze z intervjujem. Gre za naš izobraževalni sistem v Rusiji. V IT-ju vemo, da je naš izobraževalni sistem v Rusiji zelo zastarel za svet IT, ni tak, kot bi moral biti. V povprečju govorim o ogromni Rusiji - in o tem, kaj se tam dogaja. Diplomirajo ljudje, ki nikakor niso pripravljeni, da bi že naslednji dan po diplomi šli v spletni razvoj ali tehnološko podjetje. In nekako je slabo. Učimo jih nekaj čudnih stvari, čeprav bi jih morali učiti, kako razvijati za Android, iOS, kako uporabljati Git in vse te stvari. Pravzaprav se zdi, da ne. Fakulteta je čas, ko tvoji starši večinoma plačujejo zate. Za vse življenje. In pet let svojega življenja lahko posvetiš poglobljenemu študiju. In preučite vse to v obliki črke T. Ko lahko na inštitutu študiraš, kaj je sistem za nadzor različic, kakšni so razvojni vzorci, kako testirati celotno stvar, kakšne baze podatkov in balanserji obstajajo. In ko greš v službo, se začneš poglabljati v določeno področje. In tako dobimo inženirje. In naš izobraževalni sistem v Rusiji je veliko bližje tej resnici, kot si mislimo. Dobili smo dobro matematično usposabljanje, dobili smo dobro algoritemsko usposabljanje, dobili smo nekaj razumevanja programskih jezikov. In glede intervjuja se mi zdi nekaj blizu tega. Inženirje moramo intervjuvati. Potrebujemo vrh T za T-obliko. Ker bo dobil navpično črto črke T.

Azat Khadiev: Da, zanimivo. Pet let po fakulteti se mi je zdelo, da je moja izobrazba nekako čudna in neustrezna. In potem, ko je delo napredovalo, ko so naloge postajale globlje, projekti večji, sem spoznal, da ne, naučili so me zelo pomembnih stvari. Pavel, hvala. Bilo je zelo zanimivo poslušati vaše odgovore. Poslušajmo tvoje poročilo.

Pavel Selivanov: Hvala.

Vir: www.habr.com

Dodaj komentar