Che cos'è "DevOps"? [chiuso]

3

Ho visto questa parola lanciata in giro tanto che ho cercato. Ho letto innumerevoli spiegazioni, ma non sono ancora sicuro di cosa sia esattamente DevOps.

Da quello che ho raccolto, in qualche modo l'uso dell'automazione (ad esempio test automatici) è coinvolto o in qualche modo richiesto ed è in qualche modo correlato al ciclo di vita dello sviluppo del software ed è in qualche modo una "cultura", ma francamente non è chiaro esattamente come sia un ' cultura 'e cosa lo rende speciale.

Immagino che usare semplicemente l'automazione non classifichi automaticamente qualcosa come "DevOps", c'è chiaramente qualcosa in più o le persone direbbero semplicemente "automazione".

(Originariamente stavo per chiedere a SO, ma questo è stato chiesto due volte prima di altri lì, entrambe le domande sono state chiuse - una come 'non una domanda' e una come 'off-topic'. Nessuna delle risposte fornite era molto penetranti.)

Quindi cos'è esattamente DevOps? (E forse come differisce da "non DevOps"?)

Finora la definizione più chiara che sono riuscito a trovare è

DevOps is a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality

Ma sembra incredibilmente vago.

    
posta Pharap 20.06.2018 - 09:42
fonte

2 risposte

2

Una spiegazione breve (e non esaustiva) sarebbe che DevOps è il modo migliore e più standardizzato di fare operazioni legate allo sviluppo, ma non lo sviluppo.

Ciò include test (automatici o semi-automatizzati), implementazione in vari ambienti (test, controllo qualità, produzione), gestione dell'infrastruttura e tutti i tipi di cose che alcuni anni prima sarebbero stati eseguiti in un modo prevalentemente personalizzato, a seconda di dove lavori e con chi.

Quindi, invece di avere un programmatore che scrive codice, esegui test (se ce ne sono), sposta manualmente il pacchetto compilato su un server, configurando le cose a mano e così via, hai un processo e una pipeline chiari. Il programmatore si concentrerà sulla scrittura del codice e l'automazione gestirà le cose noiose che non richiedono interazione umana.

    
risposta data 20.06.2018 - 09:51
fonte
1

Penso che il pezzo mancante del puzzle sia ciò che la parte "Ops" di DevOps significa.

Significa "Operazioni". Cioè, facendo girare il software rilasciato in produzione. Comporta attività come:

  • Scelta e configurazione dell'hardware, incluso il networking.
  • Distribuzione del software
  • Configurazione del software
  • Monitoraggio dell'hardware e del software mentre è in esecuzione e reagisce a eventuali problemi come errori nei registri o sovraccarico dell'hardware.
  • Esaminare i reclami degli utenti per scoprire se il problema segnalato è dovuto a un errore dell'utente, può essere risolto regolando l'hardware o la configurazione, oppure è un bug nel codice

Ora, tradizionalmente, questo lavoro "Operazioni" è completamente separato dallo sviluppo del software. È fatto dagli amministratori di sistema, non dagli sviluppatori, da persone diverse in un reparto diverso, che possono conoscere poco sullo sviluppo e comunicare raramente con gli sviluppatori, di solito tramite documenti come guide di installazione, sistemi di trouble ticket o occasionali telefonate urgenti. / p>

L'intero punto di DevOps è rimuovere questa separazione tra lo sviluppo e le operazioni e fare in modo che un singolo team sia responsabile per entrambi. L'obiettivo è di consentire cicli di rilascio più rapidi e una reazione più rapida ai problemi di produzione, idealmente per identificare e risolvere tali problemi prima che incidano sugli utenti, o addirittura evitare di introdurli in primo luogo facendo in modo che gli sviluppatori comprendano meglio i problemi che sorgono quando funzionamento del software in produzione.

    
risposta data 20.06.2018 - 10:32
fonte

Leggi altre domande sui tag