Пять мест, где может жить код
Почти каждый хостинговый продукт на земле — это вариация одной из этих пяти категорий. Изучите их, и маркетинговые страницы перестанут вводить вас в замешательство.
- Статический хостинг — Обычные файлы (HTML (HyperText Markup Language — каркас страницы), CSS (Cascading Style Sheets — стили оформления), JavaScript, изображения), отдаваемые прямо в браузер. Никакой сервер не «выполняет» ваш код; он просто передаёт файлы. Думайте об этом как о папке в интернете. Поскольку тут нечему падать и нечего патчить, это самое надёжное, что можно выложить в интернет. Примеры: GitHub Pages, Cloudflare Pages, Netlify, Vercel (статический режим).
- Edge-функции — Крошечные фрагменты кода, которые выполняются на серверах, физически близких к вашему пользователю, по всему миру. Они запускаются почти мгновенно и отлично подходят для лёгкой логики: проверки авторизации, редиректы, небольшие вызовы (Application Programming Interface — дверь, через которую одна программа общается с другой). Подвох: они работают в урезанном окружении, поэтому не каждая библиотека там заработает. Примеры: Cloudflare Workers, Vercel Functions, Deno .
- Бессерверные функции () — Код, который выполняется по требованию и исчезает в простое. Вам выставляют счёт за запрос, а не за час. Вы пишете функцию; платформа управляет машинами. Прекрасно, пока одному запросу не понадобится работать минутами — большинство платформ обрывают функцию по тайм-ауту (часто 10–60 секунд). Примеры: AWS Lambda, Google Cloud Functions, Vercel Functions.
- Контейнеры — Ваше приложение плюс всё его окружение (правильная версия языка, библиотеки, системные инструменты), упакованное в переносимую коробку под названием контейнер. Платформа поддерживает эту коробку запущенной. Больше контроля, чуть больше настройки. Единственный файл, описывающий эту коробку, —
Dockerfile, и AI пишет их хорошо. Примеры: Fly.io, Railway, Render, Google Cloud Run. - Виртуальные машины () — Целый компьютер, который вы арендуете в дата-центре. Вы сами устанавливаете всё и управляете всем — операционной системой, обновлениями безопасности, веб-сервером, всем этим. Максимум контроля, максимум ответственности. Примеры: AWS EC2, DigitalOcean Droplets, Hetzner.
Если поставить пять категорий рядом, то чем ниже, тем больше вы меняете меньше управления на больше контроля:
МЕНЬШЕ УПРАВЛЕНИЯ ◀────────────────────────────▶ БОЛЬШЕ УПРАВЛЕНИЯ
дешевле без нагрузки больше контроля
┌──────────┐ ┌──────────┐ ┌────────────┐ ┌───────────┐ ┌──────────┐
│ STATIC │ │ EDGE │ │ SERVERLESS │ │ CONTAINER │ │ VM │
│ файлы │ │ функция │ │ функция │ │ ваш ящик │ │ весь ПК │
├──────────┤ ├──────────┤ ├────────────┤ ├───────────┤ ├──────────┤
│ код не │ │ работа │ │ работа по │ │ постоянно │ │ всё сами │
│ работает │ │ на крае │ │ запросу │ │ работает │ │ делаете │
└──────────┘ └──────────┘ └────────────┘ └───────────┘ └──────────┘
Pages Workers Lambda Railway EC2
Грубое правило о стоимости: чем больше платформа делает за вас, тем дешевле, когда вашим приложением никто не пользуется, и тем больше она берёт хлопот на себя, когда им пользуются все.