Hacker News Digest

Тег: #vercel

Постов: 2

Serverless Horrors (serverlesshorrors.com) 🔥 Горячее 💬 Длинная дискуссия

Сборник коротких серверлес-кошмаров

  • $1189 – Webflow снял за месяц вместо $69.
  • $100 000 – DoS на игровом сайте → счёт за Firebase за сутки.
  • $738 – Vercel Pro + лимит $120 ≠ защита от «сюрприза».
  • $70 000 – Проснулся с таким счётом за Firebase при тарифе $50.
  • $22 640 – BigQuery на публичных данных.
  • $250/мес – 9 тыс. просмотров в Framer.
  • $1274 – AI Devin случайно устроил ддос в PostHog.
  • $530 – Платный PostHog после нулевого периода.
  • $384 – Документация на Mintlify.
  • $103 – AWS Free Tier ловушка.
  • $96 281 – Vercel: «я просто молчу».
  • $120 000 – Cloudflare выключает сайт, требуя деньги за сутки.
  • $1301 – Пустой приватный S3 + ддос.
  • $11 000 – Mailgun во время атаки.
  • $104 500 – Письмо от Netlify «переплата».
  • $23 000 – Спам-атака на EchoFox в Vercel.
  • $3000 – Тестовый деплой в Vercel.
  • $620 – Sitemap.txt сожрал трафик.
  • $72 000 – Тест Firebase + Cloud Run чуть не разорил.

Хочешь поделиться своим счётом-ужасом — пиши в твиттере или PR на GitHub.

by operator-name • 07 сентября 2025 г. в 11:00 • 542 points

ОригиналHN

#serverless#firebase#vercel#bigquery#posthog#aws#cloudflare#s3#mailgun#netlify

Комментарии (406)

  • Пользователи делятся историями о «серверлес-ужасах» — внезапных счетах за десятки и сотни тысяч долларов из-за DDoS, ошибок в конфигурации или забытого ресурса.
  • Критика сосредоточена не на технологии serverless, а на модели оплаты «плати за использование» без жёстких потолков: бюджет — лишь уведомление, а не отключение.
  • Многие считают, что провайдеры могли бы автоматически отключать сервис при превышении лимита, но не делают этого, теряя деньги на «ошибках» новичков.
  • Участники советуют: ставить rate-limit, использовать VPS с фиксированной ценой, поднимать bare-metal или хотя бы включать billing-alerts и «пауz-лимиты» вроде Vercel.
  • Поддержка AWS/GCP/Azure часто прощает счета после публичных твитов, но это выживший эффект: официальной политики нет, и никто не гарантирует прощение.

Next.js is infuriating (blog.meca.sh) 🔥 Горячее 💬 Длинная дискуссия

Next.js выводит из себя

Наконец-то написал пост: злость лучший мотиватор.
В $COMPANY упал сервис на Next.js, а логов в проде нет. Задача — добавить логирование.

Middleware
Дока обещает: «Middleware выполняется до рендера, удобно для логов».
Пробуем pino + AsyncLocalStorage:

// middleware.ts
export async function middleware(req: NextRequest) {
  LoggerStorage.enterWith(requestLogger());
  logger()?.debug({ url: req.url }, "start");
  return NextResponse.next();
}

Запускаем — логи летят в браузер. Почему? Runtime по умолчанию edge. Меняем на nodejs — в новом проекте работает, в боевом нет.

Страницы и layouts
Пишем в компоненте:

logger()?.info("from page");

Тишина. logger() возвращает null: рендер и middleware живут в разных async-контекстах.

Решение
Передаём requestId через заголовки:

// middleware.ts
const id = crypto.randomUUID();
loggerInstance.child({ requestId: id }).debug("start");
return NextResponse.next({ headers: { "x-request-id": id } });
// page.tsx
const id = headers().get("x-request-id");
loggerInstance.child({ requestId: id }).info("from page");

Итог: чтобы просто логировать, нужно городить костыли через заголовки.

by Bogdanp • 02 сентября 2025 г. в 06:57 • 795 points

ОригиналHN

#nextjs#typescript#middleware#pino#reactjs#remix#vercel#vite#django#rails

Комментарии (445)

  • Пользователи жалуются на игнорирование сотен старых issue, перегруженность абстракциями и постоянные «канареечные» решения, которые не доходят до продакшена.
  • Сообщество считает Next.js «самой худшей» технологией: сложно понять, где выполняется код, нельзя цепочкой middleware, а апи-шлюзы выглядят «как будто их писали выпускники буткемпа».
  • Разработчики предлагают уходить на Remix, React Router v7, Nuxt, SolidStart, Deno Fresh или даже «чистый HTML/CSS» ради простоты и контроля.
  • Представитель Vercel признаёт DX-проблемы и обещает улучшения, но многие уже мигрируют на Vite или Django/Rails/Phoenix.