Информационные решения и инструментарий. Службы серверов
Сам термин "сервер" может трактоваться двояко - мощный выделенный компьютер или программное обеспечение, реализующее одну из служб. В данной главе сервером будет называться программа, которая обеспечивает независимое выполнение некоторой задачи. При этом задача может выполняться как на выделенном компьютере, так и на рабочей станции. Последнее решение часто используется разработчиками систем.
Выбирая архитектуру "клиент-сервер", в первую очередь необходимо определить весь перечень задач, решения которых будут перенесены на серверы. Как правило, это задачи, требующие общего доступа или больших вычислительных мощностей. Ниже приведен список служб информационных систем, наиболее часто используемых как серверы.
Сервер домена определяет список пользователей сегмента сети, а также их права доступа. Осуществляет мониторинг соединений. Является ядром любой сетевой операционной системы, работающей по принципу "клиент-сервер".
Файл-сервер служит для хранения информации в виде файлов для распределенного доступа к ним. Осуществляет контроль доступа к каждому из них. В качестве файл-сервера может служить любой компьютер, который разрешает использовать собственное дисковое пространство. Однако многие сетевые операционные системы предлагают большое количество дополнительных сервисов для управления файл-сервером.
Сервер базы данных служит для хранения, обработки и обеспечения доступа к структурированной информации. Сегодня наиболее часто для решений используются серверы реляционных баз данных, поддерживающие язык запросов SQL. К ним относятся системы управления базами данных ORACLE, Microsoft SQL, DB2, SYBASE.
Интернет-сервер предоставляет информацию в соответствии с правилами сети Интернет. В простейшем случае тоже, что и файловый сервер. Однако понятие интернет-сервера включает в себя и набор дополнительных сервисов, связанных, как правило, с преобразованием информации. Наиболее распространенными являются серверы APACHE и Internet Information Server.
Сервер приложения служит для выполнения специализированных задач. Многие банковские системы имеют серверы приложений, которые обеспечивают выполнение бизнес-логики приложения. При этом за хранение данных и контроль доступа к ним отвечает сервер базы данных.
Сервер архивации осуществляет хранение архивов: больших объемов редко используемой информации. Обычно от файл-сервера данный тип серверов отличают собственные механизмы компрессии, индексации хранимой информации и хранения истории вносимых изменений.
Сервер печати управляет печатью на общий принтер. Если не является специализированным устройством, то входит в состав сетевой операционной системы. Основой сервера печати является механизм управления очередями заданий на печать.
При рассмотрении решений на основе архитектуры "клиент-сервер" определяется и список задач, решаемых рабочими станциями и определенных как клиентские задачи. К ним обычно относятся:
* управление пользовательским интерфейсом - наиболее распространенная задача для рабочей станции, включает в себя обслуживание различных элементов пользовательского интерфейса, таких, как изображение на экране, кнопки, поля ввода, списки. Управление пользовательским интерфейсом и является той задачей, которая является гранью между архитектурой "клиент-сервер" и терминальным доступом;
* офисные приложения - список задач, обеспечивающих редактирование данных. Это различные редакторы, текстовые и табличные процессоры. Обычно сам процесс ручного ввода редактирования данных не является распределенной задачей и для экономии ресурсов серверов переносится на клиентское место;
* печать - в больших информационных системах функция печати может быть реализована на сервере и на клиентской станции. Обычно печать через сервер обеспечивает вывод на бумагу больших объемов данных, например выписок по счетам. Это объясняется требованием к высокопроизводительному принтеру, который невозможно поставить на каждое рабочее место. С клиентской станции осуществляется печать документов, необходимых только конкретному пользователю;
* загрузка и выгрузка данных также может выполняться и на клиентском месте, и на сервере. Обычно в случае, если данные загружаются в автоматическом режиме и не требуют администрирования загрузки, это выполняет сервер. Если загрузка или выгрузка данных случайна, то выполняется на клиентском месте.
Кластеры. В отличие от архитектуры "клиент-сервер" кластер имеет принципиально другие составляющие. Это не законченные задачи, а отдельные функции, выполняемые различными компонентами системы - как отдельным устройством, так и совокупностью составляющих различных вычислительных систем.
Решения на основе кластерной архитектуры дают ряд преимуществ.
Абсолютная масштабируемость - архитектура позволяет создавать кластеры любых размеров.
Инкрементальная масштабируемость - кластер создается таким образом, что можно наращивать мощность добавлением новых компонент без полной замены всей системы.

Устойчивость к сбоям - в случае выхода из строя одного из компонентов система продолжает работать, поскольку все функции дублируются.
Хорошее соотношение цена/производительность - использование широкораспространенных компонент в качестве составляющих в общем случае требует меньших затрат, чем покупка одного сверхмощного компьютера.
В настоящий момент практически все операционные системы имеют дополнительные решения для реализации кластерных архитектур. Но данные решения составляют только основу кластера. Распределение служб между отдельными устройствами может определяться и программным обеспечением серверов приложения. Таким образом, кластерную архитектуру могут иметь и серверы баз данных, и серверы приложений, если они поддерживают данную функцию.

