È buona prassi che le applicazioni di Azure si autogestiscano?

5

In molti esempi per la piattaforma di Azure sto assistendo a un sacco di processi di auto-amministrazione: un'applicazione testerà la presenza di un sistema esterno come una coda o un database e creerà le strutture necessarie di cui ha bisogno per funzionare .

Questo comportamento sembra contrario all'ambiente di un'applicazione più tradizionale configurato da un amministratore o un'applicazione di installazione separata che agisce per conto dell'amministratore.

Finora, il più grande svantaggio che posso osservare è che l'applicazione avrebbe bisogno di avere un certo livello di diritti amministrativi sui servizi che sta configurando e che potrebbero portare a una maggiore vulnerabilità.

Tuttavia, l'approccio Code-First in Entity Framework sembrerebbe anche suggerire una pratica che consente a un'applicazione di funzionare a livello di amministratore sulle risorse necessarie per funzionare.

Questo è un paradigma che dovrei aspettarmi di vedere di più, e ci sono motivi convincenti per considerarlo come "buona pratica"?

    
posta Paul Turner 25.03.2013 - 11:05
fonte

1 risposta

1

Che questa sia una "buona pratica" o meno dipende probabilmente da come la tua organizzazione e applicazione sono strutturate tanto quanto "standard accettati".

Dato che Azure non è molto dinamico in termini di infrastruttura (vale a dire che è prolisso aggiungere nuove cose mentre altre cose sono in esecuzione), direi che è appropriato per te avere pre-distribuire le attività di configurazione per il tuo database o coda, poiché è improbabile che funzioni con numeri arbitrari di database o code o aggiunga più infrastrutture durante il runtime.

Tuttavia, se la tua organizzazione si basa sulla possibilità di distribuire rapidamente (e automaticamente) una nuova versione della tua app in breve tempo, potresti trovarti nella posizione ideale per far sì che la tua applicazione assicuri lo stato del proprio database. Direi che questo è uno scenario abbastanza raro, e se sei in quella posizione forse la piattaforma Azure (con i suoi enormi tempi di spooling) non è la scelta ideale per te comunque. Per essere onesti, direi che il grosso svantaggio dell'approccio auto-configurante non è tanto il rischio per la sicurezza (che può essere gestito) quanto la quantità di tempo extra necessario per implementarlo.

Per la maggior parte delle applicazioni di Azure, suggerirei semplicemente di esaminare una qualche forma di controllo della versione SQL (Red Gate crea un soluzione eccellente ) e forse uno script automatico che è possibile eseguire dopo la distribuzione per configurare l'altra infrastruttura. Ciò consentirà un'agilità di implementazione senza andare oltre le quinte, creando un'applicabile applicazione di autoconfigurazione quando è meglio passare il tempo ad implementare alcune interessanti funzionalità.

    
risposta data 25.03.2013 - 12:03
fonte

Leggi altre domande sui tag