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

Программное обеспечение Интернета

Каждый сервис требует своего программного обеспечения (в общем виде структура программного обеспечения Internet приведена на рис.18.11).

Интернет построен на основе архитектуры «клиент-сервер». В сетях этого типа выделяется мощный хост-компьютер (или даже несколько хост-компьютеров), на который ставится серверное программное обеспечение.

На клиентских ЭВМ устанавливается клиентское программное обеспечение.

Хост-ЭВМ постоянно включены, имеют постоянные IP-адреса. Клиентские ЭВМ включаются по мере необходимости, связываются с серверным программным обеспечением хост-ЭВМ, получают от него времен-ный IP-адрес, действующий только в пределах данного сеанса связи.

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

Из рис.18.11видно, что программное обеспечение Интернета состоит из трех видов программ: серверное ПО, клиентское ПО и ПО систем безопасности. Серверное ПО устанавливается на хост-компьютерах, клиентское — на локальных ЭВМ (т. е. на ЭВМ клиентов). ПО систем безопасности может не соответствовать архитектуре «клиент-сервер».

Системы безопасности либо устанавливаются на клиентской ЭВМ или только на хост-ЭВМ, либо для них выделяется отдельная ЭВМ, на которой устанавливаются специализированные программы, обеспечивающие безопасность, — такие программы называются «брандмауэрами», или

Рис. 18.11. Структура программного обеспечения Internet (общий вид)

«firewall» (эти названия заимствованы у пожарных, которые требуют, чтобы при строительстве длинных домов производилось их разделение на части и одна часть от другой отделялась каменной стеной, основное назначение которой — не допустить распространения огня на всю постройку при возгорании одной из ее частей). Программы безопасности являются аналогами такой стены между ЭВМ пользователей и Интернетом. Они могут быть настроены так, чтобы полностью разрывать связь между ЭВМ и Интернетом, могут допускать одностороннюю связь (например, разрешена только отправка почты с локальной ЭВМ) или разрешать двустороннюю связь только для определенных видов работ. Кроме того, может быть запрещено выполнение каких-либо действий.

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

В клиентском программном обеспечении необходимо обратить внимание на VRML-браузеры, позволяющие просматривать виртуальные миры, работать в трех измерениях (в двух измерениях по экрану можно перемещаться вверх-вниз и вправо-влево; в трех измерениях, кроме этого, добавляется возможность приближаться к экрану или удаляться от него). VRML-браузеры — это клиентское программное обеспечение. В Ин-тернете есть несколько сайтов с серверами VRML и своеобразными виртуальными мирами.

Читайте также:  Признаками сети интернет является наличие

Как на клиентских ЭВМ, так и на хостах могут быть размещены программы, расширяющие возможности серверов и клиентов. Для написания таких программ применяются специальные алгоритмические языки: HTML, PHP, система программирования CGI, Java, Java-script, Perl, SSI и др.

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

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

Источник

Серверное программное обеспечение

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

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

На серверах, служащих для размещения сайтов, наиболее популярны безопасные и стабильные операционные системы семейства Linux (CentOS, RHEL, Debian и др.) и BSD (FreeBSD). Microsoft Server тоже встречается, но значительно реже.

Популярные пакеты серверного ПО

Веб‑сервер. ПО, позволяющее принимать запросы пользователей, обрабатывать их и отправлять пользователям результаты обработки (html-страницы и другие файлы). Наиболее популярные веб‑серверы — это Nginx и Apache, значительно менее распространен Microsoft IIS. Иногда с целью увеличения производительности устанавливается два веб‑сервера: быстрый Nginx, который отдаёт пользователям «статику» (физически существующие на сервере документы, не требующие обработки перед отправкой), а остальные запросы переадресовывает серверу приложений (Apache, например), который занимается генерацией динамических документов. Существуют и другие производительные связки (Nginx + FastCGI, например), о рациональности использования той или иной реализации лучше проконсультироваться с разработчиками приложения и администраторами серверов.

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

СУБД — система управления базами данных: MySQL, PostgreSQL, MS SQL, Oracle, Redis, MongoDB и т.д.

Поисковые системы — ElasticSearch / Sphinx — позволяют осуществлять поиск и фильтрацию быстрее, нежели это возможно с использованием реляционных СУБД.

FTP‑сервер. Позволяет получать доступ к файлам, расположенным на сервере по протоколу FTP. Как правило, используется для администрирования сайта (как для обновления программного кода приложения, так и для загрузки объёмных файлов, которые нельзя загрузить через админку). Более безопасной альтернативой FTP является SFTP, протокол базирующийся на SSH и позволяющий шифровать передаваемые и получаемые данные.

Читайте также:  Безлимитный интернет домашний регион мтс

Кеширующие сервера — системы, «запоминающие» результат обработки запросов и использующие эти данные при повторных обращениях для ускорения генерации страниц. Наиболее популярные кэширующие механизмы — Memcached и Redis.

ПО для обеспечения безопасности — от обычных брандмауэров (что обязательно) до автоматизированных систем обнаружения и предотвращения вторжений.

Софт для резервного копирования — бэкапы должны создаваться регулярно и автоматически, а также хранится не на том же сервере, где расположены «боевые данные».

Балансировщики нагрузки — обычно это веб‑серверы, которые проксируют обращения клиентов на разные узлы, занимающиеся обработкой запросов, обеспечивая равномерное распределение нагрузки по кластеру. Также балансировщики отрабатывают инциденты отказа софта или железа на узлах обработки данных — если узел перестаёт корректно обрабатывать данные, то он исключается из списка балансировки.

Ускорители исполнения программного кода. Служат для повышения производительности, часто используемые ускорители для PHP: APC, eAccellerator, XCache.

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

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

Рекомендации

  • При выборе виртуального хостинга сопоставьте технические требования используемой вами системы управления или веб‑приложения и список возможностей тарифного плана.
  • При разработке веб‑приложений старайтесь минимизировать количество зависимостей и не расширяйте технологический стек без необходимости — большое количество используемых технологий повышает риски и усложняет процессы сопровождения.
  • Используйте инструменты, которые наиболее хорошо подходят для решения задач, например: для поиска — поисковые системы, а не реляционные СУБД; для кэширования — Redis / Memcached, а не файловую систему; для нагруженных сервисов компилируемые, а не интерпретируемые языки программирования.
  • При настройке серверного ПО конфигурируйте сервисы, основываясь на мощности используемого оборудования. Очень часто используемые по умолчанию конфигурации либо не используют в должной мере имеющиеся вычислительные ресурсы, что снижает общую производительность, либо, напротив, в пик нагрузки могут выйти за рамки имеющихся мощностей, что потенциально приведёт к аварийной остановке сервисов.
  • «Запрещено всё, что явно не разрешено» — этот принцип информационной безопасности существенно снижает угрозы. Закрывайте неиспользуемые публично порты, старайтесь минимизировать количество служб, расположенных в DMZ, урезайте права учётных записей до уровня, необходимого для выполнения возложенных задач.
  • При использовании выделенных серверов (в т.ч. и виртуальных) обеспечьте своевременное обновление ПО, это залог стабильности работы и безопасности.
  • Автоматизируйте резервное копирование. Бэкапируйте не только данные, но и конфигурации используемых сервисов.
  • Для упрощения настройки используйте системы управления конфигурациями, например, Ansible.
  • Настройте мониторинг как оборудования, так и программных сервисов. Это упрощает разбр инцидентов, позволяет превентивно решать часть проблем и ускоряет реакцию на сбои.
  • Не размещайте почтовые сервисы на том же сервере, где размещаете сайт. Самое простое решение для размещения почты — воспользоваться специальными сервисами Яндекса ( connect.yandex.ru ) или Google ( google.com/apps ), эти службы по качеству сервиса превосходят многие «почтовые» тарифы хостингов и практически все «самодельные» решения.
Читайте также:  Символ сервисов сети интернет

Тематические статьи

Реляционные базы данных и NoSQL‑хранилища

Базы данных служат для хранения и обработки данных. Бывают реляционные (SQL) и нереляционные (NoSQL) системы управления базами данных.

Реляционные системы управления базами данных (SQL) хранят данные в табличных структурах и чаще всего используются в качестве основного хранилища для веб‑приложений. Они очень стабильны и их надёжность проверена временем. Нереляционные СУБД (NoSQL) заметно моложе реляционных баз данных, а также заметно от них отличаются по структуре хранения данных и работе с ними. Большинство нереляционных хранилищ превосходят классические SQL СУБД по скорости доступа или при работе со специфическими типами данных, но обычно эта скорость достигается за счёт снижения надёжности хранения. На практике NoSQL‑решения обычно применяются не для хранения всех данных приложения, а для решения специфических задач — для кэширования, хранения логов, управления очередями, для распределённого хранения данных, ускорения поиска и фильтрации.

Хостинг сайтов и веб‑приложений

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

PostgreSQL — система управления базами данных

PostgreSQL — это популярная свободная объектно‑реляционная система управления базами данных. PostgreSQL базируется на языке SQL, отличается высокой надёжность и имеет широкие возможности.

В PostgreSQL нет ограничений на максимальный размер базы данных, количество записей и индексов таблицах. В СУБД встроены мощные и надёжные механизмы транзакций и репликации. Также СУБД отличает легкая расширяемость и возможность онкой настройки.

Источник

Оцените статью
Adblock
detector