Серверы составляют основу интернета, поэтому их работа крайне важна для обеспечения коммуникации в современном обществе. Не все из них подключены к глобальной «паутине» и зачастую обслуживают лишь локальные компьютерные сети, но в любом случае они являются одним из двух главных компонентов клиент-серверной архитектуры, по которой работает большинство сетей и систем. Серверы могут выполнять разные задачи, но в общем смысле используются для одной цели: обслуживать запросы клиентов. Например, посетителей веб-сайтов или пользователей онлайн-сервисов. В статье мы рассказываем, что такое сервер и как он функционирует, а также рассматриваем различные типы серверов.

Что такое сервер: определение

Сервер — это компьютер, который обслуживает другие компьютеры, называемые клиентами. Он выполняет сервисное программное обеспечение, т. е. хранит, обрабатывает и передает информацию по запросу, который присылает клиент. Приведем простую аналогию. Представьте, что у вас есть домашняя библиотека. Ваш друг хочет позаимствовать книгу, для этого он обращается к вам с просьбой. Вы находите нужное издание на полках и отдаете его ему. В этой ситуации вы играете роль сервера, а ваш друг — роль клиента. Но, в отличие от вас, серверу не нужно «отдыхать» и он может выполнять просьбы непрерывно — даже множество разных одновременно.

Как правило, сервер представляет собой мощное устройство, оснащенное специальным ПО и работающее без остановки. Оно сохраняет данные, совершает с ними операции, передает их другим компьютерам через интернет или по локальной сети. Большую часть времени сервер работает самостоятельно — человек взаимодействует с ним напрямую только при его настройке, обслуживании и в нештатных ситуациях. Благодаря тому, что у сервера 24/7 включено электропитание, имеется стабильное высокоскоростное подключение к интернету (если это необходимо) и установлены особые программы, он обеспечивает постоянный доступ к хранящимся на нем файлам.

Технически сервер можно создать и из обычного персонального компьютера, если оснастить его необходимым оборудованием и правильно настроить. Но делать это достаточно проблематично и финансово невыгодно, если затем он должен будет обслуживать большое количество клиентов и/или иметь выход в интернет.

Что такое сервер и как он работает.
Изображение от macrovector на Freepik.

Как работает сервер простыми словами

Как мы уже сказали, работа сервера основана на клиент-серверной архитектуре, что значит, он работает по принципу запрос-ответ. Клиентами, направляющими запросы, чаще всего являются приложения, установленные на других устройствах: ПК, смартфонах, планшетах, серверах и т. д. Например, ваш веб-браузер. Когда вы переходите по ссылке на какой-то сайт, браузер посылает запрос на сервер, который этот сайт обслуживает. Тот получает веб-запрос и начинает его обработку: анализирует, определяет, какие ресурсы или данные требуются, а затем совершает необходимые операции. В нашем примере — ищет файл с кодом страницы, на которую вы хотите перейти. Как некий «суперкомпьютер», сервер имеет мощные процессоры, большой объем оперативной памяти и дисковое пространство для хранения информации. Это позволяет ему служить сразу множеству клиентов и выполнять самые разные задачи: производить вычисления, осуществлять поиск, предоставлять доступ к базе данных, перенаправлять запросы, обрабатывать крупные массивы неструктурированных данных и др.

После того, как веб-запрос обработан, сервер отправляет клиенту результат по сети. Он делает это с помощью протоколов — специальных правил, по которым компьютеры общаются между собой. Веб-серверы (те, которые отвечают за сайты и веб-приложения) используют HTTP/HTTPS, почтовые серверы — SMTP, файловые — FTP и т. д.

Типы серверов

У серверов есть разновидности — это мы выяснили. От того, к какому типу относится сервер, зависит выбор протоколов, по которым он будет работать, и вид запросов, которые он сможет принимать и обрабатывать. Например, почтовые отправляют и получают электронные письма, серверы БД хранят большие объемы упорядоченной информации и дают к ней доступ, а DNS-серверы способны выполнять запросы, обращенные к системе доменных имен, т. е. находить и отдавать IP-адреса для запрашиваемых доменов.

Но классификация по цели не единственная. Серверы также отличаются способом реализации их инфраструктуры. Простыми словами, тем, как они устроены. Выделяют три вида: физический, виртуальный и облачный. Ниже мы поговорим о каждом отдельно.

Физические серверы

Под таким сервером понимается самостоятельная физическая машина, «железо», специально настроенное для выполнения сервисных функций. Это то, что обычно представляют при слове «сервер»: у него есть корпус, собственные комплектующие, которые можно «подержать в руках», к нему подключены провода. Как правило, физические серверы обладают высокой производительностью, хотя, конечно, все зависит от мощности устройств и компонентов, из которых он собран. У физического сервера собственное аппаратное обеспечение (АО): процессоры, плашки оперативной памяти, жесткие диски, материнская плата, сетевые карты и пр. Они могут быть сконфигурированы и настроены под конкретные требования, в целом возможности физического сервера ограничены только его АО. При желании эти компоненты можно заменить на более производительные.

Физический сервер используется для масштабных вычислений, хранения больших объемов данных или обслуживания множества клиентов. Например, на нем часто запускают хостинг — услугу по аренде вычислительных ресурсов, которая позволяет использовать сервер удаленно разным пользователям. Однако для работы такому серверу требуется физическое пространство и энергия. Поэтому они располагаются в специальных помещениях — машинных/серверных залах или дата-центрах. В этих центрах имеется вся необходимая инфраструктура для их работы: источники бесперебойного питания, высокоскоростные каналы связи, системы охлаждения и пожаротушения.

Типы серверов.
Изображение от pch.vector на Freepik.

Виртуальные серверы

Виртуальным называется сервер, созданный при помощи программного обеспечения внутри отдельного физического компьютера (хоста). Он имитирует работу настоящего сервера, используя часть его ресурсов, и на уровне программ почти ничем не отличается от него функционально. На одном хосте может быть единовременно запущено несколько виртуальных серверов, при этом каждый из них будет работать как самостоятельная машина.

Такой эффект достигается за счет виртуализации — технологии, позволяющей отделить вычислительные ресурсы от устройств, которые их предоставляют. Виртуализированные ресурсы хост-сервера делятся на какое-то количество контейнеров. Эти контейнеры выступают в роли собственного аппаратного обеспечения для виртуальных машин (ВМ), хотя по факту все они являются единой системой. Возможности ВМ зависят от метода виртуализации. Всего их два:

  • аппаратный позволяет создать сервер с отдельным ядром операционной системы, что значит — полностью самостоятельный и не имеющий ограничений в выборе ПО;
  • программный предназначен для копирования ОС хоста и одновременного выполнения нескольких таких копий, т. е. администратор сервера может работать только на той системе, которая установлена на физической машине.

Грубо говоря, виртуальные серверы — это компьютеры без физического воплощения, программы, использующие ресурсы реальной машины. Их можно масштабировать без необходимости замены комплектующих, но лишь до определенного момента: пока не закончатся ресурсы хоста.

Виртуальные серверы.
Изображение от vectorjuice на Freepik.

Облачные серверы

В основе создания облачного сервера также лежит виртуализация, но здесь эта технология используется немного иначе: она позволяет не просто разделить ресурсы на несколько частей, а сначала объединяет в одну систему ресурсы нескольких компьютеров, и уже в ней выделяет изолированные среды — серверы. Такая система называется «облаком». Это кластер физических машин, которые действуют как один мощный суперкомпьютер. Таким образом, cloud-сервер — это виртуальный сервер, запущенный не на одном хосте, а в облачном пространстве.

Одной из главных особенностей облачных серверов является их масштабируемость. Пользователи могут легко масштабировать ресурсы в зависимости от своих потребностей, увеличивая или уменьшая объем вычислительной мощности, памяти и хранилища. Облачные серверы также обеспечивают высокую доступность и надежность, так как они распределены по нескольким физическим узлам и имеют механизм автоматического восстановления в случае сбоев. Проще говоря, если один сервер из кластера станет недоступен, его функции возьмут на себя остальные.

Cloud-технологии предоставляют широкий спектр услуг, включая веб-хостинг, базы данных, хранилища, вычисления и многое другое. Пользователи могут получить доступ к этим услугам по интернету, платя только за фактически использованные ресурсы.

Облачные серверы.
Изображение от fullvector на Freepik.

Заключение

Серверы являются неотъемлемой частью современной информационной инфраструктуры. Они обеспечивают хранение, обработку и передачу информации, необходимой для работы веб-сайтов, приложений и других онлайн-сервисов. Физические, виртуальные и облачные серверы используют различные подходы к реализации серверной инфраструктуры, каждый из которых имеет свои преимущества и недостатки. Теперь вы знаете, как они работают и почему их роль так важна для обеспечения функционирования интернета.