что такое программа сервер ответ
IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.
Что такое сервер? Серверный компьютер и серверное приложение
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем рубрику Сервера и протоколы. А также рубрику Вопрос-ответ, в которой у нас есть раздел «Что такое?». В этой записи мы разберемся со значением термина сервер и поговорим о том, что такое серверный компьютер и что такое серверное приложение. Сначала мы разберемся откуда появилось слово сервер, а затем разберемся для чего нужны серверные машины и почему некоторые программы называют серверными приложениями и в чем их отличие от обычных приложений.
Что такое сервер? Серверный компьютер и серверное приложение
Общее определение термина сервер
Итак, давайте разберемся с вопросом: что такое сервер? Но для начала немного исторической справки. Сервер – это имя. Перевод имени Сервер с персидского – глава, предводитель, вождь. Собственно, нам такое определение подходит для дальнейшего разговора. Если говорить конкретно про компьютерную тематику и отрасль IT, то термин сервер имеет два значения:
Если говорить в контексте веб-разработки, то хостинг, на котором мы размещаем сайты – это сервер, который включает в себя как программную часть, так и аппаратную часть.
Серверный компьютер
Если мы говорим про аппаратную часть, то сервер – это специализированный компьютер или же специальное оборудование, которое используется для выполнения каких-либо узкоспециализированных функций, требующих больших вычислительных мощностей. Выполнение узкоспециализированных функций сервера обусловлено использованием специального серверного программного обеспечения.
Иногда вместо термина сервер вы можете услышать словосочетание выделенный компьютер, опять же, это потому, что функции сервера в компьютерной сети отличаются от функций других машин. В лучшем случае человек работает с серверной машиной только один раз – когда настраивает сервер, далее работа серверного компьютера (опять же, в идеальном случае) происходит автономно без вмешательства человека.
У нас сейчас не стоит цель детально погружаться в масштабируемость и сборку серверных компьютеров, и уж тем более сейчас не стоит цель давать рекомендации по сборке серверных машин различного назначения, так как это довольно специфичная и довольно узкая тематика. Сейчас нам нужно понимать, что сервер – это специально выделенный компьютер для каких-то определённых функций (хотя это не всегда так), зачастую при недостатке бюджета сервер может выполнять сразу несколько функций.
Также стоит заметить, что обычно управление сервером осуществляют не рядовые пользователи, а специально обученные и подготовленные системные администраторы, в задачу которых входит обслуживание серверных компьютеров.
Серверное приложение
Серверное приложение – это специализированная программа, которая принимает запросы клиентов, обрабатывает их и дает ответы на эти вопросы. Для того чтобы лучше понять, что такое серверное приложение, вам нужно понимать, что модель взаимодействия клиент-сервер предназначена для того, чтобы разделить нагрузку и функционал между клиентскими приложениями и серверными, поэтому приложение клиент и серверное приложение могут работать на одном компьютере и при этом взаимодействовать друг с другом.
В качестве примеров серверных приложений можно привести:
Серверное приложение выполняет определённый набор функций, который ограничен его назначением. Например, веб-сервер должен принимать HTTP запросы от клиента, анализировать их, проверяя полученные HTTP методы и поля заголовков, затем выполнять действия, указанные в запросе и отчитываться клиенту о результатах своей работы при помощи специального HTTP сообщения, которое получило название ответ.
А, например, серверное приложение MySQL должно анализировать SQL запрос, полученный от клиента, обработать его, организовать доступ к файловой системе и вернуть результат запроса клиенту.
Но, помимо того, что у серверного приложения есть определённая роль или функция, нам стоит отметить то, что взаимодействие между клиентской программой и серверным приложением происходит по сетевому протоколу (даже если оба приложения установлены на один компьютер, например, по протоколу HTTP). Сейчас мы не будем давать полную классификацию серверных приложений и не будем вдаваться в специфику тех или иных приложений. Нам важно понимать, что серверные приложения выполняют строго определённую роль и в архитектуре клиент-сервер являются поставщиками услуг для клиентов.
Сервер (программное обеспечение)
Се́рверное программное обеспечение (англ. server от англ. to serve — служить) (множественное число серверá) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам.
Содержание
Роль сервера
Понятия сервер и клиент и закрепленные за ними роли образуют программную концепцию «клиент-сервер».
Для взаимодействия с клиентом (или клиентами, если поддерживается одновременная работа с несколькими клиентами) сервер выделяет необходимые ресурсы межпроцессного взаимодействия (разделяемая память, пайп, сокет, и т. п.) и ожидает запросы на открытие соединения (или, собственно, запросы на предоставляемый сервис). В зависимости от типа такого ресурса, сервер может обслуживать процессы в пределах одной компьютерной системы или процессы на других машинах через каналы передачи данных (например, COM-порт) или сетевые соединения.
Формат запросов клиента и ответов сервера определяется протоколом. Спецификации открытых протоколов описываются открытыми стандартами, например протоколы Интернета определяются в документах RFC.
В зависимости от выполняемых задач одни серверы, при отсутствии запросов на обслуживание, могут простаивать в ожидании. Другие могут выполнять какую-то работу (например, работу по сбору информации), у таких серверов работа с клиентами может быть второстепенной задачей.
Аппаратное обеспечение
У слова «сервер», также есть второе значение — (персональный или иной) компьютер, выполняющий только серверные задачи, или компьютер (или иное аппаратное обеспечение), специализированный (по форм-фактору и/или ресурсам) для использования в качестве аппаратной базы для серверов услуг (иногда — услуг определенного направления).
Аппаратными серверами (аппаратное обеспечение) называются узкоспециализированные решения со встроенным программным обеспечением (англ. firmware ; в отличие от компьютеров, где программное обеспечение необходимо устанавливать), определяющим специализацию и возможные предоставляемые услуги. Аппаратные серверы, как правило, более просты и надежны в эксплуатации, потребляют меньше электроэнергии и, иногда, более дешевы. Но вместе с тем они менее гибки (так как изначально ограничены в выполняемых задачах) и, часто, ограничены в ресурсах.
Важно понимать что сервер, в том значении как его понимает эта статья (то есть сервер, предоставляющий какой-либо сервис, например прокси-сервер), всегда является программой (или программным модулем), выполняющейся на каком-то аппаратном обеспечении. Без этой программы аппаратное обеспечение не может ничего предоставлять. Даже «аппаратные серверы» (или роутеры) не исключение, потому что в них сервис, также, предоставляется (встроенным) программным обеспечением. Иногда, для простоты, сервером услуги (например тем же прокси-сервером) называют программное и аппаратное обеспечение в целом, в особенности если этот программно-аппаратный комплекс выполняет только одну задачу.
Теоретически, на одной единице аппаратного обеспечения, может одновременно выполняться произвольное количество серверов (за исключением серверов конфликтующих между собой по ресурсам или их количеству), они будут делить между собой аппаратные ресурсы. Практически, между крайностями «один компьютер — одна услуга» и «один компьютер — все услуги» каждый находит свой компромисс.
Серверы услуг можно запускать на рабочей станции, чтобы они работали в фоне разделяя ресурсы компьютера с программами, запускаемыми пользователем. Такой режим работы называется «невыделенным», в отличие от «выделенного» (англ. dedicated ), когда компьютер выполняет только сервисные функции. Строго говоря, на рабочей станции (для примера, под управлением Windows XP) и без того, всегда работает несколько серверов — сервер удаленного доступа (терминальный сервер), сервер удаленного доступа к файловой системе и системе печати, и прочие удаленные и внутренние серверы.
Классификация стандартных серверов
Как правило, каждый сервер обслуживает один (или несколько схожих) протоколов и серверы можно классифицировать по типу услуг которые они предоставляют.
Универсальные серверы
Универсальные серверы — особый вид серверной программы, не предоставляющий никаких услуг самостоятельно. Вместо этого универсальные серверы предоставляют серверам услуг упрощенный интерфейс к ресурсам межпроцессного взаимодействия и/или унифицированный доступ клиентов к различным услугам. Существуют несколько видов таких серверов:
Универсальные серверы часто используются для написания всевозможных информационных серверов, серверов, которым не нужна какая-то специфическая работа с сетью, серверов не имеющих никаких задач, кроме обслуживания клиентов. Например в роли серверов для inetd могут выступать обычные консольные программы и скрипты.
Большинство внутренних и сетевых специфических серверов Windows работают через универсальные серверы (RPC, (D-)COM).
Маршрутизация
Строго говоря, сервис маршрутизации не является сервером в классическом смысле, а является базовой функцией поддержки сети операционной системой.
Для TCP/IP, маршрутизация является базовой функцией стека IP (кода поддержки TCP/IP). Маршрутизацию своих пакетов к месту назначения выполняет любая система в сети, маршрутизацию же чужих пакетов (форвардинг) выполняют только маршрутизаторы (также известные как роутеры или шлюзы). Задачи маршрутизатора при форвардинге пакета:
Динамическая маршрутизация
Решения динамической маршрутизации призваны собирать информацию о текущем состоянии сложной сети и поддерживать таблицу маршрутов через эту сеть, чтобы обеспечить доставку пакета по кратчайшему и самому эффективному маршруту.
Из этих решений клиент-серверную модель использует только BGP (англ. Border Gateway Protocol — протокол пограничного шлюза), применяемый для глобальной маршрутизации. Локальные решения (RIP, OSPF) используют в своей работе бродкастовые и мультикастовые рассылки.
Сетевые службы
Сетевые службы обеспечивают функционирование сети, например серверы DHCP и BOOTP обеспечивают стартовую инициализацию серверов и рабочих станций, DNS — трансляцию имен в адреса и наоборот.
Серверы туннелирования (например, различные VPN-серверы) и прокси-серверы обеспечивают связь с сетью, недоступной роутингом.
Серверы AAA и Radius обеспечивают в сети единую аутентификацию, авторизацию и ведение логов доступа.
Информационные службы
К информационным службам можно отнести как простейшие серверы сообщающие информацию о хосте (time, daytime, motd), пользователях (finger, ident), так и серверы для мониторинга, например SNMP. Большинство информационных служб работают через универсальные серверы.
Особым видом информационных служб являются серверы синхронизации времени — NTP, кроме информировании клиента о точном времени NTP-сервер периодически опрашивает несколько других серверов на предмет коррекции собственного времени. Кроме коррекции времени анализируется и корректируется скорость хода системных часов. Коррекция времени осуществляется ускорением или замедлением хода системных часов (в зависимости от направления коррекции), чтобы избежать проблем возможных при простой перестановке времени.
Файл-серверы
Файл-серверы представляют собой серверы для обеспечения доступа к файлам на диске сервера.
Прежде всего это серверы передачи файлов по заказу, по протоколам FTP, TFTP, SFTP и HTTP. Протокол HTTP ориентирован на передачу текстовых файлов, но серверы могут отдавать в качестве запрошенных файлов и произвольные данные, например динамически созданные веб-страницы, картинки, музыку и т. п.
Другие серверы позволяют монтировать дисковые разделы сервера в дисковое пространство клиента и полноценно работать с файлами на них. Это позволяют серверы протоколов NFS и SMB. Серверы NFS и SMB работают через интерфейс RPC.
Недостатки файл-серверной системы:
Сервера доступа к данным
Серверы доступа к данным обслуживают базу данных и отдают данные по запросам. Один из самых простых серверов подобного типа — LDAP (англ. Lightweight Directory Access Protocol — облегчённый протокол доступа к спискам).
Для доступа к серверам баз данных единого протокола не существует, однако все серверы баз данных объединяет использование единых правил формирования запросов — язык SQL (англ. Structured Query Language — язык структурированных запросов).
Службы обмена сообщениями
Службы обмена сообщениями позволяют пользователю передавать и получать сообщения (обычно — текстовые).
В первую очередь это серверы электронной почты работающие по протоколу SMTP. SMTP-сервер принимает сообщение и доставляет его в локальный почтовый ящик пользователя или на другой SMTP-сервер (сервер назначения или промежуточный). На многопользовательских компьютерах, пользователи работают с почтой прямо на терминале (или веб-интерфейсе). Для работы с почтой на персональном компьютере, почта забирается из почтового ящика через серверы, работающие по протоколам POP3 или IMAP.
Для организации конференций существует серверы новостей, работающие по протоколу NNTP.
Для обмена сообщениями в реальном времени существуют серверы чатов, стандартный чат-сервер работает по протоколу IRC — распределенный чат для интернета. Существует большое количество других чат-протоколов, например ICQ или Jabber.
Сервера удалённого доступа
Серверы удалённого доступа, через соответствующую клиентскую программу, обеспечивают пользователя консольным доступом к удалённой системе.
Для обеспечения доступа к командной строке служат серверы telnet, RSH, SSH.
Графический интерфейс для Unix-систем — X Window System, имеет встроенный сервер удалённого доступа, так как с такой возможностью разрабатывался изначально. Иногда возможность удалённого доступа к интерфейсу Х-Window неправильно называют «X-Server» (этим термином в X-Window называется видеодрайвер).
Стандартный сервер удалённого доступа к графическому интерфейсу Microsoft Windows называется терминальный сервер.
Некоторую разновидность управления (точнее мониторинга и конфигурирования), также, предоставляет протокол SNMP. Компьютер или аппаратное устройство для этого должно иметь SNMP-сервер.
Игровые сервера
Игровые серверы служат для одновременной игры нескольких пользователей в единой игровой ситуации. Некоторые игры имеют сервер в основной поставке и позволяют запускать его в невыделенном режиме (то есть позволяют играть на машине, на которой запущен сервер).
Серверные решения
Серверные решения — операционные системы и/или пакеты программ оптимизированные под выполнение компьютером функций сервера и/или содержащие в своем составе комплект программ для реализации типичного набора сервисов.
Примером серверных решений можно привести Unix-системы, изначально предназначенные для реализации серверной инфраструктуры.
Также необходимо выделить пакеты серверов и сопутствующих программ (например комплект веб-сервер/PHP/MySQL для быстрой развертки хостинга) для установки под Windows (для Unix свойственна модульная или «пакетная» установка каждого компонента, поэтому такие решения редки, но они существуют. Наиболее известное — LAMP).
В интегрированных серверных решениях установка всех компонентов выполняется единовременно, все компоненты в той или иной мере тесно интегрированы и предварительно настроены друг на друга. Однако в этом случае, замена одного из серверов или вторичных приложений (если их возможности не удовлетворяют потребностям) может представлять проблему.
Серверные решения служат для упрощения организации базовой ИТ-инфраструктуры компаний, то есть для оперативного построения полноценной сети в компании в том числе и «с нуля». Компоновка отдельных серверных приложений в решение подразумевает, что решение предназначено для выполнения большинства типовых задач; при этом значительно снижается сложность развертывания и общая стоимость владения ИТ-инфраструктурой, построенной на таких решениях.
Что такое сервер и для чего он нужен
Содержание
Содержание
Сегодня сервера используются везде, от предприятий и промышленных комплексов, до государственных и военных структур.
Нередко можно услышать фразы вроде «правительственные сервера» или «сервера компании, бренда».
Для многих сервер — это просто корпоративный компьютер, предназначенный для обработки и хранения информации, но это не совсем так.
Ликбез для чайников
Каждый сервер запускается для выполнения определенных задач, вот некоторые из них:
Существуют сервера для рендера, майнинга, разнообразных облачных технологий и научных исследований.
Каждый сервер требует индивидуальной конфигурации, подбора оборудования и комплектующих.
Понятным языком — что такое сервера, для чего нужны
Сервер — компьютер, подключенный по локальной или внешней сети, к которому периодически обращаются другие компьютеры, именуемые клиентами.
Не каждый сервер стоит на серверном программном обеспечении и состоит из серверных комплектующих, но каждый сервер находится в одной сети с другими компьютерами.
Серверные системы отличаются от стационарных ПК, и служат для выполнения иных задач.
Для корпоративных и коммерческих целей собираются полноценные серверные платформы. Такие сборки отличаются от десктопов серверными процессорами, материнскими платами и даже оперативной памятью.
Серверные процессоры отличаются от десктопных по нескольким показателям:
В последние годы, компания AMD стала выпускать как серверные, так и десктопные модели процессоров с одинаковым количеством потоков и ядер, в то время как Intel не отступает от производственных стандартов.
Модель процессора | AMD EPYC 7742 | AMD Ryzen Threadripper 3990X | Intel Xeon Platinum 8380HL | Intel Core i9-10980XE Extreme Edition |
Платформа | Сервер | Десктоп | Сервер | Десктоп |
Количество ядер | 64 | 64 | 28 | 18 |
Количество потоков | 128 | 128 | 56 | 36 |
Базовая тактовая частота процессора | 2.3 ГГц | 2.9 ГГц | 2.9 ГГц | 3.0 ГГц |
Максимальная тактовая частота процессора | 3.4 ГГц | 4.3 ГГц | 4.3 ГГц | 4.8 ГГц |
Кэш-память | 256 МБ | 256 МБ | 38.5 МБ | 24.75 МБ |
Макс. объем памяти | 4 ТБ | 1 ТБ | 4.5 ТБ | 256 ГБ |
Макс. число каналов памяти | 8 | 4 | 6 | 4 |
Макс. пропускная способность памяти | 190.7 ГБ/с | 95.37 ГБ/с | 187.2 ГБ/с | 94 ГБ/с |
Учитывая объемы ОЗУ, устанавливаемые на серверные сборки, десктопная версия операционной системы подойдет далеко не всем предприятиям.
Например, Windows 10 в 2020 году ограничена двумя терабайтами ОЗУ, при этом Windows Server 2019 способна работать при 24 терабайтах оперативной памяти.
Основной задачей серверных систем является обработка максимальных объемов информации в кратчайшие сроки.
На серверах обычно хранят и редактируют данные, устанавливают производственное программное обеспечение и производят расчеты.
Как понять, что вашему малому предприятию (или не малому) пора обзавестись собственным сервером
В чем собственный сервер может помочь предприятию?
Если предприятие нуждается в подобных услугах, то пора обзавестись собственным сервером.
Как выглядит сервер
Он может быть размером со шкаф или со спичечный коробок
Мы постоянно слышим про серверы в интернете: как на них что-то установить, как настроить, как подключиться. Но что физически собой представляет сервер?
Раньше это были огромные шкафы, набитые электроникой, а сейчас сервером может стать даже одноплатный компьютер. Рассказываем, как такое возможно и чем отличается сервер от обычного компьютера.
Что есть сервер
У слова «сервер» два значения:
Мы сегодня говорим о компьютерах. О программах мы говорим в другом цикле →
Что делают серверы
Главная задача сервера — выполнять запросы пользователей. Пользователи называются клиентами, как клиенты в ресторане. Они отправляют на сервер запрос, а тот должен его исполнить по правилам, которые прописаны в его софте.
Например, запросы могут быть такими:
А вот как серверы могут реагировать:
Получается, что всё, что делает сервер, — это получает запросы и реагирует на них. Больше никакой магии в серверах нет.
Сервер в стойке
Наверняка вы видели такое в фильмах про хакеров или в новостях по телевизору про дата-центры и инновации: много проводов, мигают лампочки и размером с хороший советский шкаф. Обычно это выглядит примерно так:
Но на самом деле это не сервер, а серверная стойка — специальный железный ящик, куда вкручиваются серверы — широкие и плоские компьютеры:
Именно такой плоский компьютер и есть сервер, а не вся стойка целиком. У такого компьютера могут быть разъёмы для клавиатуры и монитора, но их подключают, только когда что-то сломалось. Обычно в сервер просто втыкают сетевой кабель и настраивают всё через консоль.
А стойки нужны, чтобы серверы было удобно хранить и размещать в помещениях, или соединять несколько серверов в один большой суперкомпьютер для сложных задач. Также стойку проще охлаждать, запитывать и обслуживать, чем груду отдельно стоящих компьютеров.
Обычный компьютер в виде сервера
Обычный системник, который стоит дома, тоже может быть сервером, если его подключить к интернету и научить обрабатывать запросы.
Например, примером такого сервера может быть домашнее файловое хранилище:
В итоге вы получите полноценный сервер, задачей которого будет собирать, хранить, а потом отдавать вам по запросу ваши файлы.
Одноплатный сервер
У сервера может быть и такая задача: собирать данные с погодных датчиков, обрабатывать их, получать данные с соседних серверов и присылать каждый час в телеграм самый точный прогноз.
Для этого не нужен ни сервер в стойке, ни даже системник — достаточно простого одноплатного компьютера на линуксе. Под такие задачи хватит и слабого железа, тем более что разместить его можно где угодно, энергии ест мало и работает бесшумно. Главное — чтобы было подключение к интернету.
Компьютер Onion Omega 2+ — одноплатник, на котором можно запустить Linux
Зачем нам так много серверов?
У каждого сервера своя задача: одни хранят фотки, другие — любые файлы, третьи обслуживают соцсети, четвёртые нужны для работы госучреждений, на пятых крутятся игровые комнаты и так далее.
Общее правило такое — под более-менее важную для проекта задачу делают отдельный сервер. А так как задач у людей много, то и серверов, которые решают эти задачи, тоже много.