Inquir Compute logoInquir Compute
Сравнение · Inquir Compute

Альтернатива Supabase Edge Functions: контейнеры вместо Deno-изолятов

Supabase Edge Functions работают на Deno V8-изолятах без нативных Node.js-модулей. Inquir запускает функции в изолированных контейнерах на Node.js 22, Python 3.12 и Go 1.22 с поддержкой нативных зависимостей через слои.

Last updated: 2026-04-20

Direct answer

Альтернатива Supabase Edge Functions: контейнеры вместо Deno-изолятов. Изолированные контейнеры поддерживают любые нативные зависимости через слои. Node.js 22, Python 3.12 и Go 1.22 в одном рабочем пространстве с общим шлюзом и историей вызовов.

When it fits

  • Нужны нативные Node.js-пакеты или Python/Go рантайм
  • Важны cron и пайплайны рядом с HTTP-API в одном рабочем пространстве
  • You want a backend runtime that works without coupling to a Supabase Postgres project

Tradeoffs

  • Если весь стек уже на Supabase и функции только вызывают базу через supabase-js — Edge Functions дают низкую задержку рядом с данными.
  • Глобальная дистрибуция Deno edge важна, когда латентность к пользователям критична и нативные пакеты не нужны.

Когда Supabase Edge Functions ограничивают

  • V8 isolates: no native Node.js modules, no npm packages requiring native bindings
  • No built-in cron scheduling—Edge Functions are invoked, not scheduled
  • Background jobs require external queuing (pg_cron, external workers)
  • Deno runtime means TypeScript-first—Node.js or Python or Go codebases need rewriting

Edge Functions на Deno не поддерживают нативные Node.js-пакеты. Если нужны sharp, puppeteer, pg, numpy или другие пакеты с нативными расширениями — edge-модель не подходит.

Когда Supabase Edge Functions лучше

Если весь стек уже на Supabase и функции только вызывают базу через supabase-js — Edge Functions дают низкую задержку рядом с данными.

Глобальная дистрибуция Deno edge важна, когда латентность к пользователям критична и нативные пакеты не нужны.

Что даёт Inquir вместо Edge Functions

Изолированные контейнеры поддерживают любые нативные зависимости через слои. Node.js 22, Python 3.12 и Go 1.22 в одном рабочем пространстве с общим шлюзом и историей вызовов.

Cron-задачи, вебхуки и фоновые пайплайны — всё в том же рабочем пространстве без дополнительных сервисов.

Что меняется при переходе с Supabase Edge Functions

Рантайм

Deno V8 isolate → изолированный контейнер Node.js / Python / Go с полной поддержкой npm / PyPI / Go modules.

Нативные пакеты

Sharp, puppeteer, pg и другие нативные пакеты устанавливаются через слои без изменения архитектуры.

Шлюз

API-ключи на уровне маршрута, кастомные домены и маршрутизация — без Supabase Auth.

Наблюдаемость

Общая история вызовов для HTTP, cron и пайплайнов в консоли Inquir.

Как перенести функцию с Supabase Edge на Inquir

1

Перенести код

Экспортируйте `handler(event)` вместо Deno serve. Тело запроса приходит как строка в `event.body`.

2

Добавить зависимости через слои

Нативные пакеты — в слой функции; при деплое собираются отдельно от кода.

3

Настроить шлюз

Маршрут с API-ключом и опциональным кастомным доменом вместо Supabase URL.

Supabase Edge Function → Inquir Node.js handler

Supabase uses Deno serve(); Inquir uses a standard async handler export. The Web API surface (Request, Response, fetch) is compatible; environment variables work the same way.

supabase/functions/hello/index.ts (Supabase)
// Supabase Edge Function
Deno.serve(async (req) => {
  const { name } = await req.json();
  const data = { message: `Hello ${name}!` };
  return new Response(JSON.stringify(data), {
    headers: { 'Content-Type': 'application/json' },
  });
});
api/hello.mjs (Inquir)
// Inquir Node.js 22 handler — same logic, different entry point
export async function handler(event) {
  const { name } = JSON.parse(event.body || '{}');
  return {
    statusCode: 200,
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ message: `Hello ${name}!` }),
  };
}

Когда переходить

Когда это уместно

  • Нужны нативные Node.js-пакеты или Python/Go рантайм
  • Важны cron и пайплайны рядом с HTTP-API в одном рабочем пространстве
  • You want a backend runtime that works without coupling to a Supabase Postgres project

Когда лучше не трогать

  • Функция только вызывает Supabase DB и не нуждается в нативных зависимостях

Вопросы и ответы

Как подключиться к Supabase DB из Inquir?

Обычный pg/postgres-клиент через строку подключения в переменных окружения функции.

Поддерживается Deno-совместимый код?

Если код написан без Deno.serve и Deno.env, перенос на Node.js 22 минимален — обычный express-стиль handler.

Inquir Compute logoInquir Compute

Самый простой способ запускать AI-агентов и backend-джобы без инфраструктуры.

Связаться info@inquir.org

© 2025 Inquir Compute. Все права защищены.