Come diventare un ingegnere di piattaforma o dove svilupparsi nella direzione DevOps?

Come diventare un ingegnere di piattaforma o dove svilupparsi nella direzione DevOps?

Abbiamo parlato con un docente di chi e perché nel prossimo futuro avrà bisogno delle competenze per realizzare una piattaforma infrastrutturale utilizzando Kubernetes Yuri Ignatov, ingegnere leader espresso 42.

Da dove viene la domanda di ingegneri di piattaforma?

Recentemente, sempre più aziende si stanno rendendo conto della necessità di creare una piattaforma infrastrutturale interna che costituisca un unico ambiente per lo sviluppo, la preparazione dei rilasci, il rilascio e il funzionamento dei prodotti digitali dell'azienda. Tale piattaforma contiene sistemi e servizi per la gestione delle risorse informatiche e di rete, un sistema di integrazione continua, un archivio di artefatti di distribuzione, sistemi di monitoraggio e altri servizi utilizzati dai team di sviluppo. Il movimento verso la costruzione di piattaforme interne e la formazione di team di piattaforma è iniziato diversi anni fa. La conferma di ciò può essere trovata nei rapporti Stato di DevOps da DORA, pubblicazioni di Gartner e libri, come Topologie di gruppo.

I principali vantaggi di un approccio basato su piattaforma per la gestione dell'infrastruttura di un'azienda sono i seguenti:

  • I team di prodotto non vengono distratti dallo sviluppo dei propri prodotti per risolvere i problemi infrastrutturali.
  • Il team della piattaforma, responsabile dello sviluppo della piattaforma infrastrutturale, tiene conto delle esigenze dei team di prodotto dell'azienda e crea soluzioni specifiche per le esigenze interne.
  • L'azienda accumula esperienza internamente che può essere facilmente riutilizzata, ad esempio, quando si lancia un nuovo team di prodotto o quando si definiscono standard o pratiche generali in azienda.

Se l’azienda riesce ad arrivare a un simile approccio, col tempo la piattaforma infrastrutturale interna potrebbe diventare più conveniente per i team di sviluppo rispetto ai servizi dei fornitori cloud, perché è stata creata tenendo conto delle caratteristiche e delle esigenze dei team, accumulando la loro esperienza e specifiche. Tutto ciò porta a una maggiore produttività dei team di prodotto, il che significa che è positivo per il business.

Perché Kubernetes?

Vari strumenti possono essere utilizzati come base per creare una piattaforma infrastrutturale. Prima era Mesos, ora oltre a Kubernetes puoi usare Nomad e, ovviamente, nessuno ti limita nel creare le tue “biciclette”. Eppure, la stragrande maggioranza delle aziende preferisce costruire una piattaforma su Kubernetes. Questo è ciò per cui è apprezzato di più:

  • Supporto per pratiche ingegneristiche moderne come “infrastruttura come codice”.
  • Molti strumenti di cui i team hanno bisogno immediatamente. Ad esempio, gestire le risorse informatiche, gestire i meccanismi di distribuzione delle applicazioni e garantirne la tolleranza agli errori.
  • Un enorme ecosistema che dispone di strumenti per risolvere vari problemi, supportato dai fornitori di servizi cloud.
  • Comunità sviluppata: decine di conferenze in tutto il mondo, un elenco impressionante di contributori, certificazioni e specialisti certificati, programmi formativi su questo strumento.

Kubernetes può essere definito il nuovo standard del settore, è solo questione di tempo prima che la tua azienda inizi a utilizzarlo.

Purtroppo tutto questo non è gratis: con l’avvento di Kubernetes e della tecnologia di containerizzazione, i processi e gli strumenti che il team utilizza nel proprio lavoro quotidiano stanno subendo molti cambiamenti:

  • L’approccio alla gestione delle risorse informatiche sta cambiando.
  • Il modo in cui l'applicazione viene distribuita e configurata cambia.
  • È necessario un approccio diverso all’organizzazione dei servizi di monitoraggio e registrazione.
  • C'è la necessità di creare nuove integrazioni tra i servizi che fanno parte della piattaforma e adattare gli script di automazione esistenti.

Anche l'ambiente locale dello sviluppatore e la procedura di debug dell'applicazione sono soggetti a modifiche.

Le aziende possono effettuare da sole il passaggio a una piattaforma infrastrutturale e il suo mantenimento, sviluppando le competenze dei dipendenti o assumendo gli specialisti necessari. Sono comuni anche i casi in cui vale la pena delegare questi processi, ad esempio se un'azienda non ha l'opportunità di trasferire l'attenzione del team dallo sviluppo del prodotto alla creazione di una nuova infrastruttura, se non c'è la possibilità di condurre grandi attività di ricerca e sviluppo interne o se ci sono rischi inaccettabili associati alla creazione indipendente di una nuova infrastruttura e al trasferimento su di essa di team di prodotto: qui è meglio chiedere aiuto alle aziende che hanno già intrapreso questa strada più di una volta.

Non saranno necessarie solo nuove competenze per lavorare con la piattaforma infrastrutturale amministratori (specialità che ora si sta trasformando in ingegnere delle infrastrutture), ma anche per gli sviluppatori. Sviluppatore deve capire come viene lanciata e funziona la sua applicazione in combattimento, deve essere in grado di utilizzare al massimo l'ecosistema, essere in grado di eseguire il debug dell'applicazione o modificare le procedure di distribuzione e configurazione. Inoltre, non puoi fare a meno di questa conoscenza contatti tecnici: è necessario condurre una grande quantità di attività di ricerca e sviluppo, selezionare strumenti adeguati, studiarne i limiti, trovare approcci all'integrazione tra gli strumenti che fanno parte della piattaforma e prevedere vari scenari per l'utilizzo dei servizi della piattaforma da parte dei team di prodotto.

Mentre l'implementazione di Kubernetes, anche nelle strutture dei fornitori di servizi cloud, non è così difficile, tradurre tutti i processi di sviluppo e operativi, adattare le applicazioni, integrare una dozzina di nuovi strumenti per il team, ecc. è un compito davvero problematico che richiede una profonda comprensione di i processi e una grande quantità di comunicazione con tutti i partecipanti alla creazione dei tuoi prodotti.

E abbiamo raccolto tutte queste informazioni nel nostro corso online “Piattaforma infrastrutturale basata su Kubernetes”. In 5 mesi di pratica imparerai:

  • Come funziona Kubernetes
  • Come vengono implementate le pratiche DevOps utilizzandolo
  • Quali strumenti dell’ecosistema sono sufficientemente maturi per essere utilizzati in combattimento e come integrarli tra loro.

A differenza di altri programmi formativi, noi ci concentriamo sull'ecosistema e sulle sfumature del funzionamento dei cluster Kubernetes, ed è qui che sorgono difficoltà per le aziende che decidono di passare alla propria piattaforma infrastrutturale.

Al termine del corso sarai qualificato come ingegnere di piattaforma e sarai in grado di creare autonomamente una piattaforma infrastrutturale nella tua azienda. Che, tra l'altro, è ciò che alcuni dei nostri studenti fanno come lavoro di progetto, ricevendo feedback e supporto dagli insegnanti. Inoltre, conoscenze e competenze saranno sufficienti per prepararsi alla certificazione CNCF.

È importante notare che padroneggiare queste abilità richiede una forte conoscenza di Pratiche e strumenti DevOps. Secondo le nostre osservazioni sul mercato del lavoro, dopo la formazione tale uno specialista può tranquillamente aspettarsi uno stipendio di 150-200 mila rubli.

Se sei uno specialista con esperienza nell'utilizzo delle pratiche DevOps, ti invitiamo sostenere il test d'ingresso e conoscere più in dettaglio il programma del corso.

Fonte: habr.com

Aggiungi un commento