
Oversættelse:
Azat Khadiev: Hej. Mit navn er Azat Khadiev. Jeg er udvikler inden for PaaS-retningen for Mail.ru Cloud Solutions. Her med mig er Pavel Selivanov fra virksomheden Southbridge. Vi er til konferencen DevOpsDays. Han vil her holde et foredrag om, at man kan bygge DevOps med Kubernetes, men sandsynligvis vil I ikke lykkes med det. Hvorfor er emnet så dystert?
Pavel Selivanov: Det er faktisk ikke dystert. Det handler om, at mange problemer i vores samfund forsøges løst med teknologi. Og vi prøver at løse dem på en ret ensidig måde med teknologi. Kubernetes er den samme — det er noget, som man kan sige, at Ops står til ansvar for. Men vi har et fremragende begreb, DevOps-ingeniør. DevOps-ingeniøren står for Kubernetes. Samtidig… Det er som om, at I laver Kubernetes, mens udviklerne slet ikke er klar over alt det, som Kubernetes kan gøre — og alt lever i princippet ligesom før. Og dette på trods af, at Kubernetes indeholder færdige løsninger, klare værktøjer til at udvide denne DevOps-tilgang, kommunikationen mellem Dev og Ops. Vi bruger meget lidt af denne mulighed. Ved at vi selv overfører de nuværende strukturer til alle disse DevOps-værktøjer — Docker, Kubernetes, cloud-løsninger osv. — forværrer vi situationen endnu mere. Og værktøjerne begynder at blive brugt på en måde, som de ikke var tænkt til. Og omkring alle disse teknologier opstår der simpelthen frygtelige krummer.
Azat Khadiev: Forståeligt. Man kan mærke, at emnet er omfattende. Hvad mener du, hvad er det mest udbredte problem blandt virksomheder lige nu? Med Kubernetes.
Pavel Selivanov: Med Kubernetes er det mest udbredte problem — mangel på kompetencer. I IT er dette et udbredt problem. Der mangler altid specialister. Der mangler altid kompetencer. Og lige nu mangler der kompetencer inden for Kubernetes. Samtidig er der stadigvæk meget få 100% klar-løsninger på markedet, som gør det muligt at få Kubernetes uden nødvendige kompetencer, og de få, der findes, rejser alle mulige spørgsmål. Vi søger konstant personer, der har forstand på Kubernetes. Vi forsøger at trække udviklingen under dette med.
Azat Khadiyev: Og med den nuværende mangel på arbejdskraft i IT, som altid har eksisteret, og som stadig er til stede, hvordan tror du, man kan navigere i disse forhold? Hvilke tips har du?
Pavel Selivanov: Tips. Først og fremmest ser lifthackningen i forhold til cloud-ydelser sådan ud - lad os tage en del af jeres kompetencer fra jer. Så tager vi dem og vil håndtere det internt. Det lyder godt. Bortset fra at det er vigtigt at forstå for dem, der bruger det… Det er faktisk et fantastisk aspekt… Men det er vigtigt at forstå, at når vi overfører en del af vores kompetencer til en cloud eller udbyder, får vi et standardiseret løsning tilbage. Kort sagt, vi har en database, der udfører meget specifikke opgaver og er blevet meget specifikt konfigureret. Når vi overfører denne database til skyen, kan vi selvfølgelig fyre den administrator, der tidligere var ansvarlig for databaseklynger - Amazon eller Google vil tage sig af det for os. Men samtidig vil hverken Amazon eller Google lade os fintune vores database. Store projekter, store virksomheder - de ender altid med på et eller andet tidspunkt i deres liv at bruge cloud-løsninger, for så derefter at tage deres kompetencer tilbage, fordi der kræves mere specifikke løsninger.
Azat Khadiyev: Er universelle løsninger dårlige, eller kan man bygge mere på dem?
Pavel Selivanov: Nej, universelle løsninger er bestemt ikke dårlige. Universelle løsninger er gode. De er bare… universelle. Det er vigtigt at forstå. Det er ligesom at tage et generelt script… Hvis du kan opbygge hele virksomhedens logik omkring dette generelle script og dets generelle anvendelse - så er det fantastisk. Men hvis virksomhedens logik er anderledes, og du tager dette universelle valg, det universelle script - og begynder at forsøge at presse det ind, som en ugle på en globus, så er det dårligt. Der er ikke noget dårligt i selve universalismen.
Azat Khadiyev: Hvis administratoren allerede arbejder for dig, er det ikke spørgsmålet om at fyre ham. Han vil blot kunne lave mere.
Pavel Selivanov: Ja, at tage den rutine fra ham og overføre den til et andet sted, hvor det gøres. Det er helt klart en god tilgang. Det vigtige her er, om denne standardløsning passer til det specifikke tilfælde.
Azat Khadiyev: Baseret på min erfaring ser jeg, at mange virksomheder beskæftiger sig med det samme. De sætter en Kubernetes-klynge op og overvejer, hvordan de kan skalere den. Alle disse operationer er meget gentagelige.
Pavel Selivanov: Ja, uden tvivl. Især når vi specifikt taler om Kubernetes, så er der det aspekt, at der faktisk er meget få dybe og gode viden om Kubernetes tilgængelig på markedet i dag. Kubernetes er en kæmpe byggeklods, så hvis du tager det ind i din virksomhed, skal du være forberedt på at ansætte en ingeniør, der kan arbejde med det på fuld tid. Og det er dyrt. Og det er svært at finde en sådan ingeniør. Når jeg taler om mig selv, så er jeg ikke så meget fan af cloud-løsninger, fordi jeg forstår, hvordan Kubernetes fungerer, meget godt og i dybden. Ofte mangler jeg den funktionalitet, jeg efterspørger i clouds - og så får jeg at vide 'Nej, det er ikke muligt'. Nå, i sådanne tilfælde må jeg sige, at jeg kan gøre det bedre end cloud. Men hvis du ikke har en ingeniør til fuld tid, ikke ønsker at betale for en ingeniør, der styrer Kubernetes, og du konstant betaler ham mange penge for blot at eksperimentere, så er cloud virkelig en god løsning. For der sidder i det mindste folk, som udbyderen allerede har hyret, og de ved, hvad de laver. Og de grundlæggende funktioner, du har brug for dagligt, er der.
Azat Khadiyev: Hvad tænker du om den nuværende tilstand af Kubernetes? Hvad vil der ske med det om fem og ti år?
Pavel Selivanov: Godt spørgsmål. Jeg ved bare, hvad der sker i vores community omkring dette emne. Nogle mennesker tror, at der ikke vil være noget tilbage udover Kubernetes. Den situation, der skete for længe siden med Linux. Det vil sige, uden for Linux er der folk, der lever på BSD, sandsynligvis med meget specifikke opgaver. Der er folk, der arbejder under Windows — Windows-servere — sandsynligvis har de også specifikke opgaver, eller de har blot kompetence inden for dette område, og de er ikke klar til at forlade det. Under alle omstændigheder er standarden i vores felt Linux. Der er en opfattelse af, at Kubernetes vil blive en sådan standard de facto, og udover Kubernetes vil der ikke være andet. Kubernetes vil ikke kun styre applikationer, deres deployment og skalerbarhed, men hele administrationsprocessen. Nu spørger folk allerede: "Kan vi putte en database i Kubernetes?" Jeg siger normalt, at spørgsmålet ikke handler om Kubernetes, men om Docker. Hvis du er klar til, at din database skal fungere i containere, hvordan vil den så fungere? Jeg får svar: "Nej, nej, nej, vent. Det skal ikke være i containere. Det skal være i Kubernetes. Vi vil forbinde den til noden. Så det vil være som nu, bare at Kubernetes vil styre det hele." Og det er faktisk en god idé. Kubernetes er sådan en ting, at hvis du kommer ind i en virksomhed, som har Kubernetes, og processerne er bygget oven på det, så er det nok for en, der forstår sig på det, at se på det i et par dage og sige: "Jeg er klar til at støtte jer. Fuldt ud. Jeg forstår, hvordan I arbejder." I modsætning til tilgange uden Kubernetes — her har man puttet en hel masse kulfiber ind, her andre. Her Ansible, her Terraform. Nogen har skrevet alt dette, og det tager et halvt år at forstå. Så om Kubernetes vil blive en de facto standard, ved jeg ikke. På nuværende tidspunkt ser det meget mere ambitiøst og sikkerhedssøgende ud end løsningerne omkring det.
Azat Khadieev: Ja, sammenligningen med Linux er ret dristig. Det fungerer kun på én maskine — og det er det. Men Kubernetes fungerer på mange maskiner. Der opstår straks en million variationer og grunde. Ja, det er dristigt. Det skal bare tages i betragtning, at der er konkurrenter til denne paradigme. For eksempel, Serverless. Er Kubernetes i fare med sådan nogle konkurrenter?
Pavel Selivanov: Fra Serverless… (grin) Serverless — vi forstår alligevel, at server der i hvert fald findes. Jeg hørte for nylig et foredrag om emnet. Der sagde en person, at serverne alligevel eksisterer — og det er i skyerne. Men vi skal altid forstå, at skyen — der er også servere. Der står rigtige fysiske servere, rack, som er installeret et eller andet sted. Det er skyen. Oven på det er Serverless, hvor servere der er "ingen". Så spørgsmålet er, om Serverless vil sejre over Kubernetes? Jeg mener, at Serverless vil flytte sig ind i Kubernetes. For udbydere, som leverer Serverless, er Kubernetes en meget praktisk platform at levere det på. Ja, måske stopper vi på et tidspunkt med helt at tale om Kubernetes som en normal del af udviklingen af forretnings-applikationer. Men dybt inde, hos udbydere og ingeniører, vil Kubernetes være der, hvor alt dette implementeres.
Azat Khadiev: En lidt anden sag. Der findes et begreb, der hedder fullstack-ingeniør. Hvad mener du om dem? Findes de overhovedet?
Pavel Selivanov: Øh… Fullstack-ingeniør… Nå, jeg mener, at vi skal adskille disse ting, fordi… Ved du, der er noget, der hedder T-shaped people. Er sådanne mennesker nødvendige i den nuværende industri? Ja, uden tvivl. Vi har brug for folk, der har et bredt perspektiv, men samtidig er de specialister inden for et snævert område. Og her er Fullstack-ingeniør det samme — en person, der gør alt. Fra frontend-udvikling, testning, backend, servere og alt det andet. Jeg tror ikke, at en enkelt person kan håndtere dette i en stor virksomhed uden at have snævre specialiseringer inden for hver enkelt parameter. Men samtidig, at have en snæver specialisering, uden at vide noget om, hvad der sker omkring det — det fungerer heller ikke i den moderne verden. Så her vil jeg sige… jeg vil droppe ordet Fullstack. Vi har brug for ingeniører. Vi har brug for DevOps. Jeg føler, at vi snart vil revidere dette punkt. Og de vil ikke være nødvendige.
Azat Khadiev: Kan du uddybe?
Pavel Selivanov: Jeg mener, at vi i branchen snart vil se, at disse Dev- og Ops-roller vil forsvinde. Hvis vi har brug for specialister og rekrutterer... Vi har brug for en bestemt udvikler, vi har brug for bestemte administratorer, vi har fået DevOps-ingegnører - nu har vi også brug for produktionsingeniører og SRE-ingeniører. Men i virkeligheden er det, vi har brug for, ingeniører, som vi ønsker at ansætte. Baggrund er i det store og hele ikke vigtig. Fordi... For eksempel siger SRE, at infrastrukturproblemer altid er software-relaterede. Så lad os ansætte udviklere - fra synspunktet at udvikleren er en ingeniør - sætte dem i supportafdelingen, og de vil løse disse problemer præcis som de løser forretningsproblemer med kode, gennem ingeniørarbejde, som sådan.
Azat Khadiev: Og fra dette perspektiv... Hvordan interviewer man sådanne ingeniører?
Pavel Selivanov: Åh, godt spørgsmål. Det ligger sandsynligvis allerede uden for min forståelse i denne verden. Men jeg ville bare give et eksempel. Det har ikke noget at gøre med interviewet. Det handler om vores uddannelsessystem i Rusland. I IT ved vi, at vores uddannelsessystem i Rusland er meget forældet for IT-verdenen; det er ikke, som det bør være. Jeg taler generelt om det enorme Rusland — og hvad der sker der. Der bliver sendt folk ud, som slet ikke er klar til at gå ud i webudvikling eller i en teknologisk virksomhed lige efter eksamen. Og det er skidt. Vi lærer dem nogle mærkelige ting, selvom vi egentlig burde lære dem at udvikle til Android, til iOS, hvordan man bruger Git og alt det. I virkeligheden synes det ikke at være tilfældet. Universitetet er en tid, hvor dine forældre i høj grad betaler for dig. For hele dit liv. Og du kan bruge fem år af dit liv på at studere dybt. Og studere alt det T-shaped. Når du kan studere, hvad et versionskontrolsystem er, hvilke udviklingsmønstre der findes, hvordan man tester alt dette, hvilke databaser der findes, load balancers. Og når du så går ud og arbejder, begynder du at specialisere dig inden for et bestemt område. Og på den måde får vi ingeniører. Og vores uddannelsessystem i Rusland er meget tættere på denne sandhed, end vi tror. Vi får en god matematisk baggrund, vi får en god algoritmisk forberedelse, vi får en vis forståelse af programmeringssprog. Og når det kommer til interviewet, synes jeg, det er noget i nærheden af dette. Vi skal interviewe ingeniører. Vi har brug for den øverste del af T'en i T-shaped. Fordi den lodrette del af T'en vil han erhverve sig.
Azat Khadiev: Ja, interessant. I fem år efter universitetet syntes jeg, at min uddannelse var mærkelig og utilstrækkelig. Men så, i takt med at projekterne blev dybere, blev opgaverne større, indså jeg, at nej, de lærte mig meget vigtige ting. Pavel, tak, det var meget interessant at høre dine svar. Lad os høre din præsentation.
Pavel Selivanov: Tak skal I have.
Kilde: habr.com
