раздел 03
Типы хостинга
Что это
«Хостинг» - это где и как живёт ваш код. Виртуальный сервер - не единственный вариант. Есть платформы, где сервер вообще не виден, а вы просто загружаете код. Разберём основные типы и когда какой брать.
Основные варианты
| Тип | Что это | Когда брать | |---|---|---| | VPS | Виртуальный сервер, всё настраиваете сами | Полный контроль, любой стек, боты, бэкенды | | Dedicated | Целая физическая железка | Высокая нагрузка, особые требования, GPU | | Managed / PaaS | Платформа сама держит сервер (Vercel и др.) | Фронтенд и простые приложения без DevOps | | Serverless | Функции запускаются по запросу, сервера не видно | Редкие или импульсные нагрузки, API-эндпоинты | | Контейнеры / Docker | Приложение в изолированной коробке | Воспроизводимый деплой на любом сервере | | Managed-база | Провайдер держит и бэкапит вашу БД | Не хотите сами администрировать Postgres/MySQL |
Подробнее
VPS. Вы получаете чистый сервер и делаете на нём что угодно: ставите ОС-пакеты, nginx, Docker, базы. Максимум свободы, но и вся настройка и обновления на вас. Это база для большинства проектов из этого курса.
Выделенный (dedicated) сервер. Целая физическая машина под вас. Нужен, когда нагрузка большая, важна стабильная производительность без соседей, или нужен GPU для ML. Дорого, обычно поздний этап.
Managed / PaaS (например Vercel). Вы не видите сервер вообще: подключаете Git, платформа сама собирает и разворачивает. Идеально для фронтенда и простых приложений, когда не хочется заниматься администрированием. Минус - меньше контроля и можно упереться в лимиты или цену на росте.
Serverless. Код оформляется как функции, которые запускаются только когда приходит запрос, и платите вы за вызовы, а не за постоянно включённый сервер. Хорошо для редких или скачкообразных нагрузок. Плохо для долгих фоновых процессов и постоянно работающих ботов.
Контейнеры / Docker. Docker - не отдельный хостинг, а способ упаковать приложение со всеми зависимостями в «коробку», которая одинаково запускается где угодно. На VPS обычно и разворачивают именно контейнеры: docker compose up - и всё поднялось.
Managed-базы. Базу данных можно держать самому на сервере, а можно взять managed: провайдер сам её обновляет, бэкапит и следит за доступностью. Дороже, но снимает головную боль с самой критичной части - данных.
Пример
Сайт-визитка - на Vercel (PaaS), деплой из Git за минуту. Телеграм-бот с фоновыми задачами - в Docker на VPS (Selectel или DigitalOcean), потому что боту нужен постоянно включённый процесс, а не serverless-функция по запросу.
Антипаттерны
- Сажать постоянно работающего бота на serverless. Функции живут коротко, для долгих процессов это неудобно и дорого.
- Идти на dedicated на старте. Дорого и не нужно, пока нагрузки нет.
- Игнорировать PaaS из принципа. Для фронтенда Vercel часто быстрее и проще своего VPS.
Что дальше
Отдельно разберём объектное хранилище и S3 - куда складывать файлы, картинки и бэкапы, чтобы не забивать диск сервера.