Comments 12
Спасибо!
Спасибо! Однако не совсем ясен момент с использованием AWS здесь: почему бы не использовать вместо него инфраструктуру Yandex?
Насколько я помню, YandexCloud ObjectStorage использует API от AWS S3. Из-за этого с ним можно (или нужно, тут могу ошибаться) взаимодействовать через AWS CLI (Ссылка на доку YC: https://yandex.cloud/en/docs/storage/tools/aws-cli).
Плюс, сам Яндекс редко делает какие-либо библиотеки для работы со своими продуктами для .NET (ClickHouse, например), из-за чего для работы с ObjectStorage самый удобный вариант - это использование клиентской библиотеки для AWS S3.
Инфраструктура AWS здесь не используется. Просто у Яндекс реализована совместимость с некоторыми сервисами AWS.
В частности с Object Storage можно использовать как S3-bucket AWS: https://yandex.cloud/ru/docs/storage/s3/?utm_referrer=https%3A%2F%2Fyandex.ru%2F
К чему все этот геморрой, если можно просто взять в аренду сервер на 2 копейки, настроить там антиддос защиту и прочие радости, в том числе установив туда любую бд, также ее настроив, что совершенно не сложно, и залить туда телеграм-бота, который будет спокойно работать. Статья ни о чём, усложняет все, что только можно, в несколько раз
"Привычнее" не значит проще. Справедливо и обратное.
Лично я не согласен, что, при прочих равных, VPS будет сильно проще в развёртывании.
Но если бота рассматривать как часть информационной системы, то возникают вопросы:
как предлагаете хранить файлы? Локально?
Как будете организовать доступ к ним из других сервисов? По внутренней сети?
Наверно, ещё надо не забыть мониторинг свободного места прикрутить.как будете восстанавливать систему на случай сбоя? (Насколько я понял, поднимать вы всё предлагаете вручную. А с сервером за 2 коп. всякое может случиться.)
как предлагаете масштабировать систему, в случае необходимости? (имея БД на этом же VPS)
Functions идеален, для этой задачи:
При малой интенсивности, вы можете не выйти за рамки нетарифицируемого объема и сэкономить.
А при высокой - избавляетесь от геморроя с масштабируемостью.
Но соглашусь: оценить стоимость развёрнутого решения в VPS задача тривиальная, а для Я.Облачко - придётся посчитать.
Как по мне, это очень хорошая задача, чтобы познакомиться с облачными сервисами на практике.
Сам лично все делал недавно руками, поэтому говорю, как есть. Вы с этой всей мишурой в статье даже банально не решите проблемы с очередями в случае превышения 30 запросов в секунду как минимум. А что, по вашему раньше без облаков задачи масштабируемости никак не решались? И почему это вдруг вы решили, что с БД будут проблемы? Конечно, если у человека руки не из плеч, то хоть с облаками, хоть без, он нормально ни миграцию не сделает, ни расширит ее. Я не вижу смысла расписывать, что да как можно сделать, могу только утверждать, что поднятие своего сервера в офисе или VPS В РАЗЫ проще той чехарды, что написано автором. То, что он написал - это хорошая "схема" описания проекта под продажу инвестору для обоснования расходов, и не более того
"А что, по вашему раньше без облаков задачи масштабируемости никак не решались?"
Перевираете, я не говорил этого. Просто любое масштабирование в Вашем случае - это время и усложнение.
И почему это вдруг вы решили, что с БД будут проблемы
VPS c БД масштабироваться может только вертикально. А если разделять компоненты по VPS-кам, то это усложнение поддержи и развертывания системы.
что поднятие своего сервера в офисе
Вы сейчас серьёзно это написали? Если Ваш офис в Яндекс или VK, то вопросов нет)
Я не вижу смысла расписывать, что да как можно сделать
Печально, я бы с удовольствием почитал как Вы на одной VPS в офисе, без дополнительного геммороя, обеспечили бы хайлоад. Без балансировщика, нодов , шардирования и прочей "мишуры".
даже банально не решите проблемы с очередями в случае превышения 30 запросов в секунду как минимум
Во первых: 30+ запросов в секунду это далеко не нагрузка, о каких проблемах может идти речь мне не очень понятно.
Во вторых: советую Вам получше ознакомиться с облачками. Я не предлагаю Вам их использовать, просто для расширения кругозора. Мне кажется у Вас очень предвзятое отношение.
В третьих: если на запрос надо выполнять какой-то долгий процесс и нужны очереди сообщений. То есть https://yandex.cloud/ru/services/message-queue
VPS В РАЗЫ проще той чехарды
Ещё раз, просто Вам ПРИВЫЧНЕЕ то, что Вы продвигаете. Поэтому Вам и кажется проще и это нормально.
Плюсы я уже расписал ранее, не вижу смысла повторяться.
Вы даже не понимаете о чем речь по поводу запросов. Всё с вами понятно. Вы никогда высоконагруженных ботов не делали и ваша статья сделана исключительно под распил денег в проекте. Вы точно также и про масштабирование ничего не поняли, о чем я написал. Не вижу смысла даже дальше продолжать общение. Вы обыкновенный авантюрист, который пилит деньги на проектах
Я поражаюсь насколько легко делаете выводы на своих абсолютно безосновательных предположениях.
Какой распил, какие инвесторы? Откуда Вы это всё взяли? Это плод Вашей фантазии. Дополнительно отмечу, что я не автор статьи, а так же было сказано "хорошая задача, чтобы познакомиться с облачными сервисами на практике".
Не вижу смысла даже дальше продолжать общение.
А я бы с удовольствием с Вами пообщался, но в более конструктивном русле и удобном формате, если позволете. Продолжать здесь согласен - смысла нет.
Исключительно на мой взгляд, YFunctions годятся не более чем для "принять запрос, трансформировать и отправить дальше". Что-то большее чем на 50 строчек кода вызывает боль при работе в редакторе.
Проще взять сделать в студии проект, собрать в образ и запустить через те же serverless контейнеры.
то-то большее чем на 50 строчек кода вызывает боль при работе в редакторе.
Вы можете "сделать в студии проект и загрузить пакет" и в случае с YFunctions. Вам не обязательно писать код в редакторе.
YFunctions годятся не более чем для "принять запрос, трансформировать и отправить дальше".
В этом и суть AWS-Lambda и Y.Functions. Выполнение атомарной логики в относительно дешёвом авто-масштабируемом облачном пространстве.
"serverless контейнеры" прекрасны и предназначены для более сложных приложений (но и выйдут дороже).
Телеграм бот на C# с использованием Yandex Cloud Functions