Всем привет! Я тут замели, что у next есть api routes. Значит ли это, что для сайтов с простым бекендом можно всю логику писать в этих api routes? Можно ли нормально подключится к базе данных? или лучше вынести бекенд как отдельный сервер?
Да, так и есть
Это одна из прекрасных фишек NextJS, которая появилась относительно недавно, c приходом 9 версии
На этом действительно можно делать бекенд, практически все что угодно
Исключением будут долго-выполняемые задачи на беке. Под «средними» можно считать задачи выполняющиеся больше 10 секунд, и они например уже не входят в бесплатный план zeit, но всё-таки можно их запускать если перейти на платный план, т.е. «не рекомендуется, но можно». А вот «большими» считаются задачи, которые выполняются больше 15 минут, - такие вовсе не поддерживаются, тут serverless не подойдёт (если только не захакать это, разделив большую задачу на несколько поменьше).
В качестве базы данных можно использовать любое решение облачной БД, в том числе на PostgreSQL и MongoDB. Но наиболее подходят те, которые горизонтально расширяемы из коробки. Из таких я могу порекомендовать FaunaDB.