Internet Information Services 7.0 (IIS 7.0) – это последняя
версия веб сервера компании Microsoft. IIS был включен в
состав операционной семейства операционных систем Windows
Server начиная с операционной системы Windows 2000 Server в
качестве компонента Windows Component, а также для Windows NT
в качестве дополнения. IIS 7.0 входит в состав операционных
систем Windows Vista и Windows Server 2008, которые
запланированы к выпуску в первой четверти 2008. IIS 7.0
претерпел множество изменений и новый дизайн был написан с
нуля. Это было сделано для того, чтобы сделать его самой
гибкой и безопасной платформой для размещения веб
приложений.
IIS 7.0 был спроектирован, чтобы быть самой безопасной и
гибкой платформой для веб приложений от компании Microsoft.
Microsoft полностью переделала дизайн IIS, и во время этого
процесса команда разработчиков IIS сфокусировалась на 5
основных областях:
-
Безопасность
-
Расширяемость
-
Конфигурация и установка
-
Администрирование и диагностика
-
Производительность
Что нового
В IIS 7.0 практически все новое. Компания Microsoft
сфокусировалась на модульности при создании IIS 7.0, что
означает, что для установки необходимы лишь бинарные файлы,
что минимизирует пространство для атак на веб сервер (web
server).
Простой пример: если вам необходимо воспользоваться FTP
Server или возможностью кэширования Caching feature из IIS, то
вы устанавливаете модуль для FTP Server для управления или
включаете модуль Cache для кэширования активности FTP
Server.
Операционная система Windows Server 2008 включает в себя
все возможности IIS, необходимые для поддержки и размещения
веб содержимого в промышленных средах. В состав операционной
системы Windows Vista входят лишь некоторые возможности IIS, и
эти возможности зависят от вашей версии операционной системы
Vista. IIS 7.0 в операционной системе Windows Vista идеален
для создания и тестирования веб приложений. Дополнительные
модули и возможности вы можете заказать у компании Microsoft
или вы можете написать свои собственные или даже купить у
сторонних производителей.
Архитектура
Кроме изменений в основных компонентах IIS 7.0, была также
изменена архитектура – в основе использовался модульный
дизайн. Модульный дизайн обеспечивает больше гибкости и
безопасности для IIS 7.0, по сравнению с предыдущими версиями
IIS.
Рисунок A: Обзор основных модулей и компонентов
IIS 7.0
Основное преимущество нового модульного дизайна заключается
в том, что он помогает снизить опорную поверхность, что
обеспечивает большую безопасность платформы для веб сервера,
т.к. в этом случае минимизируется поверхность для атак.
IIS 7.0 снабжен новым собственным корневым API, который
заменил фильтр ISAPI filter, который использовался в
предыдущих версиях IIS. Благодаря новому API появилась
возможность для расширения IIS с помощью новых модулей, или
даже замены любых встроенных модулей собственными
модулями.
Новые модули можно загрузить с веб сайта компании Microsoft
IIS.net, где находится хранилище для IIS: http://www.iis.net/downloads
Администрирование
Существует несколько способов для администрирования IIS
7.0.
-
Графический интерфейс GUI с помощью менеджера IIS
Manager
-
Инструмент командной строки APPCMD
-
Удаленное администрирование (Remote administration) с
помощью IIS Manager
-
Написание сценариев с помощью Windows PowerShell
-
Интерфейс Microsoft.Web.Administration API
interface
Графический интерфейс для управления GUI Management был
также изменен, новый менеджер IIS Manager теперь более
ориентирован на выполнение задач, как мы знаем из ISA Server и
Exchange Server 2007.
Рисунок B: Окно менеджера IIS Manager
Менеджер IIS Manager можно использовать для настройки
параметров IIS и ASP.NET, конфигурационные параметры
записываются в конфигурационные файлы в формате xml.
Информация о состоянии и диагностика (Health and diagnostics
information can) теперь доступна напрямую из менеджера IIS
Manager, и теперь является частью IIS 7.0.
APPCMD – это новый инструмент общего назначения для IIS
7.0, работающий из командной строки, который используется для
администрирования и настройки IIS. APPCMD – это новая
улучшенная версия старого модуля adsutil.vbs, это название
будет знакомо тем из вас, кто работал с IIS 6.0.
Удаленное администрирование (Remote Administration) было
также улучшено, и теперь появилась возможность использование
менеджера IIS Manager, при безопасном взаимодействии по https
с веб сервером.
Существует также возможность написания сценариев для
управления IIS. Теперь это делается с помощью Windows
PowerShell, который является новым языком для написания
сценариев от компании Microsoft. Это простой и эффективный
способ для администрирования IIS на вашем веб сервере, которое
особенно полезно, если вы управляете несколькими веб серверами
или большими веб фермами. Windows PowerShell может напрямую
использоваться для интерфейса WMI IIS или использоваться для
чтения или записи в конфигурационные файлы IIS 7.0 XML.
IIS 7.0 обладает обратной совместимостью с метабазой IIS
6.0 metabase и ADSI, а также интерфейсом для написания
сценариев WMI scripting interface, известный с версии IIS 6.0,
что означает, что все ваши сценарии, написанные для версии IIS
6.0 будут работать и для версии IIS 7.0.
Microsoft.Web.Administration API – это интерфейс для
разработчиков, которые хотят писать свои собственные программы
или сценарии для управления IIS 7.0.
В IIS 7.0 теперь существует возможность передачи управления
над IIS и веб сайтами. Вы можете передать полный
административный доступ владельцам веб сайта. Владельцы веб
сайта могут контролировать и управлять всеми настройками веб
сайта с помощью менеджера IIS Manager, при этом безопасность
сервера не будет страдать. Все настройки, которые меняют
владельцы сайтов, записываются в файл в формате xml под
названием web.config на их веб сайте.
Конфигурация
Конфигурация значительно упростилась, и теперь она основана
на распределенных XML файлах, которые содержат
конфигурационные параметры для всего IIS и ASP.NET.
Конфигурационные параметры могут быть настроены глобально
для всего веб сервера или для определенных веб сайтов, с
помощью XML файлов, или с помощью графического интерфейса
управления (GUI Management interface). Графический интерфейс
лишь записывает конфигурационные параметры в то те же самые
XML файлы. Основные конфигурационные файлы xml в IIS 7.0
это:
-
Applicationhost.config
-
Global web.config
-
Machine.config
-
Site web.config
-
App web.config
Благодаря использованию конфигурационных файлов в формате
xml, установка и масштабирование в больших средах значительно
оптимизировалась. Теперь достаточно просто скопировать
конфигурацию IIS на новый сервер и просто запустить его.
Выполнение репликации конфигурации веб сервера также
значительно упростилось для IIS 7.0 по сравнению с IIS 6.0,
благодаря использованию конфигурационных файлов в формате xml.
Благодаря этому очень просто скопировать и установить
конфигурацию в крупных средах. Для IIS 6.0 это лучше всего
делалось с помощью Microsoft Application Center 2000 или
программных продуктов сторонних производителей.
Общая конфигурация (Shared Configuration) – это новая
возможность в IIS 7.0, которая была разработана для веб ферм
(web farm). С помощью общей конфигурации (Shared
Configuration) теперь появилась возможность для нескольких веб
серверов использовать один конфигурационный файл
(applicationhost.config). Главный файл размещается по общему
пути UNC. Возможность использования общей конфигурации (Shared
Configuration) – это великолепная альтернатива перспективе
копирования настроек IIS.
Файл в формате xml под названием Applicationhost.config
является основным конфигурационным файлом IIS 7.0, этот
конфигурационный файл содержит всю информацию о сайтах,
виртуальных директориях, приложениях, пулах приложений и
глобальных настройках для веб сервера.
Репликация содержимого может быть легко выполнена с помощью
команды x-copy или robocopy, точно также как и особые
настройки веб сайта, которые хранятся в файле web.config в
формате xml внутри сайта.
Заключение
Благодаря изменению дизайна IIS, компания Microsoft сделала
IIS 7.0 лучшим веб сервером для всех, начиная со специалистов
по информационным технологиям IT и разработчиков до Web
Hosters. Я попытался выделить несколько причин, по которым я
считают, что IIS 7.0 является очень мощным продуктом:
-
Продукт стал более безопасным – можно устанавливать
только бинарные файлы
-
Он расширяем и гибок благодаря использованию новой
модульной архитектуры
-
Он стал более масштабируемым благодаря упрощению
настройки, для которой теперь используются файлы в формате
xml
-
Улучшение производительности благодаря улучшениям в
ядре IIS (http.sys)
Есть множество причин, по которым вам стоит познакомиться с
IIS 7.0 перед его официальным выходом.
IIS 7.0 доступен для публичной загрузки совместно с
последней версией операционной системы Windows Server 2008, в
настоящее время Beta 3. Вы можете загрузить Windows Server
2008 beta по адресу: http://www.microsoft.com/windowsserver2008/default.mspx.
Компания Microsoft создала специальную лицензию Go Live
license, которая абсолютно бесплатна, и которая позволяет
пользователям установить бета версии IIS 7.0 в промышленной
среде до официального выхода операционной системы Windows
Server 2008, который запланирован на первый квартал 2008.
Лицензию на IIS 7.0 можно получить по адресу: http://www.iis.net/default.aspx?tabid=79.