Сервер (от английского: serve, «обслуживать», корректнее, server — «обслуживатель») — это выделенная или иная специализированная физическая машина для выполнения сервисного ПО, простыми словами — это физический компьютер для хранения данных и обеспечения к ним прямого доступа.
Благодаря серверам функционируют сайты, сервисы, мобильные приложения и другие платформы, которые так или иначе связаны с интернетом.
Как устроен сервер, чем отличается от обычного ПК
Такой компьютер состоит из таких же компонентов, что и бытовые (клиентские) ПК:
- Центральные процессоры.
- Оперативная память.
- Накопители данных разного типа.
Но есть и отличия:
- Вычислительная мощность выше, чем у клиентских ПК. Вы наверняка слышали про серверные память и процессоры — это и есть внутренние компоненты таких компьютеров.
![Intel Xeon Gold 6226 — хороший пример быстрого и энергоэффективного серверного процессора](/upload/terminy/21/image12.png)
- Работает под управлением серверных операционных систем. Например, Microsoft Windows Server разных версий.
- Не имеет в комплекте мощные видеокарты, так как практически никогда не используется для вывода графики на экран.
- Снабжен дублирующими источниками бесперебойного питания. Даже при выходе из строя одного, двух и более ИБП, server не прекратит свою работу, как и в случае обесточивания главной питающей сети.
Круглосуточная доступность — одно из основных требований, которое предъявляется к любому серверу. Если они все разом станут недоступными, то привычное мироустройство современного человека нарушится: не получится отправить емейл, заказать такси, совершить покупку в интернет-магазине.
- Имеет специфические системы охлаждения. Благодаря им обеспечивается стабильная работа компонентов машины и защита от перегрева.
Корпуса складываются друг на друга горизонтально. Есть и вертикальное расположение, но оно менее распространено.
![Серверные шкафы, расположенные внутри специализированной комнаты](/upload/terminy/21/image7.png)
Как выглядят серверы: стойки и блейды
Для обычных пользователей это всегда что-то абстрактное, большое и непонятное. Но давайте посмотрим, как выглядит типичный сервер:
![Серверный компьютер перед установкой в стойку](/upload/terminy/21/image11.png)
Такой компьютер совсем не обязательно должен быть очень большим. Они бывают размером с телевизионную приставку и даже меньше:
![Такую крошку можно приспособить даже для бытового использования](/upload/terminy/21/image15.png)
Выделенные или специализированные компьютеры устанавливаются в стойку, а она убирается в специальный ящик, или шкаф. Это практичнее — в таком исполнении, например, проще решить вопрос охлаждения сразу всех машин.
Основное отличие стойки от блейда в том, что стойка представляет собой независимый компьютер, устанавливаемый в корпус. Блейды же работают друг с другом в едином шасси.
Обратите внимание на особенности корпусов:
![Сравнение стойки и блейда](/upload/terminy/21/image19.png)
Все вышеуказанное оборудование хранится в отдельной серверной комнате. В ней регулируется не только влажность, но и давление воздуха и даже запыленность пространства. Такую комнату по сложности технологических условий вполне можно сравнить с выставочными залами лучших картинных галерей мира.
Для чего нужен сервер
Каждая подобная машина проектируется с учетом главной задачи ее использования. Вот несколько примеров:
- Хранение данных.
- Развертывание сайтов, соцсетей,приложений.
- Развертывание хостинга для публичных сайтов.
- Майнинг.
- Организация VPN-шлюзов.
- Резервное копирование данных с основного сервера.
- Создание единого внутреннего пространства для организации.
Основное назначение — это хранение данных и получение к ним общего доступа.
Да, хранить информацию можно и на офисном компьютере, но такой способ сильно проигрывает по уровню безопасности и сохранности данных. Выделенная машина надежно защищена от внутренних и внешних воздействий. Поэтому серверы используют и государственные, и коммерческие структуры (например, банки).
![Серверы проекта Wikipedia](/upload/terminy/21/image14.png)
Как работает сервер
Главная задача — обработка пользовательского запроса. Иногда такие машины даже называют «раздатчиками» (имеется в виду, ответов). Схема работы следующая:
- Клиент создает запрос — например, сохранить изображение или иной файл.
- Он высылает запрос на сервер.
- Машина обрабатывает и выполняет этот запрос.
Подчеркнем, что это физическая машина, где хранятся разные типы файлов. Выделенный или специализированный компьютер всегда подключен к сети — не обязательно только к интернету — благодаря чему пользователь может получить доступ к файлам в любое время.
Серверами могут называться и программные компоненты, предназначенные для регламентации уровня доступа к данным на пользовательских компьютерах.
Закрепим, как работает выделенная машина, на примере цепочки browser—server:
- Браузер формирует запрос и отправляет его на веб-сервер. Запрос происходит через HTTP-протокол.
- Программное обеспечение (в нашем случае — HTTP-server) расшифровывает полученный запрос и выполняет его. Например, обнаруживает в хранилище необходимый документ и возвращает его через тот же HTTP-протокол.
![Схема взаимодействия веб-сервера с клиентом (браузером)](/upload/terminy/21/image4.png)
Как работает динамический сервер
Он умеет изменять существующие данные перед тем, как отправить их. Отличается от статического тем, что имеет расширенное ПО: обычно это пара «БД — сервер приложений». Второй компонент в этой паре улучшает юзабилити и повышает скорость доставки контента. Схема его работы может быть довольно сложной, не в этом суть.
Простой пример: есть стандартные HTML-страницы и есть страницы-шаблоны. В такой шаблон можно автоматически подтягивать информацию сразу из нескольких БД, даже если они очень большие и «тяжелые». Часто такие машины используются на очень крупных публичных веб-сайтах — например, на ресурсах «Википедии»:
![Эта страница сгенерирована динамическим сервером](/upload/terminy/21/image1.png)
Как работает статический сервер
Этот тип работает как физическая машина в связке с программным обеспечением (HTTP-server). В отличие от динамического, статический предусматривает передачу своих данных изначально без каких-либо изменений.
Статический сервер обслуживает только статический контент: любые файлы (в том числе, HTML, JavaScript, CSS), которые доступны в момент их запроса клиентом. Он не предназначен для обслуживания динамически генерируемого контента — который не существует, но его необходимо создавать «на лету». Например, после извлечения определенной информации из базы данных, с использованием серверного языка и так далее.
Какие бывают серверы по прямому назначению
Это традиционная схема классификации, с которой мы начнем.
Веб-сервер
Это программное (и аппаратное) обеспечение, использующее HTTP и другие протоколы для ответа на запросы клиентов, сделанные через WWW.
Такая машина позволяет «отображать» содержимое сайта путем хранения, обработки и доставки веб-страниц конечным пользователям. Помимо HTTP, она также поддерживают SMTP (простой протокол передачи почты) и FTP (протокол передачи файлов), используемые для электронной почты, передачи / хранения файлов, соответственно.
Файловый сервер
Это физический компьютер, отвечающий за централизованное хранение, распространение и управление данными, файлами и папками, чтобы другие компьютеры в той же сети могли получить к ним доступ.
![Пример использования в сетевой инфраструктуры компании](/upload/terminy/21/image2.png)
SQL
SQL Server — сервер БД для разработок Microsoft. Это решения, созданные для управления реляционными БД. Представляет собой программный продукт, который хранит / извлекает данные, запрашиваемые другими веб-приложениями. Одно или несколько из них функционируют на том же или другом компьютере.
SQL — язык программирования специального назначения, предназначенный для обработки данных в системе управления реляционными БД
Следовательно, SQL Server — это специализированная или выделенная машина с БД, реализующий язык структурированных запросов (SQL):
![Сетевая организация Microsoft SQL Server 1.11](/upload/terminy/21/image3.png)
Сервер приложения
Это форма промежуточного ПО, которое находится между ОС, инструментами (СУБД или другими внешними компонентами), связью и сторонними веб-приложениями.
![AS или server приложения — это ПО, которое распознает URL-адреса и HTTP](/upload/terminy/21/image13.png)
Функциональное назначение этого типа состоит в том, чтобы обрабатывать запросы как хост (или контейнер), часто — для соблюдения требуемой пользовательской или иной логики.
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).
![В этой инфраструктуре с разнообразными клиентами, NPS задействован для RADIUS-server](/upload/terminy/21/image8.png)
Принт-сервер
Это программное приложение, физическая машина или сетевое устройство для удаленного управления устройствами печати: принтерами, сканерами, МФУ и иными устройствами.
С его помощью подключают по сети принтеры к клиентским устройствам — например, стационарным ПК или ноутбукам. Машина принимает задания на печать и отправляет их на указанный принтер. Основной альтернативой таким устройствам является прямая IP-печать.
![Беспроводный принт-сервер LogiLink](/upload/terminy/21/image9.png)
Прокси
Это система и соответствующий маршрутизатор, которые обеспечивают шлюз между пользователями и интернетом. Прокси помогает предотвратить проникновение злоумышленников в частную сеть. Его часто называют посредником, так как он находится между конечными пользователями и веб-страницами, которые они посещают.
Вот пример связи между двумя компьютерами, подключенными через третий компьютер, выступающий в качестве прокси:
![Такая схема защитит конфиденциальность Алисы. У Бориса нет шансов](/upload/terminy/21/image6.png)
Когда компьютер подключается к интернету, он использует IP-адрес. Он похож на табличку с почтовым адресом настоящего дома, которая сообщает прохожим номер или улицу. Также и прокси: он сообщает входящим данным, куда им нужно «идти», и помечает исходящие данные обратным адресом (для аутентификации других устройств).
Упрощенно это просто компьютер в интернете с собственным IP-адресом.
Message transfer agent
Его также называют «почтовым», что не совсем корректно, но хорошо отражает сценарий использования.
Каждый отправляемый email проходит через ряд почтовых компьютеров на пути к предполагаемому получателю. Может показаться, что электронное сообщение отправляется мгновенно. На самом деле происходит сложная серия поэтапных отправок.
![Пример «общения» мейл-сервера с пользователем, который использует email-клиент для чтения писем](/upload/terminy/21/image17.png)
Без этих устройств вы бы отправляли email только тем людям, чьи домены адресов электронной почты совпадают с вашими: например, сообщение из учетной записи sait.com в другую учетную запись sait.com.
Какие бывают серверы по техническим особенностям
Это несколько иная классификация, но знать о ней также полезно, особенно если вы хотите развернуть собственный сайт и быть в курсе технической специфики и устройстве архитектуры.
Виртуальный сервер
Обладает теми же возможностями, что и физический, но не имеет базового физического оборудования. Физический может создавать несколько отдельных виртуальных — с гипервизором, или механизмом контейнера с использованием технологии виртуализации. При этом ресурсы физических машин (ЦП и память, например) задействуются совместно.
Физический выделенный
Покупается или арендуется для потребностей определенного бизнеса и обычно используются крупными организациями, которым требуется исключительно высокий уровень безопасности данных. Или организациями, предъявляющими повышенные требования к емкости машин.
![Пример готовых конфигураций выделенных машин на сайте одного из хостингов](/upload/terminy/21/image18.png)
VPS
Виртуальный частный сервер (сокр. VPS или VDS) — вид хостингов для симуляции среды выделенной физической машины в условиях общего сервера. Да, несколько запутанное определение, но оно точно отражает суть этой услуги.
Хостинг VPS — одна из самых популярных услуг и причин тому масса:
- Пользователь имеет так называемый корневой доступ. Это полная независимость в плане обращения к машине. Например, можно ставить абсолютно любые приложения или вносить изменения в конфигурации без необходимости обращаться к выбранному хостеру, как в случае с виртуальным хостингом.
- Лучшая производительность, чем у большинства виртуальных хостингов.
- Он значительно доступнее по стоимости, чем полноценный выделенный.
- Надежнее в плане сохранности данных, а значит и безопаснее.
![Термины VPS и VDS сейчас используются как взаимозаменяемые, но они имеют и различия при использовании разных видов виртуализации](/upload/terminy/21/image16.png)
VPS самый удобный вариант для поставщиков SaaS-сервисов, разработчиков, фрилансеров и вообще любых бизнесов, которые выросли из услуги типа virtual hosting.
Виртуальный хостинг
Виртуальный хост фокусируется на решениях виртуальной инфраструктуры, включая виртуальный сервер, компьютеры, хранилища данных, гибридные платформы.
Его нельзя путать с виртуальным сервером — он уже изначально заточен под развертывание сайта. Суть этого типа состоит в том, что провайдер дает вам во временное пользование собственную инфраструктуру (CPU, RAM, хранилище для файлов). При этом ваш сайт будет располагаться на одной машине еще с десятком других таких же сайтов, что похоже на общежитие при университете.
Это самый дешевый вариант для начинающих вебмастеров, которым нужно протестировать что-то или развернуть первый сайт.
Используя виртуальный хостинг, вы можете запускать сразу несколько веб-сервисов — с разным названиями хостов и разными URL-адресами, которые, по сути, являются отдельными сайтами.
![Примеры цен на услуги виртуального хостинга у российского провайдера. Это очень недорого](/upload/terminy/21/image5.png)
Резюме + бонус: как выбрать сервер
Определите главную задачу или цель, которую вы собираетесь решить при помощи развертывания собственной выделенной или специализированной машины.
Производительность сервера держится на трех китах: процессор, оперативная память и накопитель.
Процессор
Если у вас будет акцент на многопоточных задачах, то главное — объем кэш-памяти CPU и количество ядер. Если же планируется решать однопоточные задачи — основным приоритетом будет тактовая частота.
На производительность процессора же влияют следующие показатели:
- Тактовая частота.
- Архитектура.
- Разрядность шины.
- Тип и объем кэш-памяти.
А вот важность количества ядер процессора часто переоценивается.
- Машина будет постоянно выполнять большое количество процессов одновременно? Значит многоядерность становится приоритетом в построении системы.
- Машина будет использоваться для обработки однопоточных запросов? Тогда разумнее делать акцент на тактовой частоте, а не гнаться за количеством ядер.
Оперативная память и накопители
Вот семь рекомендаций, которые помогут вам построить эффективный и быстрый сервер:
- Выбирайте исключительно внешние RAID.
- Выбирайте оперативную память с поддержкой ECC.
- Хорошо, если есть поддержка «горячей» замены накопителей.
- Объем и суммарное количество слотов для RAM зависят не только от самой оперативной памяти, но и от ограничений для конкретной модели процессора. Лучше выбирать серверную память стандарта DDR4 (с частотой от 2133 до 2666 МГц).
- Поддержка дополнительного блока питания точно не будет лишней.
- Выбирайте специализированные серверные SSD. Они отличаются повышенной долговечностью и более высокой производительностью, чем клиентские компоненты. Если вы не планируете использовать твердотельный накопитель, обращайте внимание на скорость вращения шпинделя. Чем она выше, тем быстрее будет работать диск.
- Кэш-память CPU не особо важна при отправке тяжелых / объемных данных (например, звук без сжатия или видео). Однако при работе с БД или передачей иных плотных массивов кэш приобретает чуть ли не решающее значение. Рабочий диапазон серверной кэш-памяти CPU, подходящей для большинства задач — от 8 до 16 мегабайт.