Расскажите какой язык используете для бэкенда и почему именно на нем остановились? В каких рамках железа VPS или сервера укладываетесь (приблизительные цифры, например 1gb ОЗУ, на node.js, при 10К хостов в день)? Или с какого железа начинали?
Будет полезна любая информация, пока просто не могу определиться с языком, рад любому опыту. .... Когда-то (очень давно, лет 10 назад) был проект на пхп, который укладывался на сервере, где-то в 3-4ГБ, при 35К хостов в день, но код там был очень плохой.
>>3170715 Не ебёшь мозги с конфигурацией, балансировкой, ООМ и прочим. Легко переносишь свою хуйню с одной платформы на другую. Не то, чтобы это нельзя было сделать на своей ВПСке, просто для большинства петов можно шит-тир найти, который тебе выйдет в нолину и будет его достаточно.
>>3170217 (OP) >Расскажите какой язык используете для бэкенда Java >и почему именно на нем остановились? Потому что знаю его хорошо >при 10К хостов в день не знаю что это за метрика, выдает только обсервабилити какое-то
зависит от того, что тебе нужно от сервера, но в целом в джаве можно ужаться очень сильно по потреблению, скорее ближе к 100 - 200 МБ, а ZGC говорят очень отзывчивый
>>3171459 >не знаю что это за метрика, выдает только обсервабилити какое-то Эквивалент serve. Грубо говоря сколько раз в день реквестов было обработано. Метрика ненадежная т.к. до 90% трафика - боты/кравлеры
>>3171459 >не знаю что это за метрика, выдает только обсервабилити какое-то Метрика 🐗猪🐗чиков из прошлого десятилетия, когда мелкий бизнес имел сайт и дрочил на СЕО.
>>3171541 >Обычно под "можно" стоит дикий бубнопляс, не? Ну я бы не сказал, обычно достаточно не брать тяжёлые фреймворки и явно задать верхнюю границу потребления памяти, это для стандартного реста/шаблонизатора. Но конечно можно копать сколько угодно, контейнер 60 мб размером, zgc, garbage-free и так далее, сколько интересно.
>>3171571 >>3171544 Спасибо, а ну если это 10к уникальных посетителей в день, то легко на паре сотен мегабайт. Честно говоря с этим любой язык справится, хз чего тут выбирать.
>>3170217 (OP) >>3170715 Я вообще даже не задумываюсь о таких вещах. Все сайты в лямбдах/бессерверных функциях. Ржу над мифами типа оверпрайс и $500 в месяц. Нужно очень-очень-очень-очень сильно постараться, чтобы вышла такая сумма. $500 на лямбдах? Ты монстр. Это надо пол-интернета обслужить. Даже не думаю о оперативке, ОС, вся инфраструктура разворачивается скриптом. Основные расходы - это нейронки, база данных, кеш. Пишу на rust/typescript.
>>3170217 (OP) У меня все мои скрипты и все-все работает на ноде на впске с 2гб оперативы и 2ядрами, там же MySQL крутится, но в основном в SQLite пишу все.
Крутится десяток телеграм ботов с небольшим юзаджом - до 5к сообщений в день.
Крутится пару интернет магазов самописных и интеграций со всякими платежками.
Хз что считать хостами, если чисто посещения считать - то по всему где-то 15-20к в день, на мониторах нагрузки 0.
Но у меня нет прям сложной логики - там жсоны из одного места в другое поперекладывать и таблички сджойнить и выплюнуть, да и закрыто все nginx и cloudflare.
>>3171647 >серверлессом для чего-то простого Это вообще никак не связано. Простой или сложный - зависит только от твоего полёта фантазии. Для ботов конечно не пойдёт, т.к. там надо постоянное открытое соединение держать.
>>3171745 Ой бля, в общем контексте, функции это наименее затратная область. Что дороже, какой-нибудь textract, который стоит $15 за 1,000 документов. Или лямбда, $0,20 за миллион запросов? Дороги не сами бессерверные функции, а дорого то что они вызывают. Набегает в основном за побочные сервисы, за ключи шифрования, за базу данных, за graphql, за нейронки. Я не знаю почему у вас такая пиздец фиксация на функциях, нейронки дороже намного. Как и step functions и многое другое.
>>3171773 Ты молодец, что баззвордов накидал. Но в итоге забыл, что помимо просто вызово функции базово биллятся еще время, сколько она работает, оператива, которую оно жрет, egress и еще всякая хуйня.
В итоге набегает довольно внушительная сумма
> graphql Я хз в каком плане ты собрался платить за язык запросов, или ты про сервисы, которые типа гейтвей поверх клауд функций?
Тут тоже хуйня выходит, у меня буквально на проекте с 20к юзеров постоянных во внутренние сервисы через гейтвей за день прилетает лям запросов, а там еще джобы всякие и тп.
С клауд функциями у тебя счет набегает такой, что охуеть можно. Даже амазон со своей инфраструктурой хуй к носу прикинул и понял, что лямбды дохуя дорого выходит и часть сервисов обратно на тачки перевез
>>3172137 >Я хз в каком плане ты собрался платить за язык запросов, или ты про сервисы, которые типа гейтвей поверх клауд функций? Да, про это.
>у меня буквально на проекте с 20к юзеров постоянных во внутренние сервисы через гейтвей за день прилетает лям запросов 30 x $0.2 = $6 в месяц за лямбду + 30 x $0.9 = $27 за гейтвей, это не так дорого. Ты примерно столько же платишь за впс. По крайней мере, как выёбываться зарплатами, то тут каждый первый по 300к получает, не меньше.
>Даже амазон со своей инфраструктурой хуй к носу прикинул и понял, что лямбды дохуя дорого выходит И чё раз амазон так решил, теперь всем на впс переходить и на кубер? А ты попробуй на своей впс сделай так: возьми 10 тысяч сайтов для обхода. Запустить puppeteer и обойди их все. Я могу за 10 секунд отскрапить все 10к в параллели, просто отправлю таск в очередь и лямбда тут же отработает. У всего есть свои минусы, но это не значит что use case'ов нет.
>>3172745 >И тут не прав. В hetzner и digitalocean это стоит 2-3 евро. Ну и пользуйся ради бога, я же тебя не заставляю уходить. Если где-то в польше или в африке ты нашёл за пол-доллара или бесплатный впс, да и ради бога. Какбе я тебя ни к чему не принуждаю - просто описываю свой лично опыт. Схуяли я не прав? Для конкретно моей задачи всё подходит идеально.
>>3172742 >ключевое отличие обычного бизнеса созданного на свои, а не венчурные деньги Я также на свои делаю! И ничё, не умер, не лежу в подворотне, обосранный с бутылкой водки. Как видишь, счёт на $100к не пришёл, хотя мне постоянно пророчат обратное.
>>3172185 >По крайней мере, как выёбываться зарплатами, то тут каждый первый по 300к получает, не меньше. то есть лямбды для флекса зарплатами на самом деле?
>>3172781 Ты видимо не пуганный и не видел что могут творить боты в инете. Я уже молчу про дос/ддос атаку. Если на дедике ты просто полежишь (а иногда дц может и помочь), то на облаках ты еще и оплатишь все это.
>>3170217 (OP) Сейчас попробовал через jmeter замерить локальный сервак на javalin`е пачкой в 100к запросов в 10 тредов = 20к rps, потребление памяти 100 МБ, в пике потребление 8% от моего старого 3570К Все что сделал - это java -Xmx64m
>>3170217 (OP) Go (Gin): Прекрасно себя зарекомендовал в высоконагруженных проектах. Использовал на VPS с 1GB RAM и 1 CPU для обработки более 20K хостов в день, благодаря высокой производительности Go и его эффективности в использовании ресурсов.
>>3173711 В древние времена с такой нагрузкой справлялись PHP сайты на серверах-впс с 256гб оперативы
Но я не понимаю, что за жлобство, иметь ресурс с трафиком, и держать его на 1гб оперативы. Времена другие, чем 15 лет назад, хостинг ничего не стоит. Это же каким ментальным нищуком надо быть.
Купить вариант на 8Гб, ну если прямо совсем нищий, то 4гб.
Это если проект деньги не приносит, чисто для себя.
>>3173121 да пиздит он, вообще ничего про реальность не знает
Про эти 1-10 долларов в месяц смешно читать. Когда реальный бизнес, завязанный на интернете, там не бывает счетов в 1000 долларов в месяц. Там легко на десятки тысяч долларов в месяц всё идёт.
Амазон от AWS в 2023 году 90 миллиардов долларов получил. Это revenue. А число бизнесов меньше 2 миллионов. Считай свыше 50 тысяч долларов в год средний бизнес тратит
Там просто другая логика работает, когда бизнес. Вот ты американский бизнесмен, тратишь 100 тысяч на счета Амазона. Но у тебя работает несколько айтишников, у каждого зарплата больше.
Лучше платить 100 тысяч вместо 20, но держать на пару человек меньше.
>>3173711 Звучит интересно. Тоже стал копать в сторону го, джава и шарпы мне показались прожорливые (хотя это может по началу так, а там выравнивается).
Я только не понял в го (gin) можно ограничить количество горутин, чтобы по памяти не вылететь на банальной dos-атаки? Или это делать средствами nginx (не помню, вроде можно).
>>3173757 Речь про "реальный" (?) бизнес не шла, я рассказываю про лично свой опыт. Если у кого выходит десятки тысяч долларов - причём здесь я? Твои ожидания не надо проецировать на меня. Я же не говорю, а чё у тебя хостинг не как у газпрома? Вон газпром миллионы долларов тратит и ты должен тратить миллионы долларов как они. Смешно читать про твои $10 в месяц, фейсбук вон вообще по миллиону в час тратит и ничего. Какие у кого потребности, такая и плата. У меня есть клиент, который $800-1200 тратит, а есть который $30,000 в месяц платит. А есть который $1,8 платит. У них разные потребности, некоторые не пытаются экономить, поэтому у них дорого выходит.
>>3174334 Как бы когда ты думаешь об экономии 1000 долларов в месяц вместо 2000, это понятно. Хотя по меркам бизнеса это не деньги, меньше зарплаты одного человека квалифицированного.
Но когда ты с серьёзным выражением лица пытаешься что-то там про лямбды рассказывать, на которые якобы тратишь по 6 долларов в месяц, это ничего, кроме умиления не вызывает.
Облака всегда сильно дороже по чеку за инфраструктуру, кроме историй, когда нужно редко и разово.
Блин, вот захотел ты поднять обычную SQL базу. Самая минимальная база, с небольшой нагрузкой, минимальной памятью, в AWS будет от 30 долларов в месяц..
Которую ты легко можешь поднять на своей впс-ке. Если база помощнее, которую тоже можно поднять на ВПС получше, там легко уже 500 долларов в месяц может быть.
Для себя это чудовищная переплата. Для бизнеса норм, там иначе расходы считают.
>>3174423 и самое забавное с базами, вот допустим у тебя история, когда в основном твой проект простаивает, нагрузка есть, но минимальная, а иногда бывают периоды большой нагрузки. Данные те же, просто очень много пользователей и запросов.
Так вот нет такого, чтобы ты платил только за периоды большой нагрузки. Ты должен держать мощную базу всё время. Хотя идея облаков в том, чтобы использовать ресурсы по потребности. Получается, что всё тоже самое, как если бы ты себе выделенные сервера покупал-арендовал на долгосрок.
>>3174423 >что-то там про лямбды рассказывать, на которые якобы тратишь по 6 долларов в месяц, это ничего, кроме умиления не вызывает ...И я не отказываюсь от своих слов. Есть реальные примеры сайтов, вот сайт https://acloudguru.com/ у них 300 тысяч студентов и лямбда выходит в пределах free tier.
>Облака всегда сильно дороже по чеку за инфраструктуру ...Разговор шёл не за все сервисы в облаке, а конкретно по функциям.
>Самая минимальная база, с небольшой нагрузкой, минимальной памятью, в AWS будет от 30 долларов в месяц.. Ну не 30 долларов, это ты про rds говоришь. А аврора/dynamodb/timestream у них идёт оплата за количество запросов.
>можно поднять на ВПС получше, там легко уже 500 долларов в месяц может быть. >Для себя это чудовищная переплата Так я ответил уже на это здесь >>3171773 Дороги не сами функции, а побочные сервисы, такие как rds/textract/sagemaker/eks и так далее.
>>3174486 >у них 300 тысяч студентов и лямбда выходит в пределах free tier. Значит реальн они этими лямбдами не пользуются. Так, приткнули куда-то.
Не нравятся базы, посмотри на трафик. У AWS S3 тарифы от 90 долларов на ТБ (если мало трафика) до 50 долларов, когда много.
На VPS и выделенных серверов тарифы по 1-2 доллара за ТБ. Это если из расчёта лимита включённого трафика считать.
В любом случае разница десятикратная.
>Дороги не сами функции, а побочные сервисы, такие как rds/textract/sagemaker/eks и так далее. Ну и смысл тогда какой в этих функциях? Если они сами по себе не работают. Тебе всё равно массу инфраструктуры надо держать, ничто не мешает на ней же запустить эти лямбды.
Я вижу реальный смысл таких услуг только тогда, когда тебе надо иногда что-то очень тяжёлое запускать. Но редко. Там когда у тебя что-то очень тяжёлое крутится, то 1% времени. В таких случаях проще и дешевле взять в краткосрочную аренду ресурс. Но это реально какие-то редкие кейсы
>>3174782 Жму пинус шарящему человеку. Когда кто-то отдаёт из своего "облачного" сервиса хоть сколько-нибудь крупные порции данных, хотя бы даже 10-мегабайтные джейсоны, его можно разорить детсадовским дудосом. 1 ТБ — это 2.5 часа на гигабитном канале. Представим себе дудос с всего 10 (десяти) машин в течение всего 5 часов — это 20 ТБ, за которые Vercel попросит 3к баксов.
>>3174782 >Ну и смысл тогда какой в этих функциях? Функции - это основная рабочая лошадка. В них все вычисления, начиная от бекенда, заканчивая рассылкой писем и уведомлений. Это даже не микросервис, это НАНОсервис. Они делают микро-таски, а-ля обработки апи get products. И их очень много. Обычно сотни в моих проектах.
Смысл в том, что нужно головой думать и маняврировать. Термин "multicloud" придумали не просто так. Проблема в том, что быдло мозгами не думает. Они приходят, подключают рандомные сервисы, а потом офигевают от счетов. Там есть дешевые сервисы и есть дорогие. Почти всё можно сделать десятком разных способов.
Например, когда делаешь 3-х летнюю предоплату за базу данных, там даётся скидка 52%. За 3 года $224 микроинстанс или по $6 в месяц, цена за бд. Но не 30 долларов как ты говоришь. Тоже самое с S3 и всем остальным. Можно хранить не в S3, а в wasabi/backblaze b2/cloudflare r2. Или допустим, можно использовать спот-инстансы и экономить до 90%.
Короче, эта проблема фикситься элементарно. Алгоритм примерно такой: Не нравится серверлесс/функции ---> бери spot/делай предоплату. Не нравятся дорогие бд (rds) ---> делай предоплату. Не нравится s3 ---> бери wasabi/cloudflare r2. Боишься дудоса ---> ставь троттлинг. Боишься ботов ---> настраивай waf.
Открываешь детализацию счёта, смотришь что самое дорогое --> оптимизируешь --> профит!!!
По-мониторив инфу и некоторые тесты, пришел к выводу, что самый выгодный вариант для своего бэкенда это го, несмотря на неудачный дизайн, особо выбора и нет.
Джава дофигра жрет и инфраструктура такая что пофиг на экономию, шарп еще больше жрет, да и сомнительная судьба в опенсорсе, раст избыточен и неудобен, хотя по началу казался идеальным, пока не увидел костыльные решения некоторых вещей. Рассматривал еще нод.жс с javaDoc, неплохо, с учетом того что надо так же знать много подводных камней как и го, но опять же, если с фронтом все ясно, то вообще непонятно что там на бэкенде, есть ли нормальные и живые либы.
>>3178687 Если вдруг надумаешь ноду, то не бери ноду с jsDoc. Бери тайпскрипт и запускай файлы просто через tsx (не ts-node, а tsx именно), оно там само разрулит и типы есть.
В качестве либ берешь fastify или hono. ORM'ок и тп много, я для личных проектов беру Drizzle или Prisma (там свой язык описания схемы) - для простых личных проектов самое то, и схему по БД сгенерит и попушить в бд можно, и миграции сгенерит.
Я это запускаю в docker-compose или pm2 прямо на тачке.
Но в целом, у тебя для личных проектов, что го, что нода - код плюс-минус одинаковый будет, все ощутимое отличие будет чисто в коде и хендлинге ошибок
>>3178799 Олсо, для ноды и тайпскрипта есть ебейшая штука - trpc. У тебя типы сразу шарятся между бэком и фронтов, не надо дрочить схемы и тп.
Меня это очень подкупает, базово 🌶чу sveltekit/react, fastify и trpc, но я ебанутый в плане типов, мб это только меня ебет, но очень удобно в одного когда кодишь - сразу видишь ошибки, где формат поменялся и тп.
Единственное с чем периодически дрочусь - кронджобы, ибо у меня нода в N инстансах, но кронджобы я кидаю просто в отдельный инстанс.
мимо-анон индихакер c двумя десятками аппок на ноде
>>3178966 Это крч 🌶ня, как ts-node - запускает ts-файл сразу в ноде (компилит там внутри), но отличие главное в том, что оно сама еблю с типом модулей и конфигов берет на себя и работает из коробки