Wer ist für die Wartung von IIS für Webanwendungen verantwortlich?


15

IIS / Web-Anwendungen waren in den Läden, in denen ich im Laufe der Zeit gearbeitet habe, ein heikles Problem.

Einerseits ist IIS ein Dienst, der (im Großen und Ganzen) in den Server integriert ist und in der Regel von den Serveradministratoren verwaltet und konfiguriert wird. Wenn ein Problem auftritt, wissen sie, was zu tun ist, oder können zumindest bis zu dem Punkt diagnostizieren, an dem sie sagen: "Irgendetwas stimmt mit der Web-App nicht", und den Entwickler veranlassen, ihren Code zu debuggen.

Jede Webanwendung auf dem Server ist jedoch einzigartig und weist eine Reihe von Nuancen auf, die je nach den jeweiligen Problemen komplex sein können.

Andererseits ist jede Webanwendung in vielerlei Hinsicht einzigartig und hatte bestimmte Probleme, die gelöst werden müssen, und der Entwickler ist die Person, die die Anwendung am besten kennt. Wenn die Datei web.config zum Debuggen geändert werden muss oder ein IIS die Webanwendung zu betrüben beginnt, sollte der Entwickler wissen, wo das Problem liegt, und es entsprechend beheben, entweder aufgrund von IIS oder der Anwendung selbst.

Es wird jedoch zu einem ernsten Problem, einem Entwickler zu gestatten, eigenständig an IIS zu arbeiten, da einige Einstellungen / Optimierungen die Serverleistung und -stabilität ernsthaft beeinträchtigen können.

Wo liegt also das Gleichgewicht? Sollen die Serveradministratoren IIS-Gurus sein und all diese Probleme behandeln und ich die Site-Dateien einfach über die Bereitstellung senden, oder sollte der Entwickler die Verantwortung für die Server- und IIS-Probleme übernehmen und sie entsprechend behandeln?


Gute Frage. Dies ist meiner Meinung nach eine der wichtigsten Entscheidungen, mit denen ein mittelständisches .NET-Web-App-Unternehmen konfrontiert sein wird. Wer wird der IIS-Guru?
Portman

Wir sind auch diesen Weg gegangen; Ich habe immer noch keine perfekte Lösung gefunden.
SqlACID

haha ich habe gerade diese frage geschrieben und dachte "nee, es ist zu subjektiv". Ich bin froh, dass ich aufgehört habe, da es bereits gefragt wurde
Aaron Powell

Antworten:


5

Klingt so, als ob Sie wirklich jemanden mit Fachwissen auf beiden Seiten des Zauns brauchen.


+1. Sie benötigen entweder einen Netzwerkadministrator, der sich für .NET interessiert, oder einen Softwareentwickler, der sich für den Server interessiert.
Portman

4

Nach meiner Erfahrung (mit kleineren Unternehmen) verfügen die IT- / Systemadministrator-Mitarbeiter nicht über die Zeit, das Interesse oder das webapp-spezifische Wissen, um IIS-Setups ordnungsgemäß zu warten. Sie werden die Dinge bis zum Betriebssystem bringen und IIS an mich, den Entwickler, weitergeben.

Natürlich muss ich "mehr als nur ein Programmierer" sein, damit dies richtig funktioniert. Ich muss mir der Probleme auf Systemebene bewusst sein (Sicherheit und so weiter). Ich habe jahrelang Low-Level-Systemmanagement betrieben und bin daher zuversichtlich, diese Aufgabe zu bewältigen (in der Tat habe ich professionellen Systemadministratoren im Laufe der Jahre einige Dinge beigebracht). Nicht jeder Entwickler verfügt jedoch über diese Fähigkeit.

Nach allem, was ich gesehen habe, gibt es mehr Entwickler mit Sysadmin-Kenntnissen als Sysadmin mit (Webapp-) Entwicklungskenntnissen.

Wie immer YMMV.


3

Ich persönlich möchte nicht, dass ein Entwickler mit IIS herumspielt, insbesondere wenn dies bedeutet, dass Probleme mit einer anderen Anwendung auftreten und ein anderer Entwickler immer wieder Probleme beheben muss.

Wenn es IIS-Probleme gibt, lassen Sie den SysAdmin nachsehen, und wenn es ein Problem mit einer bestimmten App gibt, senden Sie es zurück an den Entwickler. Wenn der Entwickler ein Problem hat, wenden Sie sich an den SysAdmin, der dann versuchen kann, eine fundierte Entscheidung darüber zu treffen, ob Änderungen vorgenommen werden sollen, und herauszufinden, wie sich dies auf alle auswirkt.


3

Wir (die Sysadmins) behandeln unsere Entwickler wie Drittanbieter - wenn sie eine App bereitstellen möchten, müssen sie Dokumentation bereitstellen, wenn sie erwarten, dass sie unterstützt wird. Dies umfasst allgemeine Routinen zur Fehlerbehebung und einen Eskalationspfad für den Support (Verfügbarkeitsanforderungen kombiniert mit einer dokumentierten Verantwortung des Entwicklers im Fall eines inakzeptablen Ausfalls).

Es ist offensichtlich nicht schwarz und weiß, aber es wurde viel getan, um die Spannung zwischen Entwicklern und Administratoren zu lockern. Die Entwickler erkennen nun, dass sie Software in einer Qualität bereitstellen müssen, die umgekehrt proportional zu ihrer Bereitschaft ist, nach Stunden ausgelagert zu werden, und die Entwickler verfügen nun über Tools und Dokumente, die sie durcharbeiten können, ohne nach Tools Ausschau zu halten, die sie nicht erstellt haben.

In Ihrem Szenario würde dies bedeuten, dass die Entwickler ihre App auf ihrem eigenen IIS-Server erstellen und dann die Software und Dokumentation für die Administratoren bereitstellen, die auf dem Produktionsserver installiert werden sollen.


"Die Entwickler haben jetzt Tools und Dokumente, die sie durcharbeiten können, ohne nach Tools Ausschau zu halten, die sie nicht erstellt haben"?
Serienmotor

3

Sollen die Serveradministratoren IIS-Gurus sein und all diese Probleme behandeln und ich die Site-Dateien einfach über die Bereitstellung senden, oder sollte der Entwickler die Verantwortung für die Server- und IIS-Probleme übernehmen und sie entsprechend behandeln?

Antwort: Finden Sie eine Person und ernennen Sie diese mit "WSA" (Web Server Administrator) . Sie könnten ein Administrator oder ein Entwickler sein; es ist wirklich egal. Sie müssen sich jedoch auf beide Aspekte des Jobs einlassen, und der Rest des Teams (auf beiden Seiten) muss ihre Fachkenntnisse respektieren.

Es ist nicht anders, als wie DBAs die Grenze zwischen IT / Entwickler überschreiten. Angesichts der Bedeutung von Webservern in einer Organisation mit einem webbasierten Produkt halte ich dies für eine wichtige und häufig übersehene Rolle.

Da das Web noch jung ist (im Vergleich zu Datenbanken), ist es schwierig, diese Person zu rekrutieren. Sie werden höchstwahrscheinlich jemanden für die Rolle gewinnen / pflegen müssen.


0

Mit neuen Programmen wie das Web Deployment Tool (die die Standard - builtin Art und Weise werden eine Webanwendung in Visual Studio ab 2010 zu veröffentlichen), scheint Microsoft den Weg zu lassen Entwickler hinunter zu oder zumindest Installateuren wählen Dinge wie IIS - Einstellungen ( Zertifikate, App-Pool-Einstellungen usw.). Sie werden in das msdeploy-Installationspaket integriert und automatisch auf den IIS-Server angewendet, wenn das Paket auf Servern bereitgestellt wird.

Scheint ein vernünftiger Kompromiss zu sein. Entwickler müssen nicht manuell mit den Einstellungen auf den Live-Produktionsservern herumspielen, und Sys-Administratoren müssen nicht über die spezifischen Kenntnisse der Webanwendung verfügen. Die gewünschten IIS-Einstellungen sind jedoch für Systemadministratoren deutlich sichtbar, die verstehen möchten, was vor der Installation des Pakets passieren wird.


Guter Punkt. Noch heute lässt die Konfigurationseinstellung <system.webserver> unter IIS7 die herkömmliche Linie verschwimmen: Entwickler können in ihrer web.config Entscheidungen über den Typ "sysadmin" treffen.
Portman
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.