--- title: "Архитектура проекта" linkTitle: "Архитектура" weight: 1 date: 2022-01-09 description: > Как организован проект и как он работает. --- Да, вы можете использовать kubernetes. Но зачем, если неизменяемость обеспечивается NixOS? **Stack**: [NixOS](https://nixos.org/), Python (бэкенд, серверная часть), Flutter (пользовательское приложение). **Мобильное приложение:** Flutter/Dart выбрали из-за скорости и плавности работы UI, а также очень соблазнительна их кроссплатформенность. **Бэкенд**: NixOS + Python. NixOS выбран из-за воспроизводимости, Python из-за универсальности и популярности. # Сервис-провайдеры Нам не платит ни один сервис-провайдер! Мы никак с ними не аффилированы. Выбирали исключительно из профессиональных соображений. Но не исключаем партнерство в будущем. ### Хостинг [Hetzer](https://www.hetzner.com/) выбрали из-за низкой цены и приемлемый уровень сервиса, качественного REST API. Сервис не был замечен в проблемах с приватностью и сбором данных. Кандидаты: - Свой личный железный сервер. Сейчас наш основной приоритет; - Сервис-провайдер, который предоставит API для разворачивания железного сервера. Вне [FVEY](https://en.wikipedia.org/wiki/Five_Eyes) - OVH - Scaleway Еще есть бесплатный [Oracle Cloud](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm), но там где вы не платите, обычно вы и есть товар. ### DNS [Cloudlare](https://cloudflare.com) надежность, бесплатность. Вероятно, собирает данные, иначе сложно объяснить зачем бесплатно проксировать чужой трафик. В нашем случае используем только как DNS-сервер и ничего не проксируем. В будущем заменим на self-hosted DNS, как только решим проблему надежности. ### Backup repository [Backblaze](https://www.backblaze.com/) бесплатно и в разы дешевле AWS. Не замечен в сборе данных. [Публикует](https://www.backblaze.com/blog/open-source-data-storage-server/) в open source наработки железа, на котором работает. Также [делится](https://www.backblaze.com/b2/hard-drive-test-data.html) очень полезной статистикой по отказам дисков, на основе которых можно выбрать себе наиболее надежный и проверенный. В будущем, возможно, заменим на self-hosted решение или p2p. Сейчас это не основной приоритет, так как данные шифруются, а сервис-провайдер видит только IP-адрес Вашего сервера (а не домашний).