~/VibeHandbook
PDF бесплатно

Глава 13 · 01

Пять мест, где может жить код

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

  • Статический хостинг — Обычные файлы (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

Грубое правило о стоимости: чем больше платформа делает за вас, тем дешевле, когда вашим приложением никто не пользуется, и тем больше она берёт хлопот на себя, когда им пользуются все.

Хотите офлайн-версию?

Скачайте всю книгу в PDF или EPUB — бесплатно.