• Информация на сайте предоставляется «как есть», может содержать неточности и не является консультацией или офертой.
  • Перед использованием проконсультируйтесь со специалистом.

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

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

Настройки cookies
Необходимые для работы веб-сайта

Используются для входа, навигации и защиты (например: sessionid, csrftoken). Без них сайт может работать с перебоями.

Помогают улучшить сайт, собирая статистику посещений (например, через Яндекс Метрику).

Используются для показа персонализированной рекламы и ретаргетинга в рекламных сетях.

Настройки интерфейса

Декоративный эффект свечения при клике по странице.

DEV -
PROGRAM.RU
Контакты

Что такое Сервер (Server) в программировании

Что такое Server в программировании? Узнайте, как работает сервер, какие задачи выполняет, где используется.

Что такое сервер в программировании

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

Например, пользователь может начать оформление заказа на телефоне, а затем открыть тот же аккаунт на компьютере.

Для согласованной работы таких сценариев нужна отдельная часть системы.

В этой статье разберем, что такое Сервер и для чего он нужен.

Что такое сервер

Сервер это компьютер или программа, которая предоставляет ресурсы, данные или функции другим программам и устройствам.

О запрашиваемой стороне, мы поговорили в отдельной статье: «Что такое клиентЧто такое клиент?».

Сервер как программа и как компьютер

У слова «сервер» есть два распространённых значения:

  • Аппаратный сервер это компьютер или вычислительная система, на которой размещают приложения, базы данных и другие службы.

  • Программный сервер это приложение, которое принимает запросы и предоставляет клиентам определённые возможности.

Эти значения похожи, но значат разное.

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

Основные задачи сервера

Задачи сервера зависят от конкретного сценария использования, например они могут быть такими:

  1. Принимать запросы

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

  2. Проверять данные и права доступа

    Определять, корректен ли запрос и разрешено ли пользователю выполнить действие.

  3. Выполнять бизнес-логику

    Для примера: рассчитывать стоимость, применять скидку или менять статус заявки.

  4. Работать с данными

    Читать и записывать сведения в базу данных или другие хранилища.

  5. Возвращать результат

    Отправлять клиенту данные, подтверждение операции или сообщение об ошибке.

В небольшой системе действия могут быть сосредоточены в одном приложении, а в крупной распределены между отдельными службами.

Виды серверов

Серверы часто называют по той функции, которую они предоставляют:

  • Веб-сервер

    Принимает HTTP-запросы и передаёт веб-страницы или другие ресурсы.

  • Сервер приложений

    Выполняет логику приложения и обрабатывает запросы.

  • Сервер баз данных

    Предоставляет доступ к хранимым данным.

  • Файловый сервер

    Обеспечивает хранение и выдачу файлов.

  • Почтовый сервер

    Отвечает за отправку, получение или хранение электронной почты.

Где размещают серверы

Серверное программное обеспечение может работать:

  • в собственной серверной комнате организации

  • в дата-центре

  • у облачного провайдера

Выбор зависит от требований к:

  • доступности

  • безопасности

  • производительности

  • стоимости

  • обслуживанию

Где размещать серверы: собственная инфраструктура или облако

Сравнение вариантов размещения серверов
КритерийСобственная сервернаяДата-центр (Colocation)Облачная инфраструктура
Первоначальные затратыВысокиеВысокие на оборудование, но не на помещение и инфраструктуруМинимальные
Стоимость в долгосрочной перспективеОбычно наиболее выгодная после окупаемости оборудованияСредняя: аренда места и обслуживаниеМожет значительно превышать стоимость покупки собственного оборудования
Контроль над оборудованиемПолныйПолный над собственным оборудованиемОграниченный
Контроль над даннымиПолный технический контрольПолный технический контрольЗависит от провайдера и архитектуры
ЭлектропитаниеОрганизуется самостоятельноОбеспечивается дата-центромОбеспечивается провайдером
ОхлаждениеОрганизуется самостоятельноОбеспечивается дата-центромОбеспечивается провайдером
Физическая безопасностьОтветственность организацииОтветственность дата-центраОтветственность провайдера
Обслуживание оборудованияСобственными специалистамиСобственными специалистами или подрядчикомФизическое оборудование обслуживает провайдер
МасштабированиеТребует покупки и установки оборудованияТребует покупки и установки оборудованияОбычно быстрое и гибкое
РезервированиеОрганизуется самостоятельноПредоставляется инфраструктурой площадки в пределах услугиПредоставляется в рамках выбранных услуг и конфигурации
Зависимость от провайдераМинимальнаяЗависимость от оператора дата-центраВысокая

Что выбрать?

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

Облако удобно для быстрого запуска проектов, переодической нагрузки, тестирования и ситуаций, когда первоначальные инвестиции нежелательны.

Однако при постоянном потреблении больших объёмов ресурсов стоит заранее оценить совокупную стоимость владения на несколько лет.

Дата-центр (Colocation) может стать золотой серединой: организация покупает собственное оборудование, сохраняет контроль над ним, но не несёт расходы на создание и содержание собственной серверной.

При этом получает профессиональную инженерную инфраструктуру.

Важный момент: ни дата-центр, ни облако не гарантируют сохранность данных автоматически.

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

Надёжность и безопасность у сервера

Серверная часть часто отвечает за критически важные операции и общие данные, поэтому для неё важны доступность, резервное копирование, мониторинг и контроль доступа.

Также необходимо учитывать нагрузку: при большом количестве запросов сервер должен сохранять приемлемое время ответа или корректно масштабироваться.

Сервер не становится безопасным автоматически только потому, что он находится вне устройства пользователя.

Его необходимо обновлять, правильно настраивать и защищать от несанкционированного доступа.

Сервер обычно взаимодействует с клиентами по определённым правилам и протоколам.

Как устроен этот обмен и почему роли двух сторон разделяют, объясняется в статье «Клиент-серверная архитектура».

Если у вас остались вопросы по Серверу в программировании, вы можете обратиться за консультацией к программисту.

Вам может быть интересно

Поделиться
Ничего не найдено
Найдите нужную страницу

Статьи, инструменты и помощь