Первый продакшен Sheeternetes: запустили телеграм-бот, компьют и данные которого живут целиком в Google-таблице
Habr ·

Sheeternetes — оркестратор контейнеров, в котором роль etcd играет Google-таблица, а цикл управления написан на Apps Script. До сих пор он оставался шуткой и учебной моделью: таблица планировала и лечила контейнеры, но для работы самих контейнеров необходим был какой-то сторонний компьют, воркеры. Но вчера нам удалось впервые запустить полноценную нагрузку непостредственно в таблицах. У меня есть бот KUBER KOMBAT, который проводил викторины в одном Kubernetes-чатике. Так-то он жил в хетцнере, но недавно хетцнер отключали за неуплату и появилась идея запустить его в каком-то бесплатном окружении под управлением одного из моих кубернетесов. Выбор пал на Sheeternetes, птому что остальные проекты требовали реальных нод или виртуалок. Конечно, можно было просто собрать прилодения на AppScript и пользоваться им, но мы пошли более сложным путем и собрали Sheeternetes-под, а все данные и состояние кластера также положили в ячейки гугл-таблицы (в том числе видео и картинки). В итоге код этого пода хранится в ячейках, исполняет его сама таблица, видеоролики лежат в ячейках в форме base64, а голоса участников записываются строками в отдельную вкладку. Расскажу, почему для этого пришлось научить control plane самому исполнять поды, какие ограничения Google-таблиц мы обнаружули в процессе экспериментов, как устроены хранилище в ячейках и подсчёт голосов и какую ошибку словила таблица уже после позеленевших тестов. Читать далее