Назад | Перейти на главную страницу

Почему люди используют IIS?

Я знаю, что это звучит как пламя, но так не должно быть. Я не запускал IIS с версии 6.0. Мне интересно, предоставляют ли новые версии убедительную альтернативу решениям с открытым исходным кодом, таким как Apache.

Есть несколько простых ситуаций, в которых предпочтительнее IIS:

  1. Поставщик вашего приложения требует этого
  2. Вы ограничены Windows Server и не нуждаетесь в каких-либо специфических для Apache функциях.
  3. Вам необходимо запустить приложение ASP или ASP.NET

Конечно, у IIS нет простых встроенных эквивалентов для некоторых очень полезных модулей Apache, таких как mod_proxy и mod_rewrite, но у IIS есть несколько собственных преимуществ:

  • Чтобы изолировать приложения для запуска в различных пользовательских контекстах, IIS позволяет напрямую настраивать функциональность suexec для каждого каталога и даже для каждого файла.
  • Предполагается безопасная интеграция аутентификации пользователя из веб-запроса через сетевые ресурсы, такие как SQL Server, MSDTC, MSMQ и общие файловые ресурсы (это может быть плюсом или минусом, но это определенно другая модель со своими преимуществами и недостатками)
  • IIS намного проще установить и поддерживать, так как он очень тесно интегрирован с платформой - если вы обновляете Windows, вы обновляете веб-сервер; не нужно следить за обновлениями Apache.

Короткий ответ: если ваше приложение использует инфраструктуру на основе Microsoft (например, Active Directory, общий доступ к файлам Windows, SQL Server, Exchange Server и т. Д.), Тогда ваша жизнь будет намного проще, если вы будете использовать IIS.

Обновить

Если подумать, нет причин, по которым вы не можете или не должны использовать и IIS, и Apache. Когда несколько лет назад я работал в магазине, полностью принадлежащем Microsoft, мы хорошо использовали возможности интеграции IIS с AD, но мы обнаружили множество ситуаций (в основном переписывание и обработка ошибок), в которых использовались методы IIS для выполнения наших задач, но модули Apache были намного чище или проще. Итак, мы поставили сервер Apache (на Linux) перед IIS, используя mod_proxy, и получили лучшее из обоих миров.

Одна из основных причин использования IIS - это если вы хотите разместить веб-приложение на основе .NET или ASP. Да, с помощью моно или нескольких других инструментов вы можете разместить некоторый контент в системе Linux + Apache, но у вас не будет доступа к некоторым функциям, доступным только в IIS. Для предприятий с большим количеством приложений на основе .NET и большого количества разработчиков, которые привыкли разрабатывать для этой платформы, имеет смысл использовать только то, что существующие специалисты умеют использовать.

Более новые версии IIS являются лучше, чем 6.0 по многим параметрам, включая, помимо прочего, безопасность. Вам не понравится приспосабливаться к другому пользовательскому интерфейсу и новым функциям безопасности, но технические улучшения заслуживают внимания. Модель процесса в IIS7 другая и IMHO лучше, чем в IIS6. Если вы используете ASP.NET, возможно, вам подойдет IIS 7.5. Но насколько это делает IIS убедительным, во многом зависит от критериев, изложенных в Daveadams и другие. Если вы используете платформу с открытым исходным кодом, такую ​​как Rails, и хотите использовать IIS, вы глубоко обеспокоены.