Che cos'è la metodologia DevOps e a chi serve

Capiremo quale sia l'essenza della metodologia e a chi possa giovare.

Parleremo anche degli specialisti DevOps: delle loro mansioni, stipendi e competenze.

Che cos'è la metodologia DevOps e a chi serve
Foto Matt Moor / Flickr / CC BY-SA

Che cos'è DevOps

DevOps è una metodologia di sviluppo software il cui obiettivo è facilitare la comunicazione tra programmatori e amministratori di sistema all'interno dell'azienda. Quando gli specialisti IT di diversi reparti non si comprendono a vicenda, il rilascio di nuove applicazioni e aggiornamenti si allunga.

DevOps crea un ciclo di sviluppo "senza soluzione di continuità", aiutando così a velocizzare il rilascio del prodotto software. Questa accelerazione è ottenuta grazie all'introduzione di sistemi di automazione. Inoltre, i programmatori iniziano a partecipare alla configurazione dei server e alla ricerca di bug, ad esempio, possono scrivere test automatizzati.

In questo modo si migliora l'interazione tra i reparti. I dipendenti iniziano a comprendere meglio quali fasi attraversa il prodotto software prima di arrivare nelle mani degli utenti.

Quando uno sviluppatore comprende quali sono le sfide affrontate dall'amministratore durante la configurazione del server, cercherà di smussare i possibili "angoli acuti" nel codice. Questo riduce il numero di bug durante il deploy dell'applicazione: statisticamente è ridotto circa cinque volte.

A chi serve e a chi non serve la metodologia

Molti esperti IT ritengono, che DevOps porterà vantaggi a qualsiasi organizzazione che si occupa di sviluppo software. Questo è vero anche nel caso in cui l'azienda sia solo un semplice consumatore di servizi IT e non sviluppi applicazioni proprie. In tal caso, l'implementazione di una cultura DevOps aiuterà a concentrarsi sull'innovazione.

Un'eccezione costituiscono le start-up, ma anche in questo caso dipende dalla scala del progetto. Se il vostro obiettivo è lanciare un prodotto minimo funzionale (minimum viable product, MVP) per testare una nuova idea, è possibile farne a meno di DevOps. Ad esempio, il fondatore di Groupon, all'inizio del lavoro sul servizio, pubblicava manualmente tutte le offerte sul sito e raccoglieva ordini. Non utilizzava alcun strumento di automazione. Implementare la metodologia e gli strumenti di automazione ha senso solo quando l'applicazione inizia a guadagnare popolarità. Questo aiuterà a ottimizzare i processi aziendali e accelerare il rilascio degli aggiornamenti.

Come implementare DevOps

Di seguito alcuni consigli per passare alla nuova metodologia.

Di seguito sono riportate alcune raccomandazioni per passare alla nuova metodologia.

Identifica i problemi nei processi aziendali. Prima di implementare la metodologia, definisci gli obiettivi e i problemi dell'organizzazione. Da questi dipenderà la strategia di transizione verso DevOps. A questo proposito, redigi un elenco di domande, ad esempio:

  • A cosa viene dedicato più tempo durante l'aggiornamento del software?
  • È possibile automatizzare questo processo?
  • Influisce su questo la struttura dell'organizzazione?

Per ulteriori dettagli sull'identificazione dei problemi nell'organizzazione si possono leggere libri «Progetto "Fenice"" e "Guida a DevOps" dagli autori della metodologia.

Cambia la cultura in azienda. È importante convincere tutti i dipendenti a modificare le abitudini lavorative e ad ampliare le proprie competenze. Ad esempio, in Facebook tutti i programmatori sono responsabili del ciclo di vita dell'applicazione nel suo complesso: dalla scrittura del codice fino all'implementazione. Inoltre, in Facebook non esiste un reparto test: i test vengono scritti dagli stessi sviluppatori.

Inizia in piccolo. Scegli un processo che richiede il maggior tempo e impegno per il rilascio degli aggiornamenti e automatizzalo. Questo può essere il testing o il processo di distribuzione delle applicazioni. Gli esperti consigliano di implementare prima gli strumenti di controllo versione distribuito. Con essi è più semplice gestire i sorgenti. Tra queste soluzioni, i più noti sono Git, Mercurial, Subversion (SVN) e CVS.

Vale anche la pena prestare attenzione ai sistemi di integrazione continua, responsabili della costruzione e del testing del prodotto finale. Esempi di tali strumenti: Jenkins, TeamCity e Bamboo.

Valuta i miglioramenti. Sviluppa metriche di efficacia delle soluzioni implementate e redigi una lista di controllo. Le metriche possono includere la frequenza dei rilasci, il tempo di lavoro sulle funzioni software, il numero di bug nel codice. Discuti i risultati non solo con i manager, ma anche con il resto del team coinvolto nel progetto. Chiedi quali strumenti mancano. Tieni conto di queste richieste nella futura ottimizzazione dei processi.

Critiche a DevOps

Sebbene la metodologia il metodo di raggruppamento. consenta alle organizzazioni di prendere decisioni più rapidamente riguardo lo sviluppo delle applicazioni, riduce il numero di errori nel software e incoraggia i dipendenti a imparare cose nuove, ha anche i suoi critici.

C'è opinioni, che i programmatori non dovrebbero comprendere i dettagli del lavoro degli amministratori di sistema. Si sostiene che il DevOps porti al fatto che in azienda invece di specialisti nello sviluppo o nell'amministrazione compaiano persone che capiscono tutto, ma solo superficialmente.

Si ritiene inoltre che il DevOps non funzioni in caso di cattivo management. Se i team di programmatori e amministratori non hanno obiettivi comuni, la colpa ricade sui manager, che non organizzano l'interazione tra i team. Per risolvere questo problema non serve una nuova metodologia, ma un sistema di valutazione dei manager basato sui feedback dei subordinati. Qui puoi leggere quali domande dovrebbero essere incluse nei questionari per i dipendenti.

Che cos'è la metodologia DevOps e a chi serve
Foto Ed Ivanushkin / Flickr / CC BY-SA

Chi è un ingegnere DevOps

L'ingegnere DevOps si occupa dell'implementazione della metodologia DevOps. Sincronizza tutte le fasi di creazione di un prodotto software: dalla scrittura del codice al collaudo e al rilascio dell'applicazione. Questo specialista controlla i reparti di sviluppo e amministrazione e automatizza l'esecuzione dei loro compiti, implementando vari strumenti software.

Il punto di forza dell'ingegnere DevOps è che combina molte professioni: amministratore, sviluppatore, tester e manager.

Joe Sanchez, evangelista DevOps di VMware, società sviluppatrice di software per la virtualizzazione, ha evidenziato una serie di competenze che un ingegnere DevOps deve possedere. Oltre alla conoscenza ovvia della metodologia DevOps, questa persona deve avere esperienza nella gestione dei sistemi operativi Windows e Linux e esperienza con strumenti di automazione come ChefPuppetAnsible. Inoltre, deve saper scrivere script e codice in un paio di lingue e comprendere le tecnologie di rete.

L'ingegnere DevOps è responsabile di qualsiasi automazione delle attività legate alla configurazione e al deployment delle applicazioni. Inoltre, è responsabile del monitoraggio del software. Per affrontare queste sfide, utilizza vari sistemi di gestione delle configurazioni, soluzioni di virtualizzazione e strumenti cloud per il bilanciamento delle risorse.

Chi assume

Gli ingegneri DevOps possono portare vantaggio a qualsiasi organizzazione la cui attività è legata allo sviluppo di applicazioni o alla gestione di un elevato numero di server. Gli ingegneri DevOps vengono assunti da giganti IT come Amazon, Adobe e Facebook. Lavorano anche per Netflix, Walmart ed Etsy.

Non vengono assunti I soli startup assumono ingegneri DevOps. Il loro compito è lanciare un prodotto minimo viabile per testare una nuova idea. Nella maggior parte dei casi, i startup possono fare a meno dei DevOps.

Quanto guadagnano

Gli ingegneri DevOps guadagnano di più rispetto a chiunque altro nel settore. Il reddito medio di questi specialisti nel mondo va da 100 a 125 mila dollari all'anno.

Negli Stati Uniti guadagnano 90 mila dollari all'anno (500 mila rubli al mese). In Canada ricevono 122 mila dollari all'anno (670 mila rubli al mese), mentre nel Regno Unito sono 67,5 mila sterline all'anno (490 mila rubli al mese). Per quanto riguarda la Russia, le aziende di Mosca sono pronte

a pagare agli specialisti DevOps da 100 a 200 mila rubli al mese. A San Pietroburgo i datori di lavoro sono un po' più generosi, offrendo 160–360 mila rubli al mese. Nelle regioni si segnalano stipendi di 100–120 mila rubli al mese. Come diventare uno specialista DevOps Il DevOps è un campo relativamente nuovo nell'IT, quindi non esiste un elenco consolidato di requisiti per gli ingegneri DevOps. Negli annunci di lavoro, tra le richieste per questa posizione, si possono trovare sia competenze nell'amministrazione di Debian e CentOS, sia la capacità di lavorare con array

RAID.

Da questo si può dedurre che, prima di tutto, un ingegnere DevOps deve avere un buon bagaglio tecnico. È importante per una persona del genere studiare costantemente nuovi strumenti e tecnologie. È più facile diventare un ingegnere DevOps per un sysadmin o uno sviluppatore. Hanno già una serie di competenze che devono solo sviluppare ulteriormente. L'obiettivo principale è colmare il minimo bagaglio di conoscenze in DevOps, comprendere come lavorare con gli strumenti di automazione e riempire le lacune nelle competenze di amministrazione, programmazione e virtualizzazione..

Per capire dove mancano conoscenze, si può utilizzare

una mini-wikipedia su GitHub

una mappa mentale. I residenti di Hacker News raccomandano anche o di leggere i libri «» (di cui abbiamo parlato sopra) e « La filosofia del DevOps. L'arte di gestire l'IT » pubblicato da O’Reilly Media.Progetto "Fenice"" e "Guida a DevOpsSi può anche iscriversi allanewsletter Devops Weekly, leggere articoli dal portale tematico

DZone e iniziare a interagire con ingegneri DevOps inuna chat Slack . È anche consigliabile esaminare corsi gratuiti su Post dal nostro blog: Fabbrica di sicurezza di rete di Fortinet: cosa sa fareUno sguardo interno: unboxing dello storage all-flash NetApp AFF A300 Udacity o edX.

Unboxing del blade server Cisco UCS B480 M5



Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster