Disponibilità su aggiornamento, migrazione, ecc

0

Quando si desidera aggiornare, migrare o implementare una nuova versione di un sistema grande e / o critico, assolutamente, non è possibile arrestare il sistema e fare il proprio lavoro, quindi avviarlo !!! Voglio sapere quali sono i requisiti per progettare un sistema che può essere disponibile durante l'aggiornamento, ...? quali sono i problemi di compatibilità? Come i clienti dovrebbero essere a conoscenza delle modifiche?

Ad esempio: nell'aggiornamento di una nuova versione refactored di un sistema di grandi dimensioni che fornisce servizi a software integrati, l'aggiornamento di tutti i client richiede alcuni mesi, quindi come il team di sviluppo dovrebbe occuparsi di questa sitution?

    
posta Reza Same'ei 31.07.2015 - 08:03
fonte

1 risposta

1

Dipende enormemente dal tipo di sistema, ma qui ci sono alcune cose da considerare.

  1. L'hot patching consente al sistema di continuare a funzionare mentre si implementano nuove funzionalità e aggiornamenti. Perché ciò funzioni, in genere è necessario lavorare in un linguaggio di programmazione funzionale , poiché tali lingue non contengono variabili di stato mutabili. Erlang è un tale linguaggio; la distribuzione di hot code è completamente supportata in Erlang. Lisp ha avuto questa funzione per anni. Java supporta anche la sostituzione di hot code, ma non C #.

  2. Alcuni server di applicazioni Web come Microsoft Internet Information Server (IIS) e Apache Tomcat dispongono di un'opzione di distribuzione avanzata. In alcuni casi, il codice viene compilato dinamicamente al momento dell'esecuzione. Nel caso delle DLL, IIS esegue una copia shadow della DLL distribuita, attende un tempo opportuno, ricicla il dominio dell'app e scambia la nuova DLL. L'utente vede solo un breve ritardo nel suo browser web mentre il dominio dell'app si riavvia.

  3. Meccanismi come Managed Extensibility Framework e Activator.CreateInstance() (tecniche specifiche per l'ecosistema .NET) consentono di modificare moduli e plug-in in fase di runtime.

Ulteriori letture
Aggiornamento software dinamico

    
risposta data 31.07.2015 - 08:14
fonte

Leggi altre domande sui tag