Perché amministratori di sistema, sviluppatori e tester dovrebbero apprendere le pratiche DevOps?

Perché amministratori di sistema, sviluppatori e tester dovrebbero apprendere le pratiche DevOps?

Dove andare con questa conoscenza, cosa fare nel progetto e quanto guadagnare, cosa dire e chiedere durante un colloquio - afferma Alexander Titov, socio amministratore di Express 42 e autore corso online “Pratiche e strumenti DevOps”.

Ciao! Sebbene il termine DevOps esista dal 2009, non c’è ancora consenso nella comunità russa. Probabilmente hai notato che alcuni considerano DevOps una specialità, altri una filosofia e altri ancora considerano il termine un insieme di tecnologie. Mi sono già esibito molte volte con lezioni sullo sviluppo di questa direzione, quindi non entrerò nei dettagli in questo articolo. Lasciatemi solo dire che in Express 42 includiamo quanto segue:

DevOps è una metodologia specifica, una cultura della creazione di un prodotto digitale, quando tutti gli specialisti del team partecipano alla produzione.

Nello sviluppo aziendale classico, tutto avviene in sequenza: programmazione, test e solo successivamente funzionamento, e la velocità di questo processo dall'idea alla produzione è di 3 mesi. Questo è un problema globale per i prodotti digitali, perché è impossibile ricevere rapidamente feedback dai clienti.

In DevOps, gli strumenti e gli approcci sono progettati per garantire che i processi di sviluppo, test e operativi vengano eseguiti simultaneamente.

Cosa consegue da questo approccio?

  • Non puoi assumere qualche “ingegnere” che verrà e risolverà tutti i problemi con la produzione. Tutta la squadra deve applicare la tecnica.

    Perché amministratori di sistema, sviluppatori e tester dovrebbero apprendere le pratiche DevOps?

  • DevOps NON è la prossima forma di amministratore di sistema a cui eseguire l'aggiornamento. "Ingegnere DevOps" suona più o meno come "sviluppatore Agile".

    Perché amministratori di sistema, sviluppatori e tester dovrebbero apprendere le pratiche DevOps?

  • Se un team utilizza Kubernetes, Ansible, Prometheus, Mesosphere e Docker, ciò non significa che lì siano state implementate pratiche DevOps.

    Perché amministratori di sistema, sviluppatori e tester dovrebbero apprendere le pratiche DevOps?

La vita dopo DevOps non sarà più la stessa

L’approccio DevOps è, prima di tutto, un modo diverso di pensare, una percezione dello sviluppo nel suo insieme e del proprio posto nel processo. Abbiamo diviso il nostro corso online in 2 blocchi:

1. Autodeterminazione

Innanzitutto, esaminiamo in dettaglio l'essenza dell'approccio DevOps e gli studenti scoprono nuovi ruoli nel team, vediamo quale risponde di più e determiniamo da soli quale direzione sviluppare.

2. Strumenti e pratiche

Gli studenti padroneggiano tecnologie specifiche dal punto di vista del metodo DevOps.

Gli strumenti DevOps possono essere utilizzati sia nell'approccio DevOps che nello sviluppo classico. L'esempio più ovvio sarebbe l'utilizzo dello strumento di gestione della configurazione Ansible. È stato creato e concepito per implementare la pratica DevOps “Infrastructure as Code”, il che significa che vengono descritti diversi stati del sistema, dalle impostazioni del sistema operativo al software applicativo. La descrizione è divisa in layer e permette di gestire una configurazione complessa e in continua evoluzione. Ma gli ingegneri spesso usano Ansible come un modo per eseguire script bash su più macchine. Questo non è né un male né un bene, ma bisogna capire che la presenza di Ansible non garantisce la presenza di DevOps in azienda.

Siamo nel processo tasso di cambio Sarai immerso nel processo di sviluppo di un'applicazione simile al famoso Reddit, a partire dalla sua versione monolitica, passando passo dopo passo ai microservizi. Passo dopo passo padroneggeremo nuovi strumenti: Git, Ansible, Gitlab e finiremo con Kubernetes e Prometheus.

In termini di pratiche, seguiremo le tattiche dei tre percorsi descritti nel Manuale DevOps: pratiche di distribuzione continua, pratiche di feedback e l'essenza dell'intero corso è la pratica dell'apprendimento continuo insieme al tuo sistema.

Cosa offre questa conoscenza a ciascuno degli specialisti?

Per gli amministratori di sistema

Le pratiche ti consentiranno di passare dall'amministrazione alla creazione di una pipeline di distribuzione continua e di una piattaforma infrastrutturale per la distribuzione del software. Il punto è che crea un prodotto: una piattaforma infrastrutturale per gli sviluppatori che li aiuta a portare rapidamente le modifiche alla produzione.

In precedenza, gli amministratori di sistema rappresentavano l'ultimo baluardo, dopo il quale tutto entrava in produzione. E fondamentalmente erano impegnati in continui interventi antincendio, alla luce dei quali è abbastanza difficile approfondire le esigenze dell'azienda, pensare al prodotto e ai vantaggi per l'utente.
Grazie al metodo DevOps il modo di pensare cambia. L'amministratore di sistema sa come tradurre la configurazione in codice, quali pratiche esistono a tal fine.

Questo è importante perché le aziende si rendono sempre più conto che non hanno bisogno solo di automatizzare tutto, cioè di automatizzare tutto. in quello che essenzialmente erano abituati a fare gli amministratori di sistema della vecchia scuola, che in più comunicavano poco e non informavano il team di tutte le modifiche apportate. Ora i team stanno cercando chi diventerà il produttore del prodotto dell'infrastruttura interna e aiuterà a unire i processi separati in uno solo.

Sviluppatori

Lo sviluppatore smette di pensare solo in algoritmi. Acquisisce la capacità di lavorare con le infrastrutture, la capacità di consapevolezza architettonica del paesaggio. Uno sviluppatore di questo tipo capisce come funziona l'applicazione, come attraversa la pipeline di distribuzione continua, come monitorarla, come registrarla in modo che possa avvantaggiare il cliente. Di conseguenza, tutta questa conoscenza ti consente di scrivere codice pertinente.

Per i tester

I test sono passati da tempo alla modalità automatica; diciamo tutti che molti test non dovrebbero essere eseguiti, ma scritti :) I test diventano parte dell'intera pipeline di consegna del tuo prodotto. Un tester non deve solo imparare a scrivere codice, ma anche a capire come integrarlo nei sistemi di distribuzione continua, come ricevere feedback dal codice in tutte le fasi della consegna e come migliorare costantemente i test per rilevare eventuali errori. il più presto possibile.

Quindi si scopre che tutte e tre le fasi si verificano simultaneamente. Ad esempio, potrebbe assomigliare a questo:

Lo sviluppatore scrive il codice, scrive immediatamente i test e descrive un contenitore docker per il codice che deve essere eseguito. Inoltre descrive immediatamente il monitoraggio che controllerà il funzionamento di questo servizio in produzione, e impegna tutto questo.

Quando inizia l'integrazione continua, i processi vengono eseguiti simultaneamente. Il servizio si avvia e viene configurato. Allo stesso tempo, il contenitore docker si avvia e viene verificato che sia in esecuzione. Allo stesso tempo, tutte le informazioni vanno al sistema di registrazione. E così via in ogni fase dello sviluppo: risulta essere un vero lavoro di squadra di amministratori di sistema, sviluppatori e tester.

Ho studiato DevOps, cosa succederà dopo?

Come sai, chi è sul campo non è un guerriero. Se la tua azienda non utilizza questo metodo, le competenze acquisite rimarranno inutilizzate. E dopo aver familiarizzato con gli approcci DevOps, molto probabilmente non vorrai essere un ingranaggio nello sviluppo aziendale. Potrebbe esserci un'eccezione: sei un amministratore di sistema nel team e puoi ricostruire tutti i processi in un modo nuovo. Vale la pena aggiungere qui che sono molte le aziende che utilizzano questo approccio, che non sono toccate dal lockdown e sono alla ricerca di specialisti. Perché DevOps riguarda la creazione di prodotti online.

E ora parliamo degli aspetti positivi: la padronanza delle pratiche e degli strumenti DevOps aumenta di circa il 30% il tuo valore sul mercato del lavoro. Gli stipendi partono da 140mila rubli, ma sono determinati, naturalmente, dalla tua specialità e funzionalità principali.

Puoi esaminare i posti vacanti contrassegnati come "orientati all'infrastruttura", dove sono presenti automazione dei test, sviluppo di applicazioni di microservizi utilizzando tecnologie cloud, posti vacanti per ingegneri delle infrastrutture e tutti i tipi di riferimenti a DevOps. Ricorda solo che ogni azienda significa qualcosa di diverso con questa definizione: leggi attentamente la descrizione.

Durante il lancio del nostro corso, mi è venuta un'intuizione: molte persone dopo il corso cadono nella trappola di un ingegnere DevOps. Trovano un posto vacante con il titolo sopra menzionato, ricevono una buona offerta, poi arrivano al lavoro e si rendono conto che dovranno mantenere uno script bash di tre pagine in Jenkins. Dove sono Kubernetes, ChatOps, versioni canary e tutto il resto? Ma non c'è niente, perché l'azienda non ha bisogno di DevOps come metodologia, ma utilizza innovazioni individuali.

Questo è un motivo per scoprire in modo approfondito dall'azienda come funziona il processo di consegna del software, lo stack tecnologico e quali responsabilità svolgerai.

Se il datore di lavoro risponde alle tue domande in modo astratto, come da un libro, senza dettagli, molto probabilmente non esiste ancora un processo DevOps in azienda, ma questo non è un motivo per rifiutare, studiare l'azienda e i suoi prodotti, se ce ne sono online servizi che l'azienda stessa sviluppa, applicazioni mobili, idee di prodotto.

Se sì, chiarisci se dovrai lavorare direttamente con questi sistemi o se esiste la possibilità di uno spostamento orizzontale dei team di questi servizi dimostrando buoni risultati nelle pratiche DevOps. Se sì, allora vale la pena andarci ed essere attivi e utili, e se completi il ​​nostro corso, quest'ultimo è garantito.

È importante notare che i professionisti Devops ottengono il vero valore solo con esperienza nello sviluppo/amministrazione/test. Solo allora la conoscenza non sarà astratta, ma arricchirà lo specialista (in tutti i sensi). Pertanto, l'idea di "imparare DevOps da zero" è più o meno come imparare a "usare gli obiettivi da zero" se non hai mai tenuto una fotocamera tra le mani o diretto una ripresa. Per aiutarti a decidere se il corso è adatto a te, abbiamo effettuato un test di ingresso che verificherà il tuo sufficiente livello di conoscenza.

Penso che uno dei trucchi tasso di cambio - che durante il corso di formazione ogni studente decida da solo in quale direzione vuole svilupparsi. Spesso assistiamo a transizioni quando uno sviluppatore diventa un ingegnere dell'infrastruttura e un amministratore si rende conto di essere interessato a scrivere codice, quindi studia ulteriormente il linguaggio e lo integra con le competenze DevOps acquisite. Pertanto, diamo il benvenuto soprattutto a coloro che sentono che la loro carriera è bloccata a un bivio. Il corso inizia il 28 maggio, ma è possibile iscriversi 2 settimane dopo l'inizio delle lezioni. Puoi visionare il programma e sostenere il test collegamento. Ci vediamo all'OTUS!

Fonte: habr.com

Aggiungi un commento