Web uygulamaları için IIS'yi korumaktan kim sorumludur?


15

IIS / Web Uygulamaları, zaman içinde çalıştığım mağazalarda zor bir konuydu.

Bir yandan IIS, sunucuda yerleşik olarak (genel olarak) bir hizmettir ve genellikle sunucu yöneticilerinin bakımı ve yapılandırması sorumluluğundadır. Bir sorun ortaya çıktığında, ne olması gerektiğini bilirler veya en azından "Web uygulamasıyla ilgili bir sorun var" dedikleri noktaya teşhis koyabilir ve geliştiricinin kodlarını hata ayıklamasını sağlayabilirsiniz.

Ancak, sunucudaki her web uygulaması benzersizdir ve elde edilen sorunlara göre karmaşık olabilen çok sayıda nüansa sahiptir.

Öte yandan, her web uygulaması birçok yönden benzersizdir ve ele alınması gereken belirli sorunları vardı ve geliştirici uygulama hakkında en çok şey bilen kişidir. Web.config dosyasının hata ayıklama için değiştirilmesi gerekiyorsa veya bir IIS web uygulamasına keder vermeye başlarsa, geliştirici sorunun nerede olduğunu bilmeli ve IIS veya uygulamanın kendisi nedeniyle buna göre düzeltmelidir.

Bununla birlikte, bazı ayarların / optimizasyonların sunucu performansı ve kararlılığı ile ciddi ölçüde karışabileceği için bir geliştiricinin kendi başına IIS'ye girip tweak yapmasına izin vermek ciddi bir sorun haline gelir.

Peki denge nerede? Sunucu yöneticileri IIS gurusu olmalı ve tüm bu sorunları ele almalı ve site dosyalarını dağıtım üzerinden göndermeliyim, yoksa geliştirici sunucu ve IIS sorunları için sorumluluk almalı ve bunlarla başa çıkmalı mıdır?


Harika bir soru. Bu, IMHO, orta ölçekli bir .NET web uygulaması şirketinin karşı karşıya kalacağı en önemli kararlardan biridir. IIS gurusu kim olur?
Portman

Biz de bu yolda ilerledik; hala mükemmel bir çözüm bulamadık.
SqlACID

haha sadece bu soruyu yazıyordum ve "hayır, bu çok öznel" diye düşündüm. Zaten sorulduğundan beri durdum
Aaron Powell

Yanıtlar:


5

Gerçekten ihtiyacınız olan şey, çitin her iki tarafında uzman olan biri gibi görünüyor.


+1. .NET ile ilgilenen bir ağ yöneticisine veya sunucuyla ilgilenen bir yazılım mühendisine ihtiyacınız vardır.
Portman

4

Deneyimlerime göre (daha küçük ölçekli şirketlerle), BT / sysadmin personeli IIS kurulumlarını düzgün bir şekilde sürdürmek için zamana, ilgiye veya webapp'a özgü bilgiye sahip değildir. İşletim sistemine kadar olan şeyleri alacaklar ve IIS'yi bana geliştirici olarak dağıtacaklar.

Açıkçası, bunun düzgün çalışması için "sadece bir kodlayıcıdan daha fazlası" olmak zorundayım; Sistem düzeyindeki sorunların (güvenlik ve ne olursa olsun) farkında olmalıyım. Yıllardır düşük seviyeli sistem yönetimi yapıyorum, bu yüzden bu tür bir görevden eminim (aslında, profesyonel sistem yöneticilerine yıllar boyunca birkaç şey öğrettim). Ancak, her geliştirici bu özelliğe sahip değildir.

Yine de, gördüğüm kadarıyla, sysadmin becerilerine sahip daha fazla geliştirici var, o zaman (webapp) geliştirme becerilerine sahip sysadmin var.

Her zaman olduğu gibi, YMMV.


3

Ben şahsen bir geliştirici IIS ile uğraşmak istemem, özellikle başka bir geliştirici ile başka bir uygulama ile sorunlara neden olabilir, ve sürekli sorun ateş etmek anlamına geliyordu.

IIS sorunları varsa, SysAdmin'in içine bakmasını sağlayın ve belirli bir uygulamayla ilgili bir sorun varsa, geliştiriciye geri gönderin. Geliştiricinin bir sorunu varsa, SysAdmin'e getirin, bu da daha sonra herhangi bir değişiklik yapıp yapmayacağına dair karar vermeyi deneyebilir ve herkesi nasıl etkileyeceğini anlayabilir.


3

Biz (sistem yöneticileri) geliştiricilerimize, üçüncü taraf bir satıcı gibi yaptığımız gibi davranıyoruz - bir uygulamayı dağıtmamızı istediklerinde, desteklenmesini bekledikleri takdirde dokümantasyon sağlamaları gerekiyor. Bu, yaygın sorun giderme rutinlerini ve bir destek yükseltme yolunu içerir (çalışma süresi gereksinimleri, kabul edilemez bir kesinti durumunda belgelenmiş bir geliştirici sorumluluğuyla birlikte).

Açıkçası siyah beyaz değil, ancak geliştiriciler ve yöneticiler arasındaki gerginliği hafifletmek için çok şey yapıldı. Geliştiriciler artık saatlerce çağrılacak istekleriyle ters orantılı bir kalitede yazılım sağlamak zorunda olduklarını fark ediyorlar ve geliştiriciler artık yaratmadıkları araçlar için kancayı hissetmeden geçecek araçlara ve belgelere sahipler.

Yani, senaryonuzda, bu, devs'nin uygulamalarını kendi IIS sunucularında oluşturdukları ve daha sonra yöneticilerin üretim sunucusuna kurmaları için yazılım ve belgeleri sağladıkları anlamına gelir.


"geliştiriciler artık yaratmadıkları araçlar için kancayı hissetmeden geçebilecek araçlara ve belgelere sahipler"?
seri motor

3

Sunucu yöneticileri IIS gurusu olmalı ve tüm bu sorunları ele almalı ve site dosyalarını dağıtım üzerinden göndermeliyim, yoksa geliştirici sunucu ve IIS sorunları için sorumluluk almalı ve bunlarla başa çıkmalı mıdır?

Cevap: bir kişiyi bulun ve onlara "WSA" (Web Sunucusu Yöneticisi) not ekleyin . Yönetici veya geliştirici olabilirler; gerçekten önemli değil. Ancak kendilerini işin her iki yönüne daldırmaları gerekir ve ekibin geri kalanı (her iki tarafta) uzmanlıklarına saygı duymalıdır.

DBA'ların IT / dev arasındaki çizgiyi aşmalarından farklı değil. Web tabanlı bir ürüne sahip bir kuruluşta web sunucularının önemi göz önüne alındığında, bunun kritik ve çoğu zaman gözden kaçan bir rol olduğunu düşünüyorum.

Web hala genç olduğundan (veritabanlarına kıyasla), bu kişiyi işe almak zor. Büyük olasılıkla rolde birini büyütmeniz / bakım yapmanız gerekir.


0

Web Dağıtım Aracı (Visual Studio 2010'dan başlayarak bir web uygulaması yayınlamanın standart yerleşik yolu haline gelecek) gibi yeni yardımcı programlarla Microsoft, geliştiricilerin veya en azından kurulum mühendislerinin IIS ayarları gibi şeyleri seçmesine izin verme yolunda ilerliyor gibi görünüyor. certs, uygulama havuzu ayarları vb.). Bunlar msdeploy kurulum paketinde yerleşik olarak bulunur ve paket sunuculara dağıtıldığında otomatik olarak IIS sunucusuna uygulanır.

Makul bir uzlaşma gibi görünüyor. Geliştiriciler, canlı prodüksiyon sunucularındaki ayarlarla manuel olarak mucking yapmıyor ve sys yöneticilerinin web uygulamasına özgü bilgiye sahip olması gerekmiyor. Yine de, istenen IIS ayarları, paketin yüklenmesinden önce ne olacağını anlamak isteyen sistem yöneticileri tarafından açıkça görülebilir.


İyi bir nokta. Bugün bile, IIS7'deki <system.webserver> yapılandırma ayarı geleneksel satırı bulanıklaştırır: geliştiriciler web.config dosyalarında "sysadmin" türü kararlar verebilirler.
Portman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.