Запуск Serverless Container по триггеру
Итак, у вас есть цель выполнять какую-то задачу внутри serverless контейнера по расписанию. К сожалению, вы не сможете просто взять положить в контейнер ваш код и надеяться что все заработает просто так.
Итак, у вас есть цель выполнять какую-то задачу внутри serverless контейнера по расписанию. К сожалению, вы не сможете просто взять положить в контейнер ваш код и надеяться что все заработает просто так.
Сегодня я хотел бы разобрать модель работы облачных функций в Яндекс Облаке.
Для этого нам понадобится serverless функция.
Начнем с того, что набросаем небольшого тестового бота поверх фреймворка Telegraph.
К сожалению просто так взять и запустить приложение написанное на любом популярном node.js фреймворке у нас не выйдет. Эти фреймворки пишут ответ в http(s) сокет. Рантайм функций ожидает получить от пользовательского кода функции объект определенного содержания.
Yandex Cloud Serverless Functions позволяют развертывать приложения в облаке не тратя время на администрирование серверов. Вы платите только за те ресурсы, которые ваше API потребляет обрабатывая запросы пользователей. Этот пост расскажет как развернуть Apollo Server 2 в Yandex Cloud Functions.
Как для сайта на Gatsby автоматизировать его выкладку в Объектное хранилище Яндекс Облака при помощи Github Actions.
UPD: Написал как делать thumbnail’ы на лету.
С появлением триггеров в Яндекс Облаке появилась возможность задавать действия описываемые serverless function на события в очереди или в объектном хранилище.
Upd: я дополнил пост расширенным примером применимом в облаке с большим количеством дисков. Также там добавлено удаление старых снепшотов.
Upd2: https://github.com/nikolaymatrosov/go-yc-serverless-snapshotЯ переписал пример на Go, так как в Облаке недавно появился рантайм для Go 1.14.
Upd3: Пример на Go обновлен для версии ратайма 1.16.
Upd 2022–01–08: Пример на для NodeJS переписан с использованием новой версии SDK v2. Код из поста ниже устарел.
Так как пока в Облаке отсутствует нативная возможность настроить создание снэпшотов по расписанию можно сделать эту функциональность из подручных средств.