Ambiente di staging vs Ambiente di produzione

70

Lavoro per un'azienda in cui creiamo applicazioni aziendali e gestiamo tre ambienti: sviluppo (o dev ), staging (o stage ) e produzione (o prod ).

Il significato di dev è intuitivo: è l'ambiente utilizzato durante lo sviluppo dell'applicazione.

Qual è la differenza tra gli ambienti di staging e di produzione ?

    
posta rdasxy 04.11.2011 - 21:26
fonte

5 risposte

114

Per le aziende più piccole (non è chiaro quanto grande sia il tuo), tre ambienti (dev, stage, produzione) sono comuni. Le aziende più grandi avranno spesso un ambiente di controllo qualità tra dev e stage.

Normalmente si suddividono come segue:

dev : copia del codice di lavoro. Le modifiche apportate dagli sviluppatori vengono implementate qui, quindi è possibile testare l'integrazione e le funzionalità. Questo ambiente viene aggiornato rapidamente e contiene la versione più recente dell'applicazione.

qa : (Non tutte le società avranno questo). Ambiente per la garanzia della qualità; questo fornisce una versione meno frequente dell'applicazione a cui i tester possono eseguire controlli. Ciò consente di generare report su una revisione comune, in modo che gli sviluppatori sappiano se determinati problemi riscontrati dai tester sono già stati corretti nel codice di sviluppo.

staging : questa è la release candidate e questo ambiente è normalmente un mirror dell'ambiente di produzione. L'area di gestione temporanea contiene la versione "successiva" dell'applicazione e viene utilizzata per le prove di stress finali e le approvazioni di client / manager prima della pubblicazione.

produzione : questa è la versione dell'applicazione attualmente disponibile, accessibile per gli utenti client / finali. Questa versione preferibilmente non cambia tranne per le versioni programmate.

    
risposta data 05.11.2011 - 00:37
fonte
13

Sono un po 'sorpreso dal fatto che non sia presente un ambiente di test, come una posizione in cui inserire il codice prima di essere promosso alla gestione temporanea.

Per rispondere alla domanda:

Un ambiente scenico dovrebbe rispecchiare l'ambiente di produzione il più vicino possibile.

Viene utilizzato per la verifica delle procedure di implementazione, assicurandosi che quando il codice è pronto per la produzione possa essere distribuito senza causare problemi.

Cioè, il codice va alla messa in scena - questo è ampiamente testato e regredito per garantire che la distribuzione sia andata come previsto (e per risolvere eventuali problemi se non fosse così).

    
risposta data 04.11.2011 - 21:31
fonte
4

L'ambiente dello stage è un ambiente di preprod per rispecchiare la produzione. Spesso, può avere alcuni dati di produzione in modo che un gruppo di test composto da utenti reali e tester QA possa confermare che i codici / dati pre-rilasciati verranno implementati e funzioneranno correttamente in un ambiente simile ai prodotti, solitamente attraverso casi d'uso e regressione programmati test.

Come note di @Oded, di solito è comune avere un ambiente di QA che i tester del QA usano per testare il codice.

    
risposta data 04.11.2011 - 23:33
fonte
3

La mia esperienza con il governo degli Stati Uniti / Dipartimento della Difesa IT è questa:

  1. DEVELOPMENT / TEST è per sviluppatori e sviluppatori di applicazioni. Costruiscono e testano le applicazioni lontano dai sistemi aziendali.
  2. Una volta completate le applicazioni, verranno implementate nell'ambiente IT nei server PACKAGING.
  3. Da quel momento in poi, le applicazioni sono supportate dall'IT, migrate in STAGING (che consente all'IT di sviluppare / controllare linee guida, configurazioni, ecc.). In questo stadio, i test degli utenti possono in qualche misura verificarsi per verificare che l'applicazione funzioni come previsto in un sistema che replica PRODUCTION.
  4. Se tutti i piani di test sono completati e sono validi, l'applicazione verrà spostata su PRODUCTION e passerà alla modalità di mantenimento (cioè operazioni e manutenzione o O & M).
  5. Nuovi aggiornamenti degli sviluppatori verranno anche implementati in PACKAGING e il processo continua.
risposta data 08.10.2013 - 15:40
fonte
2

Come sviluppatore web, ci sono principalmente tre ambienti da considerare praticamente :

Produzione : l'ambiente configurato per ospitare la versione finale di un prodotto destinato agli utenti finali. È ottimizzato per sicurezza e prestazioni. È ospitato su un server live. Richiede assistenza tempestiva e tempestiva. È fondamentale per i dati. Pertanto, i suoi dati vengono sottoposti regolarmente a backup. Coinvolge anche la gestione dei rischi e il disaster recovery. L'ambiente di produzione è configurato per mostrare errori amichevoli agli utenti finali.

Staging : l'ambiente configurato per ospitare il release candidate dell'applicazione dopo aver dichiarato un blocco del codice. Si rivolge al project manager / proprietario insieme al team di sviluppo per concordare lo scopo del candidato al rilascio. Implica la garanzia della qualità e anche il team di sviluppo per eseguire le correzioni finali e l'arredamento finale prima di passare alla produzione. La migliore pratica è quella di imitare l'ambiente di produzione utilizzando gli ultimi dati disponibili da un DB live copiato dall'ambiente di produzione. Normalmente, l'ambiente di staging è accessibile solo dal team interno e dalle parti interessate, pertanto è protetto su un server pubblico o pubblicato su un ambiente intranet se tutte le parti interessate possono accedere a una rete locale. L'ambiente di staging è configurato per mostrare errori tecnici medi o completi.

Sviluppo : l'ambiente privato configurato da un singolo sviluppatore sulla sua macchina per controllare il proprio lavoro durante un ciclo di sviluppo, normalmente, ha chiamato uno sprint in un ambiente di mischia. L'ambiente di sviluppo è configurato per mostrare errori tecnici completi.

    
risposta data 06.01.2019 - 10:52
fonte