Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Netlify stanovitsya polnostekovym predstavlyaem netlify server
Dev48
info@dev48.org+375 29 320-40-96WhatsApp@isky_by

© 2026 · Все права защищены.

Netlify становится полностековым: представляем Netlify Server

Источник: Netlify•10 ноября 2026 г. в 18:12

Netlify становится полностековым: представляем Netlify Server

Долго работающий сервер Node.js для вашего бэкенда: WebSockets, приложения реального времени, агенты ИИ и состояние в памяти, развертываемые так же, как и остальная часть вашего проекта Netlify.

Более десяти лет назад компания Netlify поставила перед собой задачу изменить подход разработчиков к созданию веб-приложений. Мы заменили ручную подготовку серверов и общие стейджинг-окружения на рабочий процесс, в котором каждое изменение получало собственное изолированное окружение предварительного просмотра, каждый деплой выполнялся атомарно в глобальной рубежной сети (edge), а неудачное развертывание можно было мгновенно откатить.

Командам нравилось развертывать свои фронтенд-приложения на Netlify, но большинство бэкендов по-прежнему размещались где-то еще, и их деплой был совершенно другим опытом. Это означало борьбу с Dockerfile и Kubernetes, применение патчей безопасности, настройку серверов и их масштабирование. Мы постоянно слышали от наших клиентов один и тот же вопрос: как применить простоту и скорость Netlify ко всему стеку?

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

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

Сегодня мы представляем Netlify Server — долго работающий сервер для бэкенда вашего приложения. Он дает вашему приложению все, что может делать сервер, от WebSockets до состояния в памяти, избавляя вас от всей работы по его запуск. Вы создаете, просматриваете и развертываете его точно так же, как и остальную часть вашего проекта Netlify, а все остальное мы берем на себя.

Netlify Server доступен в рамках раннего доступа уже сегодня.

Зачем нужен сервер

Мы запустили Netlify Functions еще в 2018 году с простой идеей: вы помещаете файл JavaScript в свой проект и получаете бэкенд-эндпоинт, который собирается, просматривается и развертывается вместе с вашим фронтендом, без необходимости управлять сервером. Мы продолжили развивать эту базу, выпустив Edge Functions для быстрого выполнения операций рядом с вашими пользователями, Background Functions для асинхронных задач, которые могут занимать несколько минут, и Scheduled Functions для периодических заданий. Сегодня наша платформа обрабатывает сотни миллионов запросов функций в день, обеспечивая работу всего — от хобби-проектов до сайтов некоторых крупнейших компаний мира.

Так зачем же создавать сервер? Потому что функции построены вокруг идеи, что каждый вызов обрабатывает один запрос. Функция во многом похожа на торговый автомат, где каждого обслуживают отдельно, по одному за раз.

Часто это именно то, что вам нужно, и это во многом делает функции такими простыми для масштабирования и понимания. Но это начинает мешать, когда ваш бэкенд перерастает набор эндпоинтов и начинает напоминать полноценное приложение:

  • Ожидание стоит дорого. Функция, которая тратит десять секунд на ожидание завершения ответа модели ИИ или удерживает сеанс открытым, пока пользователь печатает свое следующее сообщение, занимает целый экземпляр в течение этих десяти секунд, практически ничего не делая. Сто человек, одновременно общающихся с вашим приложением, обычно означают сто сред выполнения, каждая со своим холодным стартом, своей памятью и своими соединениями с базой данных.
  • Соединения не могут оставаться открытыми. Функция отвечает и завершает работу, поэтому она не может удерживать соединение WebSocket открытым. Это исключает двустороннюю связь, на которой строятся многопользовательские игры, редакторы для совместной работы и живой чат, где каждый участник видит действия других по мере их возникновения.
  • Состояние не сохраняется. Пулы соединений, кэши и клиенты SDK иногда сохраняются от одного вызова к другому, но вы не можете планировать это заранее, поэтому каждый вызов должен быть готов начать все с нуля.
  • Существующие серверы нуждаются в адаптации. Приложение на Express или Hono должно быть переработано в обработчики или обернуто в адаптер, прежде чем оно сможет работать как функция.

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

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

Создавая Netlify Server, мы вернулись к первопринципам. У бэкендов были такие потребности столько, сколько существует веб, и на протяжении десятилетий они решались с помощью одного и того же инструмента — сервера. Вместо того чтобы изобретать что-то новoe, мы взяли эту модель и создали ее со всем тем, за что Netlify знают и любят. У него тот же рабочий процесс, тот же опыт без конфигурации и те же примитивы платформы, которые вы уже используете для остальной части вашего проекта.

Вы пишете сервер, а Netlify подготавливает его, развертывает на нем ваш код, масштабирует его в соответствии со спросом и следит за его работой. Когда им никто не пользуется, он масштабируется до нуля.

Под капотом экземпляр вашего сервера представляет собой долгоживущий процесс Node.js, который обрабатывает множество запросов одновременно. Пока один запрос ждет базу данных или модель ИИ, цикл событий обслуживает остальные, поэтому один экземпляр поглощает всплеск трафика, который при использовании функций привел бы к дюжинам холодных стартов.

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

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

Написание сервера

Сервер представляет собой единственный файл netlify/server/index.ts. Вы можете написать его как обработчик запросов с той же сигнатурой, что и у функции Netlify:

import type { Context } from "@netlify/server";

export default async (req: Request, context: Context) => {

return Response.json({ message: `Hello from ${context.geo.city}` });

Или вы можете использовать сервер Node.js, созданный с помощью Express, Hono или Fastify, в исходном виде, без каких-либо оберток или адаптеров:

import express from "express";

import { Pool } from "pg";

import { getConnectionString } from "@netlify/database";

const app = express();

const db = new Pool({ connectionString: getConnectionString() });

app.get("/api/orders/:id", async (req, res) => {

const { rows } = await db.query("SELECT * FROM orders WHERE id = $1", [req.params.id]);

res.json(rows[0]);

app.listen(process.env.PORT);

Вам не нужно настраивать порты, добавлять эндпоинты проверки работоспособности (health check) или устанавливать адаптеры. Netlify сама определяет, как запустить ваш сервер, и берет остальное на себя.

То же самое относится и ко всем примитивам платформы: Netlify Database, Netlify Blobs, AI Gateway, Cache API и другие работают «из коробки».

Поскольку это часть вашего проекта, она собирается и развертывается вместе со всем остальным. Каждый деплой ветки и каждый Deploy Preview запускает собственную версию вашего бэкенда с собственной веткой вашей базы данных, поэтому пул-реквест, который одновременно изменяет ваше API, вашу схему и ваш пользовательский интерфейс, можно проверить в одном месте, по одному URL.

Экземпляры, которые вы видите и контролируете

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

Мы предоставляем хуки жизненного цикла на протяжении всего времени работы экземпляра. onStart срабатывает при запуске экземпляра до того, как он начинает получать трафик, что позволяет вам подготовить его к работе. onHealthCheck выполняется во время обслуживания и позволяет сообщать о загруженности вашего сервера на основе ваших собственных метрик, таких как размер очереди задач. А onShutdown запускается перед остановкой, позволяя вам выгрузить из памяти все необходимое перед выходом.

import { onStart, onHealthCheck, onShutdown } from "@netlify/server";

const queue = new JobQueue();

onStart(() => queue.start());

onHealthCheck(() => ({

utilization: { job_queue: queue.size / MAX_JOBS },

onShutdown(async ({ drained }) => {

await drained;

await queue.drain();

export default async (req: Request) => {

queue.add(await req.json());

return new Response("Queued", { status: 202 });

Netlify автоматически масштабирует ваш сервер, поэтому он успевает справляться с нагрузкой, не задействуя больше экземпляров, чем необходимо. Вместо того чтобы ориентироваться только на использование ЦП, мы считываем различные сигналы из среды выполнения JavaScript и вашего приложения, чтобы определить, когда у экземпляра есть ресурс для новых задач, а когда пора запускать следующий.

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

Что вы можете создать

Netlify Server открывает целый мир вариантов использования, которые раньше было невозможно или непрактично реализовать на Netlify. Мы сами используем его уже некоторое время, и это поистине вдохновляет — наблюдать за всеми теми удивительными и креативными вещами, которые создают люди.

Команды по всей компании Netlify используют Server для решения самых разных задач, и во многих случаях они заменили целые сторонние продукты инструментами собственной разработки, такими как Agent Runners и другие ИИ-агенты.

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

Интерактивное сотрудничество в реальном времени

Сервер может удерживать открытое WebSocket-соединение с каждым посетителем в комнате и передавать каждое изменение остальным в тот момент, когда оно происходит. Благодаря Netlify Database в качестве единого источника правды несколько экземпляров могут обслуживать одну и ту же комнату без рассинхронизации.

Элад создал Live Rooms именно таким образом. Это интерактивная доска, где несколько человек могут одновременно перемещать заметки в одной комнате. Hearthlight, созданное Ювалем, применяет те же идеи к виртуальному игровому столу для игры в Dungeons & Dragons с друзьями онлайн. А Уэйд поразил нас игрой Quiver Hollow, многопользовательским шутером от первого лица, где вы бегаете по небольшой долине с луком и пытаетесь пережить других лучников, как людей, так и ИИ.

ИИ-агенты и долго выполняющиеся задачи

Постоянно работающий процесс может выполнять цикл агента столько времени, сколько требуется, сохранять рабочее состояние в памяти между шагами и передавать прогресс на страницу через WebSocket, одновременно обслуживая других посетителей. То же самое справедливо для любой задачи, ожидающей ответа от модели, причем доступ к моделям и их хранение обеспечивают AI Gateway и Netlify Database.

Элад создал персонального ИИ-ассистента, с которым можно общаться в Telegram. Он запоминает информацию о вас, устанавливает напоминания, следит за изменениями на страницах и ищет информацию в интернете. Сервер выполняет цикл агента, Netlify Database хранит его память и расписание, а AI Gateway предоставляет модель, поэтому управлять ключами API не требуется.

Tokyo Now — это гипнотическая пиксель-арт карта всего, что происходит в Токио прямо сейчас. Каждые пять минут сервер собирает данные из объявлений, новостей и социальных сетей, пропускает их через ИИ-модель и передает все изменения на открытые страницы в течение нескольких секунд. Также существует step-by-step, и все, что за ним стоит, включая очередь задач и базу данных, работает на Netlify.

Где уместен сервер

Вы можете задаться вопросом: не означает ли запуск сервера, что Netlify отказывается от композитных архитектур и возвращается к тем самым монолитам, от которых мы начали избавляться более десяти лет назад? Ответ: нет, абсолютно нет.

Мы по-прежнему считаем, что ваш бэкенд и его бизнес-логика не должны диктовать условия веб-интерфейсу, что проектирование на основе API — это правильный способ их связи, и что для каждой задачи нужно использовать лучший инструмент экосистемы. Граница Netlify (edge) по-прежнему обслуживает ваши статические ассеты, выполняет edge-функции и кеширует ответы до того, как запрос дойдет до вашего сервера.

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

Netlify Server также не заменяет функции. Сервер создан для обработки трафика вашего приложения как единый процесс, объединяя ваши маршруты, связующее ПО (middleware), состояние, логику запуска и остановки в одном месте. Функции выполняют отдельные независимые задачи, которые запускаются и масштабируются самостоятельно, такие как вебхук, запланированная задача или действие, выполняемое по завершении деплоя. Edge-функции работают вблизи ваших посетителей и изменяют запросы и ответы «на лету».

Дополнительные сведения о том, когда использовать сервер, функцию или edge-функцию, см. в разделе «Когда использовать сервер» в документации.

Доступно в рамках раннего доступа уже сегодня

Netlify Server доступен сегодня в режиме раннего доступа (Early Access) для тарифных планов с кредитами и планов Enterprise с включенными кредитами. Для сборки и запуска сервера локально вам понадобится Netlify CLI версии 27.17.0 или выше. Если вы разрабатываете с помощью агента кодирования, выполните команду netlify init в вашем проекте, чтобы получить последние навыки агента.

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

Во время раннего доступа сервер масштабируется до 3 экземпляров (1 на бесплатных и персональных тарифах) и всегда уменьшает количество экземпляров до нуля через 5 минут отсутствия запросов. После завершения раннего доступа вы сможете поддерживать минимальное количество работающих экземпляров, чтобы запросам никогда не приходилось ждать запуска вашего сервера. Полный список ограничений приведен на странице ограничений в документации.

Использование Netlify Server в период раннего доступа является бесплатным. Тем не менее, мы хотим заранее сообщить, как будет работать ценообразование после достижения стадии General Availability. Использование будет тарифицироваться по двум метрикам: зарезервированная память (в ГБ ОЗУ в час) и активное время ЦП (в часах vCPU) по тарифам, которые мы объявим до GA. Мы можем скорректировать эти метрики по мере получения опыта в ходе раннего доступа.

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

Что дальше

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

Тем временем нам не терпится увидеть, что вы создадите с помощью Netlify Server. Чтобы начать, перейдите к документации, которая поможет вам создать ваш первый сервер, запустить его локально и развернуть. Руководства также содержат готовые подсказки для Agent Runners, поэтому вы можете попросить агента создать для вас рабочий пример всего в пару кликов.

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

← Все статьи

О чём эта статья

Ещё в разделе «Разработка ПО»

Все →
Передача KubeRay в CNCF
Anyscale

Передача KubeRay в CNCF

Агенты принятия решений CleverAI™: персонализация в режиме реального времени 1:1 для каждого взаимодействия с клиентом
Clevertap

Агенты принятия решений CleverAI™: персонализация в режиме реального времени 1:1 для каждого взаимодействия с клиентом

Каждая секунда на счету: Интеграция в здравоохранении
MuleSoft

Каждая секунда на счету: Интеграция в здравоохранении

Оригинальный контент в соцсетях: его сложнее найти, но брендам важно им овладеть
Sprout Social

Оригинальный контент в соцсетях: его сложнее найти, но брендам важно им овладеть

Как создать сайт для аренды жилья по шаблону: пошаговое руководство
Guesty

Как создать сайт для аренды жилья по шаблону: пошаговое руководство

Как синхронизировать календарь Airbnb с Vrbo и Booking.com
Guesty

Как синхронизировать календарь Airbnb с Vrbo и Booking.com

Ещё от Netlify

Edge Functions стали в 5 раз быстрее: от изолятов V8 к MicroVM Firecracker
Netlify

Edge Functions стали в 5 раз быстрее: от изолятов V8 к MicroVM Firecracker

Новые уточняющие вопросы в Agent Runners
Netlify

Новые уточняющие вопросы в Agent Runners

Участвуйте в челендже WebMCP от OpenAI вместе с Netlify
Netlify

Участвуйте в челендже WebMCP от OpenAI вместе с Netlify

Мероприятие Build with Netlify прошло в Атланте
Netlify

Мероприятие Build with Netlify прошло в Атланте

Репозитории Cursor Origin собираются, тестируются и развертываются на Netlify
Netlify

Репозитории Cursor Origin собираются, тестируются и развертываются на Netlify

Как мы создали Git-хранилище для миллионов проектов на Netlify
Netlify

Как мы создали Git-хранилище для миллионов проектов на Netlify