Архитектура проекта

Как организован проект и как он работает.

Да, вы можете использовать kubernetes. Но зачем, если неизменяемость обеспечивается NixOS?

Stack: NixOS, Python (бэкенд, серверная часть), Flutter (пользовательское приложение).

Мобильное приложение: Flutter/Dart выбрали из-за скорости и плавности работы UI, а также очень соблазнительна их кроссплатформенность.

Бэкенд: NixOS + Python. NixOS выбран из-за воспроизводимости, Python из-за универсальности и популярности.

Сервис-провайдеры

Нам не платит ни один сервис-провайдер! Мы никак с ними не аффилированы. Выбирали исключительно из профессиональных соображений. Но не исключаем партнерство в будущем.

Хостинг

Hetzer выбрали из-за низкой цены и приемлемый уровень сервиса, качественного REST API. Сервис не был замечен в проблемах с приватностью и сбором данных.

Кандидаты:

  • Свой личный железный сервер. Сейчас наш основной приоритет;
  • Сервис-провайдер, который предоставит API для разворачивания железного сервера. Вне FVEY
  • OVH
  • Scaleway

Еще есть бесплатный Oracle Cloud, но там где вы не платите, обычно вы и есть товар.

DNS

Cloudlare надежность, бесплатность. Вероятно, собирает данные, иначе сложно объяснить зачем бесплатно проксировать чужой трафик. В нашем случае используем только как DNS-сервер и ничего не проксируем. В будущем заменим на self-hosted DNS, как только решим проблему надежности.

Backup repository

Backblaze бесплатно и в разы дешевле AWS. Не замечен в сборе данных. Публикует в open source наработки железа, на котором работает. Также делится очень полезной статистикой по отказам дисков, на основе которых можно выбрать себе наиболее надежный и проверенный. В будущем, возможно, заменим на self-hosted решение или p2p. Сейчас это не основной приоритет, так как данные шифруются, а сервис-провайдер видит только IP-адрес Вашего сервера (а не домашний).

Изменено 23.01.2023: docs: update ru arhitecture (025a81e)