Is Kubernetes de nieuwe Linux? Interview met Pavel Selivanov


Decodering:
Azat Khadiev: Hallo. Mijn naam is Azat Khadiev. Ik ben een PaaS-ontwikkelaar voor Mail.ru Cloud Solutions. Bij mij is Pavel Selivanov van Southbridge. We zijn op de DevOpsDays-conferentie. Hij zal hier een lezing houden over hoe je DevOps kunt bouwen met Kubernetes, maar dat zal je waarschijnlijk niet lukken. Waarom zo’n duister onderwerp?

Pavel Selivanov: Het is eigenlijk niet somber. Het gaat erom dat we met behulp van technologie veel problemen in onze gemeenschap proberen op te lossen. En we proberen dingen op een nogal eenzijdige manier op te lossen met behulp van technologie. Kubenetes is hetzelfde: dit is waar zij verantwoordelijk voor zijn, je zou kunnen zeggen dat Ops. Maar we hebben een geweldig concept van DevOps-ingenieur. Een DevOps engineer is verantwoordelijk voor Kubernetes. Tegelijkertijd... Zoals jij Kubernetes maakt, maar de jongens van de ontwikkelaars zijn zich helemaal niet bewust van al deze Kubernetes, ze weten niet wat je ermee kunt doen - en voor hen leeft alles precies hetzelfde. En dit ondanks het feit dat Kubernetes kant-en-klare oplossingen bevat, kant-en-klare tools om deze technologie te gebruiken om deze DevOps-aanpak, de communicatie tussen Dev en Ops, uit te breiden. Wij maken weinig gebruik van deze mogelijkheid. Omdat we zelfs de huidige structuren overbrengen naar al deze DevOps-tools – Docker, Kubernetes, clouds enzovoort – verergeren we deze situatie nog meer. En we beginnen de tools anders te gebruiken dan waarvoor ze bedoeld waren. En er worden rond al deze technologieën verschrikkelijke krukken gebouwd.

Azat Khadiev: Ik begrijp het. Het voelt als een breed onderwerp. Wat is volgens jou het meest voorkomende probleem waar bedrijven momenteel mee te maken hebben? Met Kubernetes.

Pavel Selivanov: Het meest voorkomende probleem met Kubernetes is het gebrek aan competenties. Dit is een veelvoorkomend probleem in de IT. Er is altijd een tekort aan specialisten. Er is altijd een gebrek aan competenties. En nu zijn er met Kubernetes niet genoeg competenties. En tegelijkertijd zijn er nog steeds XNUMX% kant-en-klare oplossingen op de markt waarmee je Kubernetes kunt krijgen, maar tegelijkertijd niet over de nodige competenties beschikt; er zijn er eerlijk gezegd maar weinig op de markt. En degenen die er zijn, roepen allemaal vragen op. Met Kubernetes zijn we voortdurend op zoek naar mensen die dit begrijpen. Wij proberen de ontwikkeling hierop aan te passen.

Azat Khadiev: En gezien het huidige tekort aan personeel in de IT. Die er altijd is geweest. En nu is dat zo. Hoe denk je dat je onder deze omstandigheden moet leven? Welke lifehacks zijn er?

Pavel Selivanov: Lifehacks. Ten eerste ziet de lifehack er vanuit het perspectief van de wolken als volgt uit: laten we ons enkele van uw competenties geven. En we zullen ze voor onszelf nemen. En we zullen dit in onszelf doen. En dat is allemaal goed. Behalve dat het belangrijk is om te begrijpen voor degenen die het gebruiken... Eigenlijk een mooi moment... Maar het is belangrijk om te begrijpen dat als we een deel van onze competenties ergens aan de cloud of provider geven, we er een universele oplossing voor terugkrijgen . Grofweg hebben we een database die heel specifieke dingen doet, en die is op een heel specifieke manier geconfigureerd. Door deze database aan de cloud te geven, kunnen we uiteraard de beheerder ontslaan die zich vroeger met databaseclusters bezighield - dezelfde Amazon of Google zullen dit voor ons doen. Maar tegelijkertijd staan ​​Amazon of Google ons niet toe onze database duidelijk te configureren. Grote projecten, grote bedrijven - ze komen in ieder geval op het punt dat ze op een bepaald moment in hun leven cloudoplossingen gebruiken, en dan keren ze in ieder geval terug naar het terugnemen van de competenties, omdat er iets specifiekers nodig is .

Azat Khadiev: Zijn universele oplossingen slecht of kunnen er meer op basis daarvan worden gebouwd?

Pavel Selivanov: Nee, universele oplossingen zijn zeker niet slecht. Universele oplossingen zijn goed. Gewoon universele oplossingen... universeel. Het is belangrijk om het hier te begrijpen. Het is alsof je een gemeenschappelijk script neemt... Als je de hele logica van het werk van het bedrijf rond dit gemeenschappelijke script en deze gemeenschappelijke applicatie kunt bouwen, dan is dat cool. En als de logica van het werk anders is, maar je neemt deze universele oplossing, een universeel script - en begint als een uil aan een wereldbol te trekken, dan is dit slecht. En er is niets mis met het universalisme zelf.

Azat Khadiev: Als deze beheerder al voor u werkt, ligt het punt niet in zijn ontslag. Hij zal gewoon meer kunnen doen.

Pavel Selivanov: Ja, neem de routine van hem af en geef ze ergens aan iemand om daar ergens te worden gemaakt. Dit is zeker een goede aanpak. Belangrijk hierbij is of deze standaardoplossing geschikt is voor een specifiek geval.

Azat Khadiev: Alleen al op basis van mijn ervaring zie ik dat veel bedrijven hetzelfde doen. Ze zijn een Kubernetes-cluster aan het opzetten en denken na over schaalvergroting. En al deze bewerkingen zijn zeer herhaalbaar.

Pavel Selivanov: Ja, zeker. Als we specifiek naar Kubernetes kijken, is er bovendien zo’n punt dat er momenteel echt weinig diepgaande, goede kennis over Kubernetes op de markt is. En Kubernetes is zo’n gigantische constructeur, dat als je het voor een bedrijf inhuurt, je bereid moet zijn een engineer mee te nemen die dit allemaal fulltime gaat doen. En het is duur. En probeer zo'n ingenieur opnieuw te vinden. Als ik het over mezelf heb, houd ik niet echt van cloudoplossingen, omdat ik een redelijk goed en diep begrip heb van hoe Kubernetes werkt. En vaak mis ik in de cloud gewoon de functionaliteit waar ik om vraag, maar ze vertellen me: "Nee, dat kan niet." In dat geval spijt het me, maar ik kan het beter doen dan Cloud. Maar tegelijkertijd, als je geen fulltime ingenieur hebt, je niet wilt betalen voor deze ingenieur die Kubernetes beheert, en je hem voortdurend veel geld betaalt alleen maar om te experimenteren, dan is de cloud gewoon een goede, mooie oplossing. Want daar zitten tenminste jongens die de aanbieder al heeft gerekruteerd. En ze weten wat ze doen. En de basisdingen die je dagelijks nodig hebt, zijn aanwezig.

Azat Khadiev: Wat vind je van de huidige staat van Kubernetes? Wat zal er over vijf en tien jaar met hem gebeuren?

Pavel Selivanov: Goede vraag. Ik weet gewoon wat er in onze gemeenschap hierover gaande is. Sommige mensen geloven dat er niets anders overblijft dan Kubernetes. De situatie die zich lang geleden met Linux voordeed. Dat wil zeggen, buiten Linux zijn er mensen die op BSD leven, hoogstwaarschijnlijk hebben ze zeer specifieke taken. Er zijn mensen die onder Windows werken - Windows-servers - hoogstwaarschijnlijk hebben ze ook specifieke taken, of hebben ze gewoon de bevoegdheid op dit gebied en zijn ze niet klaar om daar weg te gaan. De standaard in ons vakgebied is in ieder geval Linux. Er is een mening dat Kubernetes dezelfde de facto standaard zal worden, en er zal niets anders zijn dan Kubernetes. Kubernetes zal niet alleen applicaties, hun implementatie, implementatie en schaalvergroting beheren. Beheer in het algemeen alles. Nu vragen ze zich al af: “Is het mogelijk om een ​​database in Kubernetes te pushen?” Ik zeg meestal dat het probleem hier niet in Kubernetes ligt, maar in Docker. Als u er klaar voor bent om uw database in containers te laten draaien, dan is dit hoe het zal werken. Ze antwoorden mij: “Nee, nee, nee, wacht. Er zijn geen containers nodig. Kubernetes nodig. We zullen het op het knooppunt enten. Dat wil zeggen: alles zal zijn zoals we het nu hebben, alleen Kubernetes zal het allemaal beheren.” En dit is eigenlijk een goed idee. Dat wil zeggen, Kubernetes is zoiets als je naar een bedrijf kunt komen, als het bedrijf Kubernetes en processen erop heeft gebouwd, dan hoeft iemand die dit begrijpt, er maar een paar dagen naar te kijken om te zeggen: “ Ik ben klaar om je te steunen. Geheel. Geheel. Ik begrijp hoe dingen voor je werken. In tegenstelling tot benaderingen zonder Kubernetes werden hier enkele krukken ingeschoven, hier andere krukken. Ansible hier, Terraform hier. Iemand heeft dit allemaal geschreven, en het duurt zes maanden om erachter te komen. Hier. Dus of Kubernetes een de facto standaard zal worden, weet ik niet. Tegenwoordig ziet hij er veel ambitieuzer en zelfverzekerder uit dan de oplossingen die om hem heen bestaan.

Azat Khadiev: Nou, de vergelijking met Linux is nogal gewaagd. Het werkt op één machine - dat is alles. En Kubernetes werkt op veel machines. Er komen onmiddellijk een miljoen variaties en redenen naar voren. Ja, het is gewaagd. Als je er maar rekening mee houdt dat er concurrenten zijn voor dit paradigma. Serverloos bijvoorbeeld. Loopt Kubernetes gevaar bij dergelijke concurrenten?

Pavel Selivanov: Van Serverless... (gelach) Serverless - we begrijpen nog steeds dat er toch servers zijn. Ik hoorde onlangs een rapport over deze kwestie. Daar zei de persoon dat er nog steeds servers zijn - en dit is een wolk. Maar we moeten altijd begrijpen dat de cloud ook servers heeft. Er zijn echte hardwareservers, een rack, en ze zijn ergens geïnstalleerd. Dit is de wolk. Bovendien is er Serverless, waarbij er “geen” servers zijn. De vraag is dus: zal Serverless het winnen van Kubernetes? Het lijkt mij dat Serverless naar Kubernetes zal verhuizen. Voor aanbieders die Serverless aanbieden is Kubernetes een heel handig platform om dit aan te bieden. Ja, misschien zullen we op een gegeven moment in principe stoppen met praten over Kubernetes, als over de gewone ontwikkeling van bedrijfsapplicaties. Maar ergens in de diepte zullen providers en engineers Kubernetes hebben, waar dit allemaal zal worden geïmplementeerd.

Azat Khadiev: Een iets ander onderwerp. Er bestaat zoiets als een full-stack engineer. Wat vind je van hen? Bestaan ​​ze überhaupt?

Pavel Selivanov: Eh... Fullstack-ingenieur... Nou, het lijkt mij dat het de moeite waard is om onderscheid te maken tussen deze dingen die... Weet je, er bestaat zoiets als T-vormige mensen. Zijn zulke mensen nodig in de hedendaagse industrie? Ja, dat hebben we zeker nodig. We hebben mensen nodig die een brede blik hebben, maar tegelijkertijd specialisten zijn op een smal terrein. En hier is de Fullstack-ingenieur dezelfde: iemand die alles doet. Beginnend met front-end ontwikkeling, testen, back-end, servers en al het andere. Ik geloof niet dat één persoon dit in een groot bedrijf kan doen zonder nauwe specialisaties in elk van de parameters. Maar tegelijkertijd weet ik, omdat ik simpelweg een beperkte specialisatie heb, zoals wat er hieromheen gebeurt, niets - dit werkt ook niet in de moderne wereld. Dat wil zeggen, hier zou ik zeggen... ik zou het woord Fullstack weggooien. We hebben echt ingenieurs nodig. We hebben DevOps nodig. Ik heb het gevoel dat we dit moment binnenkort zullen heroverwegen. En die zullen niet nodig zijn.

Azat Khadiev: Kun je het onthullen?

Pavel Selivanov: Het lijkt mij dat wij in de industrie tot de conclusie zullen komen dat deze Dev- en Ops-rollen binnenkort zullen verdwijnen. Als we specialisten nodig hebben en we zijn op jacht... We hebben die en die ontwikkelaar nodig, we hebben die en die beheerders nodig, we hebben DevOps-ingenieurs nodig - nu hebben we ze, nu zullen we ook productie-ingenieurs hebben, SRE-ingenieurs. Hoewel we in feite ingenieurs nodig hebben die we willen inhuren. Achtergrond is over het algemeen niet belangrijk. Omdat... SRE zegt bijvoorbeeld dat infrastructuurproblemen altijd softwareproblemen zijn. Dus... Laten we ontwikkelaars nemen - vanuit het standpunt dat een ontwikkelaar een ingenieur is - ze op de onderhoudsafdeling plaatsen en zij zullen deze problemen op dezelfde manier oplossen als ze bedrijfsproblemen oplossen met behulp van code, met behulp van van techniek als zodanig.

Azat Khadiev: En vanuit dit gezichtspunt... Hoe interview je zulke ingenieurs?

Pavel Selivanov: Oh, goede vraag. Hij is waarschijnlijk al verder dan wat ik in dit leven begrijp. Maar ik zou slechts een voorbeeld geven. Het heeft niets met het interview te maken. Dit gaat over ons onderwijssysteem in Rusland. Op IT-gebied weten we dat ons onderwijssysteem in Rusland erg verouderd is voor de IT-wereld, het is niet wat het zou moeten zijn. Ik heb het gemiddeld over het uitgestrekte Rusland – en wat daar gebeurt. Er studeren mensen af ​​die er absoluut niet klaar voor zijn om de volgende dag na hun afstuderen aan de slag te gaan met webontwikkeling of een technologiebedrijf. En het is nogal slecht. We leren ze een aantal vreemde dingen, hoewel we ze zouden moeten leren hoe ze moeten ontwikkelen voor Android, iOS, hoe ze Git moeten gebruiken en al deze dingen. In feite lijkt het erop van niet. Studeren is een tijd waarin je ouders grotendeels voor je betalen. Voor je hele leven. En je kunt vijf jaar van je leven besteden aan diepgaand studeren. En bestudeer dit allemaal T-vormig. Als je op het instituut kunt bestuderen wat een versiebeheersysteem is, welke ontwikkelpatronen er zijn, hoe je het geheel kunt testen, wat voor soort databases en balancers er zijn. En als je naar je werk gaat, begin je dieper in een specifiek gebied te duiken. En zo krijgen we ingenieurs. En ons onderwijssysteem in Rusland is veel dichter bij deze waarheid dan we denken. We krijgen een goede wiskundige training, we krijgen een goede algoritmische training, we krijgen enig begrip van programmeertalen. En wat het interview betreft, het lijkt mij dat dit hier ongeveer op lijkt. We moeten ingenieurs interviewen. We hebben de bovenkant van de T nodig voor de T-vorm. Omdat het de verticale lijn van de letter T krijgt.

Azat Khadiev: Ja, interessant. Vijf jaar na mijn studie leek het mij dat mijn opleiding op de een of andere manier vreemd en ontoereikend was. En toen het werk vorderde, toen de taken dieper werden en de projecten groter werden, besefte ik dat nee, ik had heel belangrijke dingen geleerd. Pavel, dank je. Het was heel interessant om naar jullie antwoorden te luisteren. Laten we naar uw rapport luisteren.

Pavel Selivanov: Dank je.

Bron: www.habr.com

Voeg een reactie