Chi è responsabile per il mantenimento di IIS per le applicazioni web?

IIS / Web Applications è stato un problema difficile nei negozi che ho lavorato nel tempo.

Da una parte, IIS è un servizio integrato nel server (in largo) e in genere è responsabilità degli amministratori del server per mantenere e configurare. Quando arriva un problema, sanno cosa deve accadere o alless la diagnosi fino al punto in cui loro dicono: "Qualcosa non va nell'applicazione web" e lo sviluppatore debug il proprio codice.

Tuttavia, each applicazione web sul server è unica e presenta molte sfumature che può essere complessa in base ai problemi in questione.

D'altra parte, each applicazione web è unica in molti modi e ha avuto problemi specifici che devono essere trattati e lo sviluppatore è la persona che conosce la maggior parte dell'applicazione. Se il file web.config deve essere modificato per eseguire il debug o un IIS inizia a dare dolore all'applicazione Web, lo sviluppatore dovrebbe sapere where il problema si trova e correggerlo di conseguenza, sia a causa di IIS o dell'applicazione stessa.

Tuttavia, consentire a uno sviluppatore di entrare e modificare con IIS da solo diventa un problema serio perché alcune impostazioni / ottimizzazioni possono seriamente muck up con le performance e la stabilità del server.

Allora, where si trova l'equilibrio? Se l'amministratore del server deve essere il guru di IIS e gestire tutti quei problemi e submit semplicemente i file di sito durante l'installazione o lo sviluppatore assumere la responsabilità per i problemi di server e IIS e gestirli di conseguenza?

6 Solutions collect form web for “Chi è responsabile per il mantenimento di IIS per le applicazioni web?”

Suona come quello di cui hai bisogno è qualcuno con esperienza su entrambi i lati della recinzione.

Nella mia esperienza (con aziende di piccole size), il personale IT / sysadmin non dispone di tempo, interessi o conoscenze specifiche di webapp per mantenere correttamente le impostazioni di IIS. Prendono le cose fino al sistema operativo e consegnano l'IIS a me, lo sviluppatore.

Ovviamente devo essere "più di un coder" per far funzionare correttamente questo lavoro; Devo essere consapevole di problemi a livello di sistema (sicurezza e cosa non fare). Ho eseguito una gestione dei sisthemes a basso livello per anni e quindi sono sicuro di questo tipo di attività (infatti, ho imparato a svolgere alcuni sysadmin professionali nel corso degli anni). Tuttavia, non tutti gli sviluppatori hanno questa funzionalità.

Ancora, da quello che ho visto, ci sono più sviluppatori con competenze di sysadmin poi ci sono sysadmin con (webapp) capacità di sviluppo.

Come sempre, YMMV.

Personalmente non vorrei che uno sviluppatore si confondesse con IIS, soprattutto se significava che potrebbero causare problemi con un'altra applicazione con un altro sviluppatore che ha bisogno di problemi di ripresa, su e giù.

Se ci sono problemi di IIS, accedere a SysAdmin e, se c'è un problema con un'applicazione particolare, rimetterlo al dev. Se il dev ha un problema, portlo a SysAdmin, che può quindi tentare di prendere una decisione informata su come apportre modifiche e capire come possa interessare tutti.

Noi (gli sysadmin) trattano i nostri sviluppatori proprio come avremmo un fornitore di terze parti – quando vogliono distribuire un'applicazione, devono fornire documentazione se prevedono che sia supportta. Ciò include comuni routine di risoluzione dei problemi e un path di escalation di supporto (requisiti di uptime combinati con una responsabilità documentata del responsabile nel caso di un'interruzione inaccettabile).

Ovviamente non è in bianco e nero, ma è fatto molto per alleviare la tensione tra gli amministratori e gli amministratori. I devs ora si rendono conto che devono fornire software di qualità inversamente proporzionale alla loro volontà di pagare dopo ore, e i devs ora hanno strumenti e documenti per passare senza sentire sul hook per gli strumenti che non hanno creato.

Quindi, nel tuo scenario, ciò significherebbe che i devs creano la propria applicazione sul proprio server IIS e quindi forniscano il software e la documentazione per gli amministratori da installare sul server di produzione.

Se l'amministratore del server deve essere il guru di IIS e gestire tutti quei problemi e submit semplicemente i file di sito durante l'installazione o lo sviluppatore assumere la responsabilità per i problemi di server e IIS e gestirli di conseguenza?

Risposta: individuare una persona e affidarle "WSA" (amministratore del server Web) . Potrebbero essere un amministratore o uno sviluppatore; non import davvero. Ma hanno bisogno di immergersi in entrambi gli aspetti del lavoro, e il resto della squadra (da entrambi i lati) deve rispettare la loro esperienza.

Non è diverso da come i DBA occupano la linea tra IT / dev. Data l'importnza dei server web in un'organizzazione con un prodotto basato su web, credo che questo sia un ruolo critico e spesso trascurato.

Dal momento che il web è ancora giovane (rispetto alle banche dati), è difficile reclutare questo individuo. Avnetworking probabilmente bisogno di crescere / sposo qualcuno nel ruolo.

Con nuove utility come il Web Deployment Tool (che diventerà il metodo standard integrato per pubblicare un'applicazione web che inizia in Visual Studio 2010), Microsoft sembra dirigersi verso il path verso la possibilità di lasciare che gli sviluppatori o alless gli ingegneri di installazione scelgano le cose come le impostazioni IIS ( cert, impostazioni pool di app, ecc.). Entrano incorporati nel pacchetto di installazione di msdeploy e vengono automaticamente applicati al server IIS quando il pacchetto viene distribuito nei server.

Sembra un compromesso ragionevole. Gli sviluppatori non vanno manualmente mucking con le impostazioni nei server di produzione in diretta e gli amministratori sys non devono avere le conoscenze specifiche di webapp. Eppure le impostazioni IIS desiderate sono chiaramente visibili agli amministratori di sistema che vogliono capire cosa succederà prima che il pacchetto venga installato.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.