Kubernetes è il nuovo Linux? Intervista a Pavel Selivanov


trascrizione:
Azat Khadiev: Ciao. Il mio nome è Azat Khadiev. Sono uno sviluppatore PaaS per Mail.ru Cloud Solutions. Con me qui c'è Pavel Selivanov di Southbridge. Siamo alla conferenza DevOpsDays. Qui parlerà di come creare DevOps con Kubernetes, ma molto probabilmente non ci riuscirai. Perché un argomento così oscuro?

Pavel Selivanov: In realtà non è triste. Riguarda il fatto che stiamo cercando di risolvere molti problemi nella nostra comunità con l'aiuto della tecnologia. E stiamo cercando di risolvere le cose con l’aiuto della tecnologia in modo piuttosto unilaterale. Kubenetes è lo stesso: questa è la cosa di cui sono responsabili, si potrebbe dire che Ops. Ma abbiamo un ottimo concetto di ingegnere DevOps. Un ingegnere DevOps è responsabile di Kubernetes. Allo stesso tempo... Come se creassi Kubernetes, ma i ragazzi dello sviluppo non sono affatto a conoscenza di tutti questi Kubernetes, non sono consapevoli di cosa ti permette di fare - e tutto vive esattamente allo stesso modo per loro. E questo nonostante il fatto che Kubernetes contenga soluzioni già pronte, strumenti già pronti per utilizzare questa tecnologia per estendere questo approccio DevOps, la comunicazione tra Dev e Ops. Usiamo molto poco questa opportunità. Poiché stiamo trasferendo anche le strutture attuali a tutti questi strumenti DevOps - Docker, Kubernetes, cloud e così via - stiamo aggravando ancora di più questa situazione. E iniziamo a utilizzare gli strumenti in modo diverso da come erano previsti. E attorno a tutte queste tecnologie si stanno costruendo solo terribili stampelle.

Azat Khadiev: Capisco. Sembra un argomento ampio. Quale pensi sia il problema più comune che hanno le aziende in questo momento? Con Kubernetes.

Pavel Selivanov: Il problema più comune con Kubernetes è la mancanza di competenze. Questo è un problema comune nell'IT. Gli specialisti mancano sempre. Mancano sempre le competenze. E ora con Kubernetes non ci sono abbastanza competenze. E allo stesso tempo, sul mercato ci sono ancora soluzioni già pronte al XNUMX% che ti permetterebbero di ottenere Kubernetes, ma allo stesso tempo non hanno le competenze necessarie, francamente ce ne sono poche sul mercato. E quelli che esistono, sollevano tutti alcune domande. Con Kubernetes siamo costantemente alla ricerca di persone che lo capiscano. Stiamo cercando di adattare lo sviluppo a questo.

Azat Khadiev: E data l'attuale carenza di personale nel settore IT. Che c'è sempre stato. E ora c'è. Come pensi di vivere in queste condizioni? Quali trucchetti ci sono?

Pavel Selivanov: Trucchi. Innanzitutto, dal punto di vista delle nuvole, il trucchetto si presenta così: diamoci alcune delle tue competenze. E li prenderemo per noi. E lo faremo dentro di noi. E va tutto bene. Solo che è importante capirlo per chi lo usa... Davvero un bel momento... Ma è importante capire che se cediamo parte delle nostre competenze da qualche parte al cloud o al provider, otteniamo in cambio una soluzione universale . In parole povere, abbiamo un database che fa cose molto specifiche ed è stato configurato in un modo molto specifico. Fornendo questo database nel cloud, ovviamente possiamo licenziare l'amministratore che si occupava dei cluster di database: lo stesso Amazon o Google lo faranno per noi. Ma allo stesso tempo Amazon o Google non ci permetteranno di configurare in modo chiaro il nostro database. Grandi progetti, grandi aziende, in ogni caso arrivano al punto che ad un certo punto della loro vita utilizzano soluzioni cloud, e poi, comunque, tornano a riprendersi le competenze, perché serve qualcosa di più specifico .

Azat Khadiev: Le soluzioni universali sono negative o se ne possono costruire altre sulla base di esse?

Pavel Selivanov: No, le soluzioni universali non sono sicuramente negative. Le soluzioni universali sono buone. Solo soluzioni universali... universali. È importante capire qui. È come prendere uno script comune... Se riesci a costruire l'intera logica del lavoro dell'azienda attorno a questo script comune, a questa applicazione comune, allora va bene. E se la logica del lavoro è diversa, ma prendi questa soluzione universale, una sceneggiatura universale - e inizi, come un gufo, a tirare un globo, questo è un male. E non c’è niente di sbagliato nell’universalismo stesso.

Azat Khadiev: Se questo amministratore lavora già per voi, il punto non è nel suo licenziamento. Potrà semplicemente fare di più.

Pavel Selivanov: Sì, togligli la routine e consegnala da qualche parte a qualcuno affinché la realizzi da qualche parte lì. Questo è sicuramente un buon approccio. Il punto importante qui è se questa soluzione standard è adatta per un caso specifico.

Azat Khadiev: Basandosi sulla mia esperienza, vedo che molte aziende stanno facendo la stessa cosa. Stanno creando un cluster Kubernetes e pensando di ridimensionarlo. E tutte queste operazioni sono molto ripetibili.

Pavel Selivanov: Sì, sicuramente. Inoltre, se prendiamo Kubernetes nello specifico, arriviamo al punto che al momento sul mercato c'è davvero poca conoscenza approfondita e buona di Kubernetes. E Kubernetes è un costruttore così gigantesco che se lo assumi per un'azienda, preparati a portare con te un ingegnere che farà tutto questo a tempo pieno. Ed è costoso. E prova a trovare di nuovo un ingegnere del genere. Se parlo di me, non mi piacciono molto le soluzioni cloud, perché ho una conoscenza abbastanza buona e approfondita di come funziona Kubernetes. E spesso nei cloud mi mancano semplicemente alcune funzionalità che richiedo, ma mi dicono "No, non puoi". Beh, in questo caso mi dispiace, ma posso fare meglio di Cloud. Ma allo stesso tempo, se non hai un ingegnere a tempo pieno, non vuoi pagare per questo ingegnere che gestisce Kubernetes e gli paghi costantemente un sacco di soldi solo per sperimentare, allora il cloud è semplicemente una buona, ottima soluzione. Perché almeno lì seduti ci sono ragazzi che il fornitore ha già reclutato. E sanno cosa fanno. E quelle cose basilari di cui hai bisogno ogni giorno sono lì.

Azat Khadiev: Cosa pensi dello stato attuale di Kubernetes? Cosa gli succederà tra cinque e dieci anni?

Pavel Selivanov: Bella domanda. So solo cosa sta succedendo nella nostra comunità a riguardo. Alcune persone credono che non rimarrà altro che Kubernetes. La situazione che si è verificata con Linux molto tempo fa. Cioè, al di fuori di Linux ci sono persone che vivono su BSD, molto probabilmente hanno compiti molto specifici. Ci sono persone che lavorano con Windows - server Windows - molto probabilmente hanno anche compiti specifici o semplicemente hanno competenza in questa materia e non sono pronte a partire da lì. In ogni caso, lo standard nel nostro campo è Linux. C'è un'opinione secondo cui Kubernetes diventerà lo stesso standard de facto e non ci sarà altro che Kubernetes. Kubernetes gestirà non solo le applicazioni, la loro distribuzione, distribuzione e scalabilità. In generale, gestisci tutto. Adesso già si chiedono: “È possibile inserire un database in Kubernetes?” Di solito dico che il problema qui non è Kubernetes, ma Docker. Se sei pronto per l'esecuzione del tuo database in contenitori, ecco come funzionerà. Mi rispondono: “No, no, no, aspetta. Non c'è bisogno di contenitori. Hai bisogno di Kubernetes. Lo innesteremo sul nodo. Cioè tutto sarà come adesso, solo Kubernetes gestirà il tutto”. E questa è effettivamente una buona idea. Cioè, Kubernetes è una cosa del genere quando puoi venire in un'azienda, se l'azienda ha Kubernetes e processi basati su di esso, allora una persona che lo capisce - ha solo bisogno di guardarlo per un paio di giorni per dire: " Sono pronto a supportarti. Completamente. Interamente. Capisco come funzionano le cose per te. A differenza degli approcci senza Kubernetes, qui sono state introdotte alcune stampelle, qui altre stampelle. Ansible qui, Terraform qui. Qualcuno ha scritto tutto questo e ci vogliono sei mesi per capirlo. Qui. Quindi non lo so se Kubernetes diventerà uno standard de facto. Oggi sembra molto più ambizioso e fiducioso rispetto alle soluzioni che esistono intorno a lui.

Azat Khadiev: Beh, il paragone con Linux è piuttosto audace. Funziona su una macchina: tutto qui. E Kubernetes funziona su molte macchine. Emergono immediatamente un milione di variazioni e ragioni. Sì, è audace. Solo se si tiene conto che ci sono concorrenti in questo paradigma. Ad esempio, senza server. Kubernetes è in pericolo con tali concorrenti?

Pavel Selivanov: Da Serverless... (risate) Serverless: capiamo ancora che dopotutto esistono i server. Recentemente ho ascoltato una relazione su questo argomento. Là la persona ha detto che ci sono ancora server e questo è un cloud. Ma dobbiamo sempre capire che il cloud ha anche dei server. Esistono server hardware reali, un rack e sono installati da qualche parte. Questa è la nuvola. Oltre a questo c’è Serverless, dove non ci sono server. Quindi la domanda è: Serverless vincerà su Kubernetes? Mi sembra che Serverless si sposterà su Kubernetes. Per i provider che forniscono Serverless, Kubernetes è una piattaforma molto conveniente per fornire ciò. Sì, forse a un certo punto smetteremo di parlare di Kubernetes in linea di principio come dello sviluppo ordinario di applicazioni aziendali. Ma da qualche parte nel profondo, fornitori e ingegneri avranno Kubernetes, dove tutto questo verrà implementato.

Azat Khadiev: Un argomento leggermente diverso. Esiste un ingegnere full-stack. Cosa ne pensi di loro? Esistono addirittura?

Pavel Selivanov: Um... Ingegnere Fullstack... Beh, mi sembra che valga la pena distinguere tra queste cose che... Sai, esistono persone a forma di T. Queste persone sono necessarie nell’industria di oggi? Sì, ne abbiamo sicuramente bisogno. Abbiamo bisogno di persone che abbiano una visione ampia, ma che allo stesso tempo siano specialisti in un campo ristretto. E qui l'ingegnere Fullstack è lo stesso: una persona che fa tutto. A partire dallo sviluppo front-end, test, back-end, server e tutto il resto. Non credo che in una grande azienda una persona possa farlo senza avere specializzazioni ristrette in ciascuno dei parametri. Ma allo stesso tempo, avendo semplicemente una specializzazione ristretta, come quello che sta succedendo intorno a questo, non so nulla - anche questo non funziona nel mondo moderno. Cioè qui direi... scarterei la parola Fullstack. Abbiamo davvero bisogno di ingegneri. Abbiamo bisogno di DevOps. Ho la sensazione che riconsidereremo presto questo momento. E non ce ne sarà bisogno.

Azat Khadiev: Puoi rivelarlo?

Pavel Selivanov: Mi sembra che noi del settore arriveremo alla conclusione che questi ruoli di sviluppo e operazioni scompariranno presto. Se abbiamo bisogno di specialisti e stiamo dando la caccia... Abbiamo bisogno di questo e quell'altro sviluppatore, abbiamo bisogno di questo e quell'amministratore, abbiamo bisogno di ingegneri DevOps: ora li abbiamo, ora avremo anche ingegneri di produzione, ingegneri SRE. Anche se in realtà ciò di cui abbiamo bisogno sono gli ingegneri che vogliamo assumere. Lo sfondo in generale non è importante. Perché... Ad esempio, SRE afferma che i problemi infrastrutturali sono sempre problemi software. Quindi... Prendiamo gli sviluppatori - dal punto di vista in cui uno sviluppatore è un ingegnere - mettiamoli nel reparto manutenzione e risolveranno questi problemi nello stesso modo in cui risolvono i problemi aziendali con l'aiuto del codice, con l'aiuto dell'ingegneria in quanto tale.

Azat Khadiev: E da questo punto di vista... Come intervistare questi ingegneri?

Pavel Selivanov: Oh, bella domanda. Probabilmente è già oltre ciò che capisco in questa vita. Ma vorrei fare solo un esempio. Non ha niente a che fare con l'intervista. Riguarda il nostro sistema educativo in Russia. Nell’IT, sappiamo che il nostro sistema educativo in Russia è molto obsoleto per il mondo IT, non è quello che dovrebbe essere. Sto parlando in media della vasta Russia e di cosa sta succedendo lì. Si diplomano persone che non sono assolutamente pronte per dedicarsi allo sviluppo web o a un'azienda tecnologica il giorno successivo alla laurea. Ed è piuttosto brutto. Insegniamo loro alcune cose strane, anche se dovremmo insegnare loro come sviluppare per Android, iOS, come usare Git e tutte queste cose. In effetti, sembra di no. Il college è il periodo in cui sono soprattutto i tuoi genitori a pagare per te. Per tutta la tua vita. E puoi dedicare cinque anni della tua vita allo studio approfondito. E studia tutto questo a forma di T. Quando puoi studiare all'istituto cos'è un sistema di controllo della versione, quali modelli di sviluppo ci sono, come testare il tutto, che tipo di database e bilanciatori ci sono. E quando vai al lavoro, inizi ad approfondire un'area specifica. Ed è così che otteniamo gli ingegneri. E il nostro sistema educativo in Russia è molto più vicino a questa verità di quanto pensiamo. Ci viene data una buona formazione matematica, una buona formazione algoritmica, ci viene data una certa comprensione dei linguaggi di programmazione. E per quanto riguarda l'intervista, mi sembra qualcosa di simile a questo. Dobbiamo intervistare gli ingegneri. Abbiamo bisogno della parte superiore della T per la forma a T. Perché acquisirà la linea verticale della lettera T.

Azat Khadiev: Sì, interessante. Cinque anni dopo il college, mi sembrava che la mia educazione fosse in qualche modo strana e inadeguata. E poi, man mano che il lavoro andava avanti, quando i compiti si facevano più profondi, i progetti diventavano più grandi, ho capito che no, mi venivano insegnate cose molto importanti. Paolo, grazie. È stato molto interessante ascoltare le tue risposte. Ascoltiamo il tuo resoconto.

Pavel Selivanov: Grazie.

Fonte: habr.com

Aggiungi un commento