Sono attualmente impegnato in un breve progetto di ricerca. La società in cui lavoro ha un processo di rilascio molto pesante che sta peggiorando col passare del tempo. Stiamo riscontrando un numero sempre maggiore di problemi con ogni versione, che sta iniziando a influire seriamente sui nostri programmi di consegna e sulla qualità di ogni versione. Forniamo un grande prodotto SAAS distribuito su Internet in una web farm di grandi dimensioni. Il nostro processo di implementazione è attualmente gestito da un team dedicato, con un coinvolgimento minimo degli sviluppatori. Siamo principalmente un negozio .NET, tuttavia abbiamo anche un paio di componenti Java.In che modo la tua azienda distribuisce il suo software?
Sto studiando come migliorare il nostro QA e il processo di implementazione per ridurre gli sprechi e portare più processi sotto il controllo dei nostri team di sviluppo. Sono interessato a sapere come la tua azienda distribuisce i tuoi prodotti (preferibilmente SAAS, ma non limitati a tali prodotti) alla produzione, così come il viaggio attraverso i test durante il suo percorso. Sono curioso di sapere cosa ha funzionato e cosa no, e sono sicuro che molti di voi hanno storie da raccontare.
EDIT (RFC aggiuntive):
Come ho continuato la mia ricerca, mi sono imbattuto nel concetto di "Deployment continuo", a quanto pare sperimentato dal Team 3D comunità online IMVU. Sembra un concetto intrigante, forse un po 'complesso. Sono curioso di sapere se qualcuno qui su SO ha qualche esperienza con la distribuzione continua? In particolare con un progetto ampio e complesso che ha molte parti. Non è necessario necessariamente implementare continuamente la produzione ... per le nostre esigenze a breve termine, consideriamo solo l'implementazione continua in ambienti interni di dev/qa/perftest. Se qualcuno ha implementato la distribuzione continua, sono anche curioso di sapere come hai gestito lo schema del database e le modifiche/rollback dei dati.
Grazie!
Grazie per la risposta dettagliata. Sembra la chiave che ti ha aiutato ad usare le macchine virtuali. Uno dei prodotti che stiamo valutando è VMware Lab Manager. Da quello che ho raccolto su AMI, serve lo stesso scopo di base ... macchine virtuali basate su modelli. Immagino che la differenza principale sia che sarà ospitata da noi sul nostro hardware. È bello sapere di uno scenario in cui la virtualizzazione è stata utilizzata con successo (e nel cloud, per l'avvio!) – jrista
Ho anche chiesto a jamiedp questa domanda, ma quanto è grande la tua applicazione? Lo classificherai come piccolo, medio, grande o enorme? Questo è in termini di dimensioni del codice di base, quantità di configurazione e numero di utenti in media. Grazie! – jrista
@jrista: Immagino che dipenda da come si definiscono queste dimensioni, ma grandi suoni sulla destra. L'applicazione è abbastanza complessa, fa ampio uso delle tecnologie aziendali e supporta un volume di transazioni piuttosto elevato. –