In che modo i DevOps si inseriscono nella divisione Sviluppo del lavoro del settore del software?

0

Credo che il concetto di DevOps sia la singola persona che gestisce tutte le attività di un dato requisito.

1) Understanding the requirement/problem

2) Come up with logic to solve the problem

3) Write code for the logic

4) Test the developed feature

5) Deploy it

6) Maintain it

Significa "Divisione del lavoro" non è affatto nella foto di DevOps?

    
posta karthikeayan 22.04.2018 - 19:11
fonte

3 risposte

1

L'idea di dove lo sviluppatore è responsabile dell'intero ciclo di vita dello sviluppo, dall'analisi dei requisiti, alla progettazione, allo sviluppo, alla verifica, all'implementazione e al monitoraggio è vecchia quanto il software stesso. È l'idea alla base di eXtreme Programming.

Purtroppo, XP non ha capito. E ogni altra pratica o non ha parlato di questo, o si è ispirata all'ingegneria civile, dove tale pratica è all'ordine del giorno. Ma le persone credono ancora che gli sviluppatori dovrebbero essere responsabili per l'intero ciclo di vita, ma non possono semplicemente riutilizzare il vecchio, e ignorato, framework come XP. Quindi le persone hanno appena trovato un nuovo nome per la vecchia cosa. E questo è DevOps.

    
risposta data 22.04.2018 - 20:52
fonte
0

Hai un malinteso fondamentale su ciò che DevOps è. DevOps è una metodologia che ha lo scopo di semplificare il processo di ottenere cambiamenti di fronte agli utenti, sfruttando strongmente l'automazione.

Il flusso di lavoro di base è un ciclo simile al seguente:

  1. Codice - sviluppo e revisione del codice, strumenti di gestione del codice sorgente, unione di codice
  2. Build: strumenti di integrazione continua, build status
  3. Test: strumenti di test continui che forniscono feedback sui rischi aziendali
  4. Pacchetto - repository di risorse, staging pre-distribuzione delle applicazioni
  5. Rilascio - modifica la gestione, rilascia le approvazioni, rilascia l'automazione
  6. Configura - configurazione e gestione dell'infrastruttura, infrastruttura come strumenti di codice
  7. Monitor: monitoraggio delle prestazioni delle applicazioni, esperienza dell'utente finale

Quando qualcuno viene assunto come ingegnere "DevOps", in genere viene incaricato di:

  • Impostazione e gestione dell'infrastruttura di build e dell'infrastruttura di distribuzione (ad es. stack di sale ecc.)
  • Scrivere script per automatizzare i processi
  • Operazioni di monitoraggio

I tuoi sviluppatori stanno ancora scrivendo software, test di unità, ecc. Potresti avere specialisti di test che scrivono i tuoi script BDD. Quella parte non cambia. Ciò che cambia è che i tuoi sviluppatori e tester possono concentrarsi maggiormente su ciò in cui sono bravi e consentire allo staff DevOps (in realtà operazioni) di gestire le distribuzioni.

    
risposta data 22.06.2018 - 21:56
fonte
-1

Questa è una definizione insolita di "DevOps"

Definire DevOps come pratica per automatizzare il provisioning di server e altre infrastrutture e la distribuzione di software.

Classicamente un'organizzazione avrebbe un dipartimento delle operazioni che dovrebbe occuparsi della gestione dei sistemi. Queste erano le persone che chiamavi quando le cose andavano male o che funzionavano lentamente ecc. Ma comprendevano anche i server, la gestione della rete e l'installazione del software che l'azienda aveva acquistato.

Quindi avresti un reparto sviluppo che dovrebbe scrivere un nuovo software. Una volta completato il software, sarebbe (in teoria) consegnato a "Operazioni" per distribuire e gestire con la documentazione completa, l'elenco di errori ode e le impostazioni ecc.

In pratica, gli sviluppatori probabilmente installerebbero il software manualmente la prima volta. Modificando e testando quanto richiesto, quindi scappare senza fornire alcuna documentazione a nessuno.

La separazione di queste due preoccupazioni può causare problemi poiché il team Ops non sa come risolvere il software se si rompe e il team Dev (se ha un'unione decente) non è in servizio. e in ogni caso spesso la causa principale sarà l'infrastruttura una volta che il software è stato illuminato dall'indagine.

Con l'automazione della distribuzione e della configurazione dell'infrastruttura Gli sviluppatori sono in grado di automatizzare gran parte delle attività manuali che sarebbero state richieste in passato. vale a dire l'acquisto di server e il loro inserimento, l'impostazione di routing di rete e simili. quindi "DevOps".

I bit duri dei data center effettivamente in esecuzione possono essere esternalizzati a team specializzati e i problemi di live fix si riducono a due pulsanti: "ridimensionalo" o "esegui il rollback"

    
risposta data 22.04.2018 - 19:54
fonte

Leggi altre domande sui tag