Siapa yang bertanggung jawab untuk memelihara IIS untuk aplikasi web?

15

Aplikasi IIS / Web telah menjadi masalah rumit di toko tempat saya bekerja.

Di satu sisi, IIS adalah layanan yang dibangun ke dalam server (pada umumnya) dan biasanya merupakan tanggung jawab administrator server untuk memelihara dan mengkonfigurasi. Ketika masalah muncul, mereka tahu apa yang perlu terjadi, atau setidaknya dapat mendiagnosis sampai titik di mana mereka berkata, "Ada yang salah dengan aplikasi web" dan meminta pengembang men-debug kode mereka.

Namun, setiap aplikasi web di server unik dan memiliki banyak nuansa yang dapat menjadi kompleks berdasarkan masalah yang dihadapi.

Di sisi lain, setiap aplikasi web unik dalam banyak hal dan memiliki masalah spesifik yang perlu ditangani dan pengembang adalah orang yang paling tahu tentang aplikasi tersebut. Jika file web.config perlu dimodifikasi untuk debugging, atau IIS mulai memberikan kesedihan ke aplikasi web, pengembang harus tahu di mana masalahnya terletak dan memperbaikinya, baik karena IIS atau aplikasi itu sendiri.

Namun, mengizinkan pengembang untuk masuk dan melakukan tweak dengan IIS sendiri menjadi masalah serius karena beberapa pengaturan / optimasi serius dapat mencampuradukkan kinerja dan stabilitas server.

Jadi di mana letak saldo? Haruskah admin server menjadi guru IIS dan menangani semua masalah itu dan saya hanya mengirim file situs melalui penyebaran, atau haruskah pengembang memikul tanggung jawab untuk masalah server dan IIS dan menanganinya sesuai?

Dillie-O
sumber
Pertanyaan yang bagus Ini adalah, IMHO, salah satu keputusan paling penting yang akan dihadapi perusahaan aplikasi web .NET. Siapa yang menjadi guru IIS?
Portman
Kami sudah menyusuri jalan ini juga; masih belum menemukan solusi yang sempurna.
SqlACID
haha saya hanya menulis pertanyaan ini dan berpikir "nah, itu terlalu subjektif". Senang saya berhenti karena sudah diminta
Aaron Powell

Jawaban:

5

Kedengarannya seperti apa yang benar-benar Anda butuhkan adalah seseorang dengan keahlian di kedua sisi pagar.

Chris Upchurch
sumber
+1. Anda memerlukan administrator jaringan yang tertarik pada .NET, atau insinyur perangkat lunak yang tertarik pada server.
Portman
4

Dalam pengalaman saya (dengan perusahaan berukuran kecil), staf IT / sysadmin tidak memiliki waktu, minat, atau pengetahuan khusus webapp untuk mempertahankan pengaturan IIS dengan benar. Mereka akan mengambil hal-hal sejauh sistem operasi dan menyerahkan IIS kepada saya, pengembang.

Jelas, saya harus "lebih dari sekadar seorang pembuat kode" untuk membuat ini berfungsi dengan baik; Saya harus menyadari masalah tingkat sistem (keamanan dan yang lainnya). Saya telah melakukan manajemen sistem tingkat rendah selama bertahun-tahun jadi saya yakin dengan tugas semacam ini (sebenarnya, saya telah mengajarkan beberapa hal kepada sysadmin profesional selama bertahun-tahun). Namun, tidak setiap pengembang memiliki kemampuan ini.

Namun, dari apa yang saya lihat, ada lebih banyak pengembang dengan keterampilan sysadmin kemudian ada sysadmin dengan keterampilan pengembangan (webapp).

Seperti biasa, YMMV.

Craig Walker
sumber
3

Saya pribadi tidak ingin seorang pengembang mengacau dengan IIS, terutama jika itu berarti bahwa itu dapat menyebabkan masalah dengan aplikasi lain dengan pengembang lain harus kesulitan menembak, terus dan terus.

Jika ada masalah IIS, minta SysAdmin memeriksanya, dan jika ada masalah dengan aplikasi tertentu, kirim kembali ke dev. Jika dev memiliki masalah, bawa ke SysAdmin, yang kemudian dapat mencoba untuk membuat keputusan tentang apakah akan membuat perubahan dan mencari tahu bagaimana itu akan mempengaruhi semua orang.

TheTXI
sumber
3

Kami (sysadmin) memperlakukan pengembang kami sama seperti yang kami lakukan terhadap vendor pihak ke-3 - ketika mereka ingin kami menyebarkan aplikasi, mereka harus memberikan dokumentasi jika mereka mengharapkannya didukung. Ini termasuk rutinitas pemecahan masalah umum dan jalur eskalasi dukungan (persyaratan uptime dikombinasikan dengan tanggung jawab pengembang yang terdokumentasi dalam kasus pemadaman yang tidak dapat diterima).

Ini jelas bukan hitam dan putih, tapi itu dilakukan banyak untuk meredakan ketegangan antara devs dan admin. Para devs sekarang menyadari bahwa mereka harus menyediakan perangkat lunak dengan kualitas yang berbanding terbalik dengan kesediaan mereka untuk berhadapan setelah berjam-jam, dan para devs sekarang memiliki alat dan dokumen untuk melalui tanpa merasakan kait untuk alat yang tidak mereka buat.

Jadi, dalam skenario Anda, itu berarti para pengembang membuat aplikasi mereka di server IIS mereka sendiri dan kemudian menyediakan perangkat lunak dan dokumentasi untuk admin untuk diinstal di server produksi.

jj33
sumber
"para pengembang sekarang memiliki alat dan dokumen untuk dilalui tanpa merasa kesulitan untuk alat yang tidak mereka buat"?
mesin serial
3

Haruskah admin server menjadi guru IIS dan menangani semua masalah itu dan saya hanya mengirim file situs melalui penyebaran, atau haruskah pengembang memikul tanggung jawab untuk masalah server dan IIS dan menanganinya sesuai?

Jawab: cari satu orang dan beri mereka "WSA" (Administrator Server Web) . Mereka bisa menjadi admin atau pengembang; itu tidak masalah. Tetapi mereka perlu membenamkan diri dalam kedua aspek pekerjaan, dan anggota tim lainnya (di kedua sisi) perlu menghargai keahlian mereka.

Ini tidak berbeda dengan bagaimana DBA mengangkangi garis antara IT / dev. Mengingat pentingnya server web dalam organisasi dengan produk berbasis web, saya pikir ini adalah peran penting, dan sering diabaikan.

Karena web masih muda (dibandingkan dengan database), sulit untuk merekrut orang ini. Anda kemungkinan besar perlu untuk menumbuhkan seseorang dalam peran tersebut.

Portman
sumber
0

Dengan utilitas baru seperti Alat Penerapan Web (yang akan menjadi standar yang dibangun untuk mempublikasikan aplikasi web yang dimulai di Visual Studio 2010), Microsoft tampaknya menuju ke jalur untuk membiarkan pengembang atau setidaknya insinyur instalasi memilih hal-hal seperti pengaturan IIS ( sertifikat, pengaturan kumpulan aplikasi, dll). Mereka dibangun ke dalam paket instalasi msdeploy dan secara otomatis diterapkan ke server IIS ketika paket tersebut digunakan untuk server.

Sepertinya kompromi yang masuk akal. Pengembang tidak pergi secara manual dengan pengaturan pada server produksi langsung, dan sys admin tidak harus memiliki pengetahuan khusus webapp. Namun pengaturan IIS yang diinginkan jelas terlihat oleh sysadmin yang ingin memahami apa yang akan terjadi sebelum paket diinstal.

Erv Walter
sumber
Poin yang bagus. Bahkan hari ini, pengaturan konfigurasi <system.webserver> pada IIS7 mengaburkan garis tradisional: pengembang dapat membuat keputusan tipe "sysadmin" di web.config mereka.
Portman