Ai chịu trách nhiệm duy trì IIS cho các ứng dụng web?


15

Ứng dụng IIS / Web là một vấn đề khó khăn trong các cửa hàng tôi đã làm việc theo thời gian.

Một mặt, IIS là một dịch vụ được tích hợp trong máy chủ (nói chung) và thường là trách nhiệm của các quản trị viên máy chủ trong việc duy trì và định cấu hình. Khi một vấn đề xuất hiện, họ biết những gì cần phải xảy ra hoặc ít nhất có thể chẩn đoán đến mức họ nói, "Có gì đó không ổn với ứng dụng web" và nhà phát triển gỡ lỗi mã của họ.

Tuy nhiên, mỗi ứng dụng web trên máy chủ là duy nhất và có nhiều sắc thái có thể phức tạp dựa trên các vấn đề hiện tại.

Mặt khác, mỗi ứng dụng web là duy nhất theo nhiều cách và có các vấn đề cụ thể cần được xử lý và nhà phát triển là người hiểu rõ nhất về ứng dụng. Nếu tệp web.config cần được sửa đổi để gỡ lỗi hoặc IIS bắt đầu gây đau buồn cho ứng dụng web, nhà phát triển nên biết vấn đề nằm ở đâu và khắc phục nó, do IIS hoặc chính ứng dụng.

Tuy nhiên, việc cho phép nhà phát triển tự đi vào và tự điều chỉnh với IIS trở thành một vấn đề nghiêm trọng vì một số cài đặt / tối ưu hóa có thể làm hỏng nghiêm trọng hiệu suất và tính ổn định của máy chủ.

Vậy số dư nằm ở đâu? Quản trị viên máy chủ có nên là chuyên gia IIS và xử lý tất cả các sự cố đó không và tôi chỉ cần gửi các tệp trang web qua triển khai hoặc nhà phát triển có nên chịu trách nhiệm về các vấn đề của máy chủ và IIS và xử lý chúng theo không?


Câu hỏi tuyệt vời. Đây là, IMHO, một trong những quyết định quan trọng nhất mà một công ty ứng dụng web .NET cỡ trung sẽ phải đối mặt. Ai trở thành đạo sư IIS?
Portman

Chúng tôi cũng đã xuống con đường này; vẫn chưa tìm thấy một giải pháp hoàn hảo.
SqlACID

haha Tôi chỉ đang viết câu hỏi này và nghĩ rằng "không, nó quá chủ quan". Vui mừng tôi đã dừng lại vì nó đã được hỏi
Aaron Powell

Câu trả lời:


5

Âm thanh như những gì bạn thực sự cần là một người có chuyên môn ở cả hai phía của hàng rào.


+1. Bạn cần một quản trị viên mạng quan tâm đến .NET hoặc một kỹ sư phần mềm quan tâm đến máy chủ.
Portman

4

Theo kinh nghiệm của tôi (với các công ty có quy mô nhỏ hơn), nhân viên IT / sysadmin không có kiến ​​thức về thời gian, sở thích hoặc ứng dụng web cụ thể để duy trì cài đặt IIS đúng cách. Họ sẽ đưa mọi thứ đến tận hệ điều hành và giao IIS cho tôi, nhà phát triển.

Rõ ràng, tôi cần phải "không chỉ là một lập trình viên" để làm cho công việc này hoạt động tốt; Tôi phải nhận thức được các vấn đề ở cấp hệ thống (bảo mật và không có gì). Tôi đã làm quản lý hệ thống cấp thấp trong nhiều năm nên tôi tự tin với loại nhiệm vụ này (thực tế, tôi đã dạy các sysadins chuyên nghiệp một vài điều trong nhiều năm qua). Tuy nhiên, không phải nhà phát triển nào cũng có khả năng này.

Tuy nhiên, từ những gì tôi đã thấy, có nhiều nhà phát triển có kỹ năng sysadmin sau đó có sysadmin với các kỹ năng phát triển (webapp).

Như mọi khi, YMMV.


3

Cá nhân tôi sẽ không muốn một nhà phát triển loay hoay với IIS, đặc biệt nếu điều đó có nghĩa là nó có thể gây ra sự cố với một ứng dụng khác với một nhà phát triển khác phải gặp rắc rối, bật và tắt.

Nếu có sự cố IIS, hãy xem SysAdmin và nếu có sự cố với một ứng dụng cụ thể, hãy gửi lại cho nhà phát triển. Nếu nhà phát triển có vấn đề, hãy đưa nó lên SysAdmin, người sau đó có thể cố gắng đưa ra quyết định sáng suốt về việc có thực hiện bất kỳ thay đổi nào không và tìm hiểu xem nó sẽ ảnh hưởng đến mọi người như thế nào.


3

Chúng tôi (các sysadins) đối xử với các nhà phát triển của chúng tôi giống như nhà cung cấp bên thứ 3 - khi họ muốn chúng tôi triển khai một ứng dụng, họ phải cung cấp tài liệu nếu họ muốn nó được hỗ trợ. Điều này bao gồm các thói quen khắc phục sự cố phổ biến và đường dẫn leo thang hỗ trợ (yêu cầu về thời gian hoạt động kết hợp với trách nhiệm của nhà phát triển được ghi lại trong trường hợp mất điện không được chấp nhận).

Nó rõ ràng không phải là màu đen và trắng, nhưng nó đã làm rất nhiều để giảm bớt căng thẳng giữa các nhà phát triển và quản trị viên. Các nhà phát triển nhận ra rằng họ phải cung cấp phần mềm có chất lượng tỷ lệ nghịch với mức độ sẵn sàng để được phân trang sau nhiều giờ, và các nhà phát triển hiện có các công cụ và tài liệu để đi qua mà không cảm thấy khó khăn với các công cụ mà họ không tạo ra.

Vì vậy, trong kịch bản của bạn, điều đó có nghĩa là các nhà phát triển tạo ứng dụng của họ trên máy chủ IIS của riêng họ và sau đó cung cấp phần mềm và tài liệu cho quản trị viên để cài đặt trên máy chủ sản xuất.


"Các nhà phát triển hiện có các công cụ và tài liệu để đi qua mà không cảm thấy khó khăn với các công cụ mà họ không tạo ra"?
động cơ nối tiếp

3

Quản trị viên máy chủ có nên là chuyên gia IIS và xử lý tất cả các sự cố đó không và tôi chỉ cần gửi các tệp trang web qua triển khai hoặc nhà phát triển có nên chịu trách nhiệm về các vấn đề của máy chủ và IIS và xử lý chúng theo không?

Trả lời: tìm một người và ghi tên họ "WSA" (Quản trị viên Máy chủ Web) . Họ có thể là một quản trị viên hoặc một nhà phát triển; nó thực sự không quan trọng. Nhưng họ cần đắm mình trong cả hai khía cạnh của công việc, và phần còn lại của nhóm (cả hai bên) cần phải tôn trọng chuyên môn của họ.

Không khác gì cách các DBA dàn xếp ranh giới giữa IT / dev. Do tầm quan trọng của các máy chủ web trong một tổ chức với một sản phẩm dựa trên web, tôi nghĩ rằng đây là một vai trò quan trọng và thường bị bỏ qua.

Vì web vẫn còn non trẻ (so với cơ sở dữ liệu), thật khó để tuyển dụng cá nhân này. Bạn rất có thể sẽ cần phải phát triển / chải chuốt một ai đó vào vai trò này.


0

Với các tiện ích mới như Công cụ triển khai Web (sẽ trở thành cách dựng sẵn tiêu chuẩn để xuất bản ứng dụng web bắt đầu trong Visual Studio 2010), Microsoft dường như đang đi xuống con đường cho phép các nhà phát triển hoặc ít nhất là các kỹ sư cài đặt chọn những thứ như cài đặt IIS ( certs, cài đặt nhóm ứng dụng, vv). Chúng được tích hợp vào gói cài đặt msdeploy và tự động áp dụng cho máy chủ IIS khi gói được triển khai cho các máy chủ.

Có vẻ như một sự thỏa hiệp hợp lý. Các nhà phát triển không thực hiện thủ công với các cài đặt trên các máy chủ sản xuất trực tiếp và quản trị viên hệ thống không cần phải có kiến ​​thức cụ thể về ứng dụng web. Tuy nhiên, các cài đặt IIS mong muốn được hiển thị rõ ràng cho những người quản trị hệ thống muốn hiểu điều gì sẽ xảy ra trước khi gói được cài đặt.


Điểm tốt. Thậm chí ngày nay, cài đặt cấu hình <system.webserver> trên IIS7 làm mờ dòng truyền thống: nhà phát triển có thể đưa ra quyết định loại "sysadmin" trong web.config của họ.
Portman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.