Режим чтения:
Коротко о главном (TL;DR)
  • Проект Sheeternetes представляет собой нетрадиционный, но функциональный оркестратор контейнеров, использующий электронные таблицы Google Sheets (или Excel) в качестве полноценного control plane.
  • Планировщик системы напрямую взаимодействует с ячейками таблицы, записывая и считывая данные состояния кластера.
  • Разработчики Sheeternetes не остановились на базовой концепции, реализовав полноценный Sheeternetes-оператор.

Инновационный подход к оркестрации контейнеров

Проект Sheeternetes представляет собой нетрадиционный, но функциональный оркестратор контейнеров, использующий электронные таблицы Google Sheets (или Excel) в качестве полноценного control plane. Идея возникла как шутка, но быстро переросла в работающий прототип, способный управлять реальными Docker-контейнерами. В отличие от систем, где таблицы хранят лишь метаданные, Sheeternetes воспринимает вкладки таблицы как реальные сущности кластера: Deployments, Nodes, Pods и Events.

Планировщик системы напрямую взаимодействует с ячейками таблицы, записывая и считывая данные состояния кластера. Утилита, напоминающая kubectl, также обращается к таблице для выполнения команд. При этом на другом конце системы функционируют настоящие контейнеры Docker, что подчеркивает, что таблица не имитирует кластер, а является его ядром.

Расширение функциональности: операторы и федерации

Разработчики Sheeternetes не остановились на базовой концепции, реализовав полноценный Sheeternetes-оператор. Этот внешний контроллер обеспечивает желаемое состояние таблицы, автоматизируя управление и поддержание конфигурации. Система также демонстрирует возможности работы на bare metal без подключения к интернету, используя Excel или LibreOffice, а также поддерживает федерации нескольких кластеров-таблиц с функцией живой миграции контейнеров. Интересной особенностью является возможность хранения образов контейнеров непосредственно в ячейках таблицы.

Нагрузочное тестирование и сравнение с конкурентами

В ходе нагрузочного тестирования Sheeternetes был сопоставлен с ведущими оркестраторами, такими как Kubernetes, Docker Swarm и Nomad. Тесты проводились как на синтетических данных на ноутбуке, так и с использованием реальных Docker-образов на облачных виртуальных машинах, с двумя бэкендами: .xlsx на диске и живая Google-таблица. Результаты показали, что по ключевым метрикам производительности Sheeternetes уступает традиционным решениям на 3-5 порядков. Однако по менее критичным осям система демонстрирует превосходство. Это подтвердило, что, несмотря на свою шуточную природу, проект является серьезным инженерным экспериментом, способным выдерживать падение ноды и проходить тесты.

Развитие проекта и фонд

Проект Sheeternetes, начавшийся как шутка, неожиданно для его создателей трансформировался в целый фонд, объединяющий более 30 проектов. В рамках этого фонда были разработаны стандарты контейнеров и система сертификации, что подчеркивает потенциал и глубину инженерной мысли, стоящей за этой необычной инициативой.