Если послушать инженеров, которые ставят скорость исполнения кода превыше всего, создается впечатление, что для них конечная метрика успешности управления жизненным циклом приложения – это быстрота выполнения задач кодом. Как человек немало проработавший в ИТ, знакомый с реальными проблемами сопровождаемости систем и знающий, как нелегко создать ценность для бизнеса при помощи технологий и соблюсти все требования по срокам и надежности, – я не могу сказать, что подобная метрика учитывает все критичные моменты — время создания ценности, скорость циклов разработки, простота в обслуживании, гарантия низких затрат для конечных пользователей, снижение риска операционных сбоев благодаря бесперебойной работе ИТ-инфраструктуры. Наконец, эта метрика не отвечает на вопрос, как сконцентрировать ресурсы разработчиков на решении реальных бизнес-задач и не тратить их на рутинные задачи по настройке и управлению серверами.
Почему-то говоря о серверлесс, часто забывают или лишь вскользь упоминают про "ноготок увяз - всей птички пропасть". Что серверлесс это не просто вынести одну функцию в облако, это сразу предполагает кучу дополнительных сервисов приобретать у облака и как-то интегрировать с существующими. Задаёшь вопросы типа а как логи будут попадать в наш эластик, метрики в наш прометей, а в ответ купите то, купите это, переведите своё легаси на EC2, постгресс на managed наш и выкиньте свои эластики и прометеи - тогда сможете экономить на воркере переведя его на лямбду , но при этом в три раза больше платить будете за всё остальное и в штат ещё девопса нужно брать, который будет поддерживать облако, в дополнении к имеющемуся админу, который будет поддерживать так называемое легаси в EC2. И легко затраты на порядок могут вырасти только за счёт зарплаты этого девопса
И главное, никуда не убежишь. Всё привязано к облачному провайдеру. Вот сервер (выделенный или виртуальный) можно за разумное время (от пары часов до пары дней) перенести к новому хостеру. Или можно организовать репликацию данных на запасный сервер, и включать его в работу за пять минут (или вообще автоматически).
Как активный пользователь Y.functions могу сказать следующее - напрямую их использовать немного страшно, так как флудер легко может покушать ваши деньги. Поэтому оборачиваю в cloudflare.workers, тогда можно придумать и простейший csrf, и вписаться в бесплатный лимит, и сделать базовые методы защиты в духе csrf. Лично мне не хватает дешевого serverless KV-хранилища(такое есть у cf от 5$ в месяц вместе с прочими плюшками) для простейшей логики, платить за Redis дороговато для простого интернет-магазина(про RDBMS речи нет вообще, serverless тоже не хватает, но хотя бы KV). В итоге приходится делать следующую связку:
- cf as nginx
- cf as proxy for Y.functions
- persistance storage at S3/B2/YOS, cache on cf
получается дешево и приятно. Но пока нет под это хорошего фреймворка приходится писать кучу легаси-кода и интегрировать несколько систем.
Serverless прекрасен и его уже можно использовать как PoC или mvp для несложных сайтов/ИМ, но это легаси-легаси.
Я понимаю, что развернуть CMS на serverless легко и если у вас фронт отдельно(грузим в s3/b2/yos), бек отдельно(api на serverless или кеш в s3/b2/yos), то получается всё красиво, но если у вас CMS(для примера django framework с внутренним jinja шаблонизатором), то serverless для средненагруженного сайта без защит может скушать как простая vds(а учитывая, что базово для CMS нужен RDBMS/Redis/memcached, то влетает в копеечку). В итоге приходится рисовать костыли в виде легаси или юзать это для решения каких-то частичных задач. В общем, коробки не хватает под это и кучки сервисов рядом(serverless KV, serverless RDBMS, balancer/router/antiddos). Уже сейчас мы имеем интернет-магазины со не очень большой посещаемостью за копейки в месяц, но это легаси и не каждый масс-маркет разработчик это поймет и сможет связать. Им проще взять хост за 100 руб в месяц и установить, условно, wordpress - поэтому они еще не юзают Y.functions. А если к вам заказчик приходит с запросом какой-нибудь Magento/Bitrix, то тут уже никаким serverless as main не пахнет, только под микросервисы. Такие проблемы.
юзаем во многих проектах Y.functions, даже отопление в моем доме включается вашими функциями, спасибо за хороший сервис и понятный интерфейс.
кстати, еще момент по установке пакетов - их можно протащить с собой на борт, но это немного tricky. делать это через инсталлер пакетов внутри редактора было бы куда удобнее.
приходится писать кучу кода ради экономии на vps, чтобы поставить redis? великолепная математика
интересно либо сколько у тебя стоит написать кучу кода (300рублей чтоли?) или сколько тебе заплатили яндекс.клоуд, чтобы ты заманивал в эти сети
по итогу я видел как такие заманившиеся за обычные пару сервисов, где хватил бы vps за 20 евро, платят по 800-1200 евро в месяц за «умные» слова
разводка на уровне наперсточника на базаре
Уточните пожалуйста насчет
- cf as nginx
- cf as proxy for Y.functions
1) cf - в данном случае это Cloudflare Workers?
2) Если ответ на вопрос 1 да, то как маршрутизируете в воркерах и как отсекаете флудеров чтобы они не долбились в Y.functions?
Скажите а почему не хотите в качестве serverless KV-хранилища попробовать использовать Yandex Database в режиме serverless?