Ambiente di gestione temporanea vs ambiente di produzione


80

Io lavoro per una società in cui costruiamo le applicazioni aziendali, e manteniamo tre ambienti: sviluppo (o dev ), mettendo in scena (o stage ) e la produzione (o prod ).

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

Qual è la differenza tra ambienti di gestione temporanea e di produzione ?

Risposte:


122

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

Questi normalmente si scompongono come segue:

dev : copia del codice di lavoro. Le modifiche apportate dagli sviluppatori sono implementate qui in modo da poter testare l'integrazione e le funzionalità. Questo ambiente viene rapidamente aggiornato e contiene la versione più recente dell'applicazione.

qa : (non tutte le aziende avranno questo). Ambiente per la garanzia della qualità; ciò fornisce una versione modificata meno frequentemente dell'applicazione su cui i tester possono eseguire controlli. Ciò consente di riferire su una revisione comune in modo che gli sviluppatori sappiano se particolari problemi rilevati dai tester sono già stati corretti nel codice di sviluppo.

stadiazione : si tratta del candidato alla versione 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 finali di stress e per le approvazioni client / manager prima di essere pubblicate.

produzione : questa è la versione attualmente rilasciata dell'applicazione, accessibile al cliente / utenti finali. Questa versione preferibilmente non cambia se non durante le versioni programmate.


7
Questo è giusto in termini di software. Ci sono anche i dati: dev e qa sono collegati ai database di test in modo che sviluppatori e tester non debbano preoccuparsi di introdurre modifiche, mentre la gestione temporanea e la produzione utilizzano database di produzione. Pensa a una banca.
Juan Lanus,

4
C'è un'altra dimensione: chi sono gli utenti? dev: gli sviluppatori; qa (preferisco qc): i tester; messa in scena e produzione: utenti reali. Nelle applicazioni aziendali con database medi, gli sviluppatori non sono autorizzati a vedere i database di produzione, per non parlare, sono dotati di versioni anonime.
Juan Lanus,

3
@JuanLanus: di solito, l'ambiente di gestione temporanea utilizzerà una copia dei dati di produzione, in genere non si desidera modificare i dati di produzione dalla gestione temporanea.
sleske,

1
@JuanLanus: Spiacente, volevo dire "non vuoi che le modifiche nell'ambiente di gestione temporanea siano visibili nell'ambiente di produzione", quindi la gestione temporanea utilizza una copia dei dati di produzione, ma (in genere) una copia modificabile.
sleske,

2
Chiamiamo qa 'test': dev (me), test (team), messa in scena (client), prod (mondo)
Rudie,

13

Sono un po 'sorpreso che non sia presente anche un ambiente di test, in quanto posizione in cui inserire il codice prima di essere promosso alla messa in scena.

Per rispondere alla domanda:

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

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

Cioè, il codice va in scena - questo viene completamente testato e regredito per garantire che la distribuzione sia andata come previsto (e per risolvere eventuali problemi in caso contrario).


1
Esatto: esiste per portare il codice dall'ambiente di sviluppo in un ambiente più controllato, tra le altre cose, mostrando eventuali dipendenze mancate nella documentazione e qualsiasi imbarazzo "ben funzionante sulla nostra macchina" sull'ambiente live / prod.
Danny Staple,

Questo non ha nulla a che fare con la domanda però ...
nbro,

4

L'ambiente scenico è un ambiente pre-produzione che rispecchia la produzione. Spesso, potrebbe contenere alcuni dati di produzione in modo che un gruppo di test composto da utenti effettivi e tester di QA possa confermare che la base / i dati pre-rilasciati verranno distribuiti e funzioneranno correttamente in un ambiente simile a un prod, di solito attraverso casi d'uso con script e regressione test.

Come indicato da @Oded, in genere è comune disporre di un ambiente di controllo qualità utilizzato dai tester di controllo qualità per testare il codice.


3

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

  1. SVILUPPO / TEST è per sviluppatori e sviluppatori di applicazioni. Costruiscono e testano le applicazioni lontano dai sistemi aziendali.
  2. Una volta completate, le applicazioni verranno distribuite 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 di implementazione, configurazioni, ecc.). In questa fase possono verificarsi test utente in una certa misura per verificare che l'applicazione funzionerà come previsto in un sistema che replica PRODUZIONE.
  4. Se tutti i piani di test sono stati completati e sono validi, l'applicazione verrà spostata in PRODUZIONE e passerà alla modalità di mantenimento (ad es. Operazioni e manutenzione o O&M).
  5. Nuovi aggiornamenti dagli sviluppatori verranno anche distribuiti in PACKAGING e il processo continua.

2
Benvenuti ai programmatori. Il nostro sito si concentra su domande e risposte di alta qualità. Non è come i forum tipici. Dai un'occhiata al centro assistenza per ulteriori informazioni. Non vedo come la tua risposta affronti tutti i punti che non sono già stati fatti da altre risposte a questa domanda.

2

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

Produzione : l'ambiente configurato per ospitare la versione di rilascio finale di un prodotto destinato agli utenti finali. È ottimizzato per sicurezza e prestazioni. È ospitato su un server live. Richiede supporto attento e urgente. È fondamentale per i dati. Pertanto, i suoi dati vengono sottoposti a backup regolarmente. Implica anche la gestione del rischio e il ripristino di emergenza. L'ambiente di produzione è configurato per mostrare errori amichevoli agli utenti finali.

Staging : l'ambiente configurato per ospitare il candidato di rilascio dell'applicazione dopo aver dichiarato un blocco del codice. Si rivolge al project manager / proprietario insieme al team di sviluppo per concordare l'ambito 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 rilasciare alla produzione. La migliore pratica è imitare l'ambiente di produzione usando gli ultimi dati disponibili da un DB live copiato dall'ambiente di produzione. Normalmente, l'ambiente di gestione temporanea è 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 gestione temporanea è 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 chiamato sprint in un ambiente di mischia. L'ambiente di sviluppo è configurato per mostrare errori tecnici completi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.