Сервер (от английского: serve, «обслуживать», корректнее, server — «обслуживатель») — это выделенная или иная специализированная физическая машина для выполнения сервисного ПО, простыми словами — это физический компьютер для хранения данных и обеспечения к ним прямого доступа.
Благодаря серверам функционируют сайты, сервисы, мобильные приложения и другие платформы, которые так или иначе связаны с интернетом.
Как устроен сервер, чем отличается от обычного ПК
Такой компьютер состоит из таких же компонентов, что и бытовые (клиентские) ПК:
- Центральные процессоры.
- Оперативная память.
- Накопители данных разного типа.
Но есть и отличия:
- Вычислительная мощность выше, чем у клиентских ПК. Вы наверняка слышали про серверные память и процессоры — это и есть внутренние компоненты таких компьютеров.
- Работает под управлением серверных операционных систем. Например, Microsoft Windows Server разных версий.
- Не имеет в комплекте мощные видеокарты, так как практически никогда не используется для вывода графики на экран.
- Снабжен дублирующими источниками бесперебойного питания. Даже при выходе из строя одного, двух и более ИБП, server не прекратит свою работу, как и в случае обесточивания главной питающей сети.
Круглосуточная доступность — одно из основных требований, которое предъявляется к любому серверу. Если они все разом станут недоступными, то привычное мироустройство современного человека нарушится: не получится отправить емейл, заказать такси, совершить покупку в интернет-магазине.
- Имеет специфические системы охлаждения. Благодаря им обеспечивается стабильная работа компонентов машины и защита от перегрева.
Корпуса складываются друг на друга горизонтально. Есть и вертикальное расположение, но оно менее распространено.
Как выглядят серверы: стойки и блейды
Для обычных пользователей это всегда что-то абстрактное, большое и непонятное. Но давайте посмотрим, как выглядит типичный сервер:
Такой компьютер совсем не обязательно должен быть очень большим. Они бывают размером с телевизионную приставку и даже меньше:
Выделенные или специализированные компьютеры устанавливаются в стойку, а она убирается в специальный ящик, или шкаф. Это практичнее — в таком исполнении, например, проще решить вопрос охлаждения сразу всех машин.
Основное отличие стойки от блейда в том, что стойка представляет собой независимый компьютер, устанавливаемый в корпус. Блейды же работают друг с другом в едином шасси.
Обратите внимание на особенности корпусов:
Все вышеуказанное оборудование хранится в отдельной серверной комнате. В ней регулируется не только влажность, но и давление воздуха и даже запыленность пространства. Такую комнату по сложности технологических условий вполне можно сравнить с выставочными залами лучших картинных галерей мира.
Для чего нужен сервер
Каждая подобная машина проектируется с учетом главной задачи ее использования. Вот несколько примеров:
- Хранение данных.
- Развертывание сайтов, соцсетей,приложений.
- Развертывание хостинга для публичных сайтов.
- Майнинг.
- Организация VPN-шлюзов.
- Резервное копирование данных с основного сервера.
- Создание единого внутреннего пространства для организации.
Основное назначение — это хранение данных и получение к ним общего доступа.
Да, хранить информацию можно и на офисном компьютере, но такой способ сильно проигрывает по уровню безопасности и сохранности данных. Выделенная машина надежно защищена от внутренних и внешних воздействий. Поэтому серверы используют и государственные, и коммерческие структуры (например, банки).
Как работает сервер
Главная задача — обработка пользовательского запроса. Иногда такие машины даже называют «раздатчиками» (имеется в виду, ответов). Схема работы следующая:
- Клиент создает запрос — например, сохранить изображение или иной файл.
- Он высылает запрос на сервер.
- Машина обрабатывает и выполняет этот запрос.
Подчеркнем, что это физическая машина, где хранятся разные типы файлов. Выделенный или специализированный компьютер всегда подключен к сети — не обязательно только к интернету — благодаря чему пользователь может получить доступ к файлам в любое время.
Серверами могут называться и программные компоненты, предназначенные для регламентации уровня доступа к данным на пользовательских компьютерах.
Закрепим, как работает выделенная машина, на примере цепочки browser—server:
- Браузер формирует запрос и отправляет его на веб-сервер. Запрос происходит через HTTP-протокол.
- Программное обеспечение (в нашем случае — HTTP-server) расшифровывает полученный запрос и выполняет его. Например, обнаруживает в хранилище необходимый документ и возвращает его через тот же HTTP-протокол.
Как работает динамический сервер
Он умеет изменять существующие данные перед тем, как отправить их. Отличается от статического тем, что имеет расширенное ПО: обычно это пара «БД — сервер приложений». Второй компонент в этой паре улучшает юзабилити и повышает скорость доставки контента. Схема его работы может быть довольно сложной, не в этом суть.
Простой пример: есть стандартные HTML-страницы и есть страницы-шаблоны. В такой шаблон можно автоматически подтягивать информацию сразу из нескольких БД, даже если они очень большие и «тяжелые». Часто такие машины используются на очень крупных публичных веб-сайтах — например, на ресурсах «Википедии»:
Как работает статический сервер
Этот тип работает как физическая машина в связке с программным обеспечением (HTTP-server). В отличие от динамического, статический предусматривает передачу своих данных изначально без каких-либо изменений.
Статический сервер обслуживает только статический контент: любые файлы (в том числе, HTML, JavaScript, CSS), которые доступны в момент их запроса клиентом. Он не предназначен для обслуживания динамически генерируемого контента — который не существует, но его необходимо создавать «на лету». Например, после извлечения определенной информации из базы данных, с использованием серверного языка и так далее.
Какие бывают серверы по прямому назначению
Это традиционная схема классификации, с которой мы начнем.
Веб-сервер
Это программное (и аппаратное) обеспечение, использующее HTTP и другие протоколы для ответа на запросы клиентов, сделанные через WWW.
Такая машина позволяет «отображать» содержимое сайта путем хранения, обработки и доставки веб-страниц конечным пользователям. Помимо HTTP, она также поддерживают SMTP (простой протокол передачи почты) и FTP (протокол передачи файлов), используемые для электронной почты, передачи / хранения файлов, соответственно.
Файловый сервер
Это физический компьютер, отвечающий за централизованное хранение, распространение и управление данными, файлами и папками, чтобы другие компьютеры в той же сети могли получить к ним доступ.
SQL
SQL Server — сервер БД для разработок Microsoft. Это решения, созданные для управления реляционными БД. Представляет собой программный продукт, который хранит / извлекает данные, запрашиваемые другими веб-приложениями. Одно или несколько из них функционируют на том же или другом компьютере.
SQL — язык программирования специального назначения, предназначенный для обработки данных в системе управления реляционными БД
Следовательно, SQL Server — это специализированная или выделенная машина с БД, реализующий язык структурированных запросов (SQL):
Сервер приложения
Это форма промежуточного ПО, которое находится между ОС, инструментами (СУБД или другими внешними компонентами), связью и сторонними веб-приложениями.
Функциональное назначение этого типа состоит в том, чтобы обрабатывать запросы как хост (или контейнер), часто — для соблюдения требуемой пользовательской или иной логики.
NPS
Это так называемый сервер сетевой политики, разработка Microsoft для эффективной удаленной аутентификации средствами RADIUS и соответствующего прокси.
Службы сетевой политики и доступа (NPAS) — это компонент Windows Server 2008, который заменил службу проверки подлинности (IAS) в Windows Server 2003. IAS — реализация службы удаленной аутентификации пользователей по телефону (RADIUS). В операционных системах Windows Server более поздних версий (чем Windows Server 2003) IAS переименовали в NPS.
В состав NPAS ранее входили три компонента:
- Уже описанный нами NPS. Он помогает защитить работоспособность и безопасность сети.
- Центр HRA для создания регистрации работоспособности.
- Протокол HCAP для прохождения авторизации узла.
RADIUS-server проверяет подлинность сетевых беспроводных устройств, а затем авторизует их. К таким устройствам можно отнести коммутаторы, коммутируемые подключения удаленного доступа и подключения к виртуальной частной сети (VPN).
Принт-сервер
Это программное приложение, физическая машина или сетевое устройство для удаленного управления устройствами печати: принтерами, сканерами, МФУ и иными устройствами.
С его помощью подключают по сети принтеры к клиентским устройствам — например, стационарным ПК или ноутбукам. Машина принимает задания на печать и отправляет их на указанный принтер. Основной альтернативой таким устройствам является прямая IP-печать.
Прокси
Это система и соответствующий маршрутизатор, которые обеспечивают шлюз между пользователями и интернетом. Прокси помогает предотвратить проникновение злоумышленников в частную сеть. Его часто называют посредником, так как он находится между конечными пользователями и веб-страницами, которые они посещают.
Вот пример связи между двумя компьютерами, подключенными через третий компьютер, выступающий в качестве прокси:
Когда компьютер подключается к интернету, он использует IP-адрес. Он похож на табличку с почтовым адресом настоящего дома, которая сообщает прохожим номер или улицу. Также и прокси: он сообщает входящим данным, куда им нужно «идти», и помечает исходящие данные обратным адресом (для аутентификации других устройств).
Упрощенно это просто компьютер в интернете с собственным IP-адресом.
Message transfer agent
Его также называют «почтовым», что не совсем корректно, но хорошо отражает сценарий использования.
Каждый отправляемый email проходит через ряд почтовых компьютеров на пути к предполагаемому получателю. Может показаться, что электронное сообщение отправляется мгновенно. На самом деле происходит сложная серия поэтапных отправок.
Без этих устройств вы бы отправляли email только тем людям, чьи домены адресов электронной почты совпадают с вашими: например, сообщение из учетной записи sait.com в другую учетную запись sait.com.
Какие бывают серверы по техническим особенностям
Это несколько иная классификация, но знать о ней также полезно, особенно если вы хотите развернуть собственный сайт и быть в курсе технической специфики и устройстве архитектуры.
Виртуальный сервер
Обладает теми же возможностями, что и физический, но не имеет базового физического оборудования. Физический может создавать несколько отдельных виртуальных — с гипервизором, или механизмом контейнера с использованием технологии виртуализации. При этом ресурсы физических машин (ЦП и память, например) задействуются совместно.
Физический выделенный
Покупается или арендуется для потребностей определенного бизнеса и обычно используются крупными организациями, которым требуется исключительно высокий уровень безопасности данных. Или организациями, предъявляющими повышенные требования к емкости машин.
VPS
Виртуальный частный сервер (сокр. VPS или VDS) — вид хостингов для симуляции среды выделенной физической машины в условиях общего сервера. Да, несколько запутанное определение, но оно точно отражает суть этой услуги.
Хостинг VPS — одна из самых популярных услуг и причин тому масса:
- Пользователь имеет так называемый корневой доступ. Это полная независимость в плане обращения к машине. Например, можно ставить абсолютно любые приложения или вносить изменения в конфигурации без необходимости обращаться к выбранному хостеру, как в случае с виртуальным хостингом.
- Лучшая производительность, чем у большинства виртуальных хостингов.
- Он значительно доступнее по стоимости, чем полноценный выделенный.
- Надежнее в плане сохранности данных, а значит и безопаснее.
VPS самый удобный вариант для поставщиков SaaS-сервисов, разработчиков, фрилансеров и вообще любых бизнесов, которые выросли из услуги типа virtual hosting.
Виртуальный хостинг
Виртуальный хост фокусируется на решениях виртуальной инфраструктуры, включая виртуальный сервер, компьютеры, хранилища данных, гибридные платформы.
Его нельзя путать с виртуальным сервером — он уже изначально заточен под развертывание сайта. Суть этого типа состоит в том, что провайдер дает вам во временное пользование собственную инфраструктуру (CPU, RAM, хранилище для файлов). При этом ваш сайт будет располагаться на одной машине еще с десятком других таких же сайтов, что похоже на общежитие при университете.
Это самый дешевый вариант для начинающих вебмастеров, которым нужно протестировать что-то или развернуть первый сайт.
Используя виртуальный хостинг, вы можете запускать сразу несколько веб-сервисов — с разным названиями хостов и разными URL-адресами, которые, по сути, являются отдельными сайтами.
Резюме + бонус: как выбрать сервер
Определите главную задачу или цель, которую вы собираетесь решить при помощи развертывания собственной выделенной или специализированной машины.
Производительность сервера держится на трех китах: процессор, оперативная память и накопитель.
Процессор
Если у вас будет акцент на многопоточных задачах, то главное — объем кэш-памяти CPU и количество ядер. Если же планируется решать однопоточные задачи — основным приоритетом будет тактовая частота.
На производительность процессора же влияют следующие показатели:
- Тактовая частота.
- Архитектура.
- Разрядность шины.
- Тип и объем кэш-памяти.
А вот важность количества ядер процессора часто переоценивается.
- Машина будет постоянно выполнять большое количество процессов одновременно? Значит многоядерность становится приоритетом в построении системы.
- Машина будет использоваться для обработки однопоточных запросов? Тогда разумнее делать акцент на тактовой частоте, а не гнаться за количеством ядер.
Оперативная память и накопители
Вот семь рекомендаций, которые помогут вам построить эффективный и быстрый сервер:
- Выбирайте исключительно внешние RAID.
- Выбирайте оперативную память с поддержкой ECC.
- Хорошо, если есть поддержка «горячей» замены накопителей.
- Объем и суммарное количество слотов для RAM зависят не только от самой оперативной памяти, но и от ограничений для конкретной модели процессора. Лучше выбирать серверную память стандарта DDR4 (с частотой от 2133 до 2666 МГц).
- Поддержка дополнительного блока питания точно не будет лишней.
- Выбирайте специализированные серверные SSD. Они отличаются повышенной долговечностью и более высокой производительностью, чем клиентские компоненты. Если вы не планируете использовать твердотельный накопитель, обращайте внимание на скорость вращения шпинделя. Чем она выше, тем быстрее будет работать диск.
- Кэш-память CPU не особо важна при отправке тяжелых / объемных данных (например, звук без сжатия или видео). Однако при работе с БД или передачей иных плотных массивов кэш приобретает чуть ли не решающее значение. Рабочий диапазон серверной кэш-памяти CPU, подходящей для большинства задач — от 8 до 16 мегабайт.