Хостинг, VPS и виртуальные серверы

Курс охватывает основы выбора IT-инфраструктуры: от базового виртуального хостинга до VPS и выделенных серверов [ispmanager.ru](https://www.ispmanager.ru/news/hosting-vps-vydelennye-servery-v-chem-raznica-i-chto-luchshe-vybrat). Особое внимание уделяется российским облачным провайдерам, основам контейнеризации, а также строгим требованиям к хостингу медицинских систем согласно 152-ФЗ [meduzasoft.ru](https://meduzasoft.ru/kak-razrabotchikam-mediczinskogo-softa-vybrat-vps-provajdera-klyuchevye-aspekty/) для обеспечения безопасности данных пациентов [mednmo.ru](https://mednmo.ru/server-ili-oblako-chto-vybrat-dlya-kliniki-ili-laboratorii/).

1. Типы хостинга: Shared, VPS, Dedicated и Cloud

Типы хостинга: Shared, VPS, Dedicated и Cloud

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

Основные типы хостинга

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

| Тип хостинга | Описание | Применение | Примерная цена в месяц | |--------------|----------|------------|------------------------| | Shared hosting (Виртуальный хостинг) | Множество клиентов делят ресурсы одного физического сервера (процессор, память, диск). Изоляция минимальна. | Сайты-визитки, личные блоги, небольшие лендинги с посещаемостью до человек в сутки. | 2–10 долл. | | VPS (Virtual Private Server) | Физический сервер программно разделен на несколько виртуальных машин. Каждому выделены гарантированные ресурсы и собственная ОС. | Корпоративные сайты, интернет-магазины, нестандартные веб-приложения, требующие установки специфического ПО. | 20–80 долл. | | Dedicated hosting (Выделенный сервер) | Клиент арендует физический сервер целиком. Никаких соседей, полный контроль над железом и сетью. | Крупные порталы, игровые серверы, базы данных с высокой нагрузкой, проекты с жесткими требованиями к безопасности. | 80–300+ долл. | | Cloud hosting (Облачный хостинг) | Ресурсы распределены между кластером серверов. Оплата происходит только за потребленные мощности (Pay-as-you-go). | Масштабируемые SaaS-платформы, приложения с непредсказуемым трафиком, стриминговые сервисы. | От 5 долл. до бесконечности |

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

!Аналогия типов хостинга с жильем

Например, если вы запускаете небольшой блог, покупка выделенного сервера за 150 долл. будет избыточной. С другой стороны, размещение высоконагруженного интернет-магазина на Shared-хостинге за 5 долл. приведет к падению сайта в период распродаж из-за исчерпания лимитов оперативной памяти.

Применение в разработке: локальное, тестовое и производственное окружение

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

  • Локальное окружение (Local environment). Это компьютер самого разработчика. Здесь код пишется, компилируется и проходит первичные проверки. База данных и веб-сервер запускаются локально (часто на адресе localhost). Хостинг на этом этапе не требуется.
  • Тестовое окружение (Staging environment). Точная копия боевого сервера, скрытая от обычных пользователей. Сюда выкладывается новая версия проекта для тестирования командой QA (тестировщиками) или демонстрации заказчику. Для staging чаще всего используют недорогие VPS, так как нагрузка на них минимальна, но требуется полное совпадение архитектуры с финальным сервером.
  • Производственное окружение (Production environment). Боевой сервер, доступный конечным пользователям. Именно здесь проект должен работать максимально стабильно. Для production выбирают мощные VPS, Dedicated серверы или Cloud-инфраструктуру с балансировщиками нагрузки, если ожидается трафик запросов в секунду.
  • Разделение окружений гарантирует, что критическая ошибка в новом коде сломает только тестовый сервер, а реальные клиенты этого даже не заметят.

    Настройка домена к хостингу

    Чтобы пользователи могли открывать сайт по красивому имени (например, mysite.com), а не по IP-адресу (например, 192.168.1.15), необходимо связать доменное имя с сервером через систему доменных имен (DNS).

    Процесс настройки отличается в зависимости от типа хостинга:

    Для Shared hosting: Провайдер обычно выдает адреса своих NS-серверов* (Name Servers), например, ns1.hosting.com и ns2.hosting.com. В панели управления регистратора домена достаточно указать эти адреса. Вся дальнейшая маршрутизация настраивается хостером автоматически. Для VPS и Dedicated: Вы получаете «голый» сервер с выделенным статическим IP-адресом. В панели управления доменом необходимо создать A-запись (Address record*), которая свяжет домен с IPv4-адресом сервера.

    Пример настройки DNS-зоны для VPS:

    Обновление DNS-записей по всему миру может занимать от нескольких минут до 24 часов. Это связано с тем, что интернет-провайдеры кэшируют маршруты для ускорения загрузки страниц.

    Настройка доступов: пароли и SSH-ключи

    Управление VPS и выделенными серверами происходит удаленно через командную строку по протоколу SSH (Secure Shell). По умолчанию многие провайдеры отправляют на почту логин (обычно root) и сгенерированный пароль.

    Использование паролей для доступа к серверу считается небезопасным. Боты в интернете круглосуточно сканируют открытые порты и пытаются подобрать пароли методом перебора (Brute-force). Если пароль недостаточно сложный, сервер будет взломан.

    Современный стандарт безопасности — авторизация по SSH-ключам. Этот метод использует асимметричное шифрование.

    !Интерактивная схема аутентификации по SSH-ключу

    Процесс настройки состоит из нескольких шагов:

  • На локальном компьютере разработчика генерируется пара ключей: приватный (секретный) и публичный (открытый).
  • Публичный ключ копируется на сервер в специальный файл ~/.ssh/authorized_keys.
  • Приватный ключ остается на компьютере разработчика и никогда не передается по сети.
  • Генерация ключа в терминале выполняется одной командой:

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

    После добавления публичного ключа на сервер, аутентификация по паролю в конфигурации SSH-службы (/etc/ssh/sshd_config) отключается. Теперь получить доступ к серверу сможет только тот человек, на чьем жестком диске физически находится правильный приватный ключ. Даже если злоумышленник узнает IP-адрес сервера и логин администратора, он не сможет инициировать подключение.