[основные семейства операционных систем для веб-серверов]материал подготовил: Константин Бажуков 23.12.2003
Какую операционную систему выбрать для установки на компьютер, который будет использоваться как веб-сервер? Вопрос не так прост, как кажется, и не однозначен. На каждый аргумент в пользу какой-либо системы всегда найдутся не менее весомые контраргументы, что постоянно провоцирует дискуссии на эту тему. Тем не менее ситуация не настолько безнадежна: каждая из систем обладает своими преимуществами, которые нужно знать, и уметь использовать их в зависимости от задач, стоящих перед вами. Условно все операционные системы можно разделить на три группы: это коммерческие операционные системы UNIX, UNIX-подобные операционные системы с открытыми кодами и семейство Windows. Коммерческие UNIX-системы — это особый класс операционных систем, которые нельзя рассматривать отдельно от серверов, где они установлены. Как правило, компании-поставщики UNIX-систем предлагают скорее варианты решения ваших задач, а не просто операционные системы. Если у вас огромные объемы информации, потеря которых приведет к значительным убыткам, то цена подобных продуктов, конечно, вас не отпугнет, но для большинства веб-серверов их использование вряд ли окупится. По данным Netstat.ru, на 32% веб-серверов стоит Linux, на 44% — FreeBSD, и 12% — Windows (то есть суммарно на 88% серверов), поэтому первый принципиальный выбор будет между Windows и UNIX-подобными системами, которые можно установить на вполне доступный по цене сервер. Выбор между ними — это не просто выбор инструмента для будущей работы, это, можно сказать, выбор философии и стратегии вашей работы.
В аргументах противников операционной системы Windows часто можно услышать утверждение, что она гораздо менее надежна, чем, например, Linux или FreeBSD. Однако очень серьезно принимать это утверждение, а тем более делать на его основе выбор — не стоит. Операционная система — это инструмент, и его использование зависит от человеческого фактора. В опытных руках человека, понимающего, что он делает, и Windows может быть достаточно безопасной, а если настраивать спустя рукава Linux, то можно получить систему, имеющую весьма далекое отношение к безопасности. Другое дело, что, как правило, человек, решивший использовать в качестве платформы Linux, просто не сможет это сделать, не имея хорошей подготовки, а поставить веб-сервер на платформе Windows может и менее квалифицированный пользователь. Да, в целом, UNIX-подобные системы безопаснее Windows, но не настолько, чтобы это стало определяющим аргументом в выборе.
Безопасность ОС определятся пользователем
Главная сильная сторона операционной системы Windows — это интеграция с другими продуктами Microsoft. Если нужно создать веб-сервер для компании, где есть сеть с серверами и рабочими станциями с уже установленными операционными системами Windows, возможно, и веб-сервер разумнее будет ставить на эту платформу. С различными технологиями Microsoft (ASP, ActiveX, .NET, MS SQL и многими другими) вы получаете мощный инструмент для создания интегрированной системы. Одни и те же ресурсы будут использоваться как для работы с офисными программами, так и для веб-сайта, существенно облегчая и ускоряя разработку всевозможных коммерческих интернет-приложений. Но подобные преимущества обрекают вас на постоянное сотрудничество с Microsoft, делая вас зависимым от маркетинговой политики этой компании. Интеграция с графической системой и использование большого количества служб, которые часто оставляются запущенными по умолчанию, сразу потребует больших ресурсов. Конечно, с каждой версией Windows ситуация становится все лучше, но гонка операционных систем тоже имеет свои недостатки: во многих организациях до сих пор используется (и довольно успешно) Windows NT, хотя Miсrosоft считает ее устаревшей системой, и даже Windows 2000 уже предла
гают заменить на Windows Server 2003, а ведь обновление операционных систем может оказаться очень затратным. Есть еще одно преимущество UNIX-систем перед Windows — удаленное администрирование. В то время как в UNIX-системах полноценное управление сервером осуществляется с помощью утилит командной строки telnet и ssh, то полноценное удаленное администрирование в Windows возможно только с использованием графического интерфейса, и если сервер находится в одной сети с машиной-клиентом, то это еще терпимо, но при небольших скоростях соединения это может превратиться в мучение. Таким образом, использование серверных вариантов операционных систем Windows для построения на них веб-серверов вполне оправданно в сетях с программным обеспечением Microsoft, где веб-проект будет тесно взаимосвязан с другими коммерческими приложениями, а удаленное администрирование будет осуществляться по хорошим скоростным каналам, и финансовые затраты компенсируются самим проектом.
интеграция — главное преимущество Windows
Отталкиваясь от вышесказанного, можно сказать, что преимуществом UNIX-подобных систем будут их дешевизна, несколько большая безопасность и удобство удаленного администрирования. Иногда тезис по поводу дешевизны такого выбора оспаривают, утверждая, что в таком случае нужен очень опытный администратор, затраты на которого в любом случае удорожают сопровождение системы. Но разве веб-сервер под управлением Windows можно доверить неопытному пользователю? Не может не радовать также и то, что в UNIX-подобных системах отсутствует используемое Microsoft деление на серверные операционные системы и пользовательские. Серверный вариант установленной операционной системы будет отличаться от клиентской машины только установленным программным обеспечением и запущенными службами. Но есть и неприятные моменты: в случае UNIX-систем вы должны будете опираться на другие инструменты разработки, не связанными такими лицензионными ограничениями, как продукты Microsoft: скриптовые языки Perl, Python и PHP, базы данных MySQL, PostgeSQL, Oracle (практически все они могут также использоваться и под Windows), и их интеграция с продуктами Microsoft, если они уже используются в вашей организации, будет под большим вопросом, хотя и эти проблемы решаемы.
Со стороны UNIX-подобных операционных систем выбор тоже не прост. Особенно если задаться вопросом о преимуществах Linux перед системами BSD и наоборот. Несмотря на растущую популярность Linux, большинство провайдеров использует FreeBSD. Во многом это определяется историческими причинами — когда Linux только начинал развиваться, BSD системы широко использовались для профессиональных целей. Многие специалисты, признавая, что Linux вполне дорос до BSD-систем, опираясь на свой опыт, делают выбор в пользу более привычной системы. Например, по словам специалистов крупнейшей компании по предоставлению услуг хостинга .masterhost — использование FreeBSD обусловлено в первую очередь стабильностью и безопасностью, хорошей производительностью, большим количеством возможностей для настройки и тюнинга, поддержкой, совместимостью, а кроме того, немаловажная причина для ее использования — успешный опыт работы с данной системой. Существует также мнение, что BSD-системы в большинстве своем используются в центральных городах России: Москве, Санкт-Петербурге, а в более удаленных регионах, где информационные технологии начали развиваться позднее, охотнее используют Linux. Да, еще несколько лет назад можно было считать, что BSD-системы надежнее Linux, но сейчас ситуация несколько поменялась, надежность Linux непрерывно растет, а BSD-систем — несколько снижается (хотя данный тезис может вызвать довольно бурную дискуссию), и на сегодняшний день можно считать, что их возможности сравнялись. Также многие появляющиеся в последнее время веб-технологии изначально ориентируются на Linux, например, ColdFusion от компании Macromedia, где он предлагается помимо платформы Windows и для Linux (а также для коммерческих Unix-систем). Хотя в BSD-системах есть возможность запускать программы, созданные для Linux, и работают они там очень хорошо, такая тенденция не может не настораживать.
Также не стоит забывать о различном происхождении Linux и BSD-систем. Само название BSD указывает на прямое р