--- title: "Архитектура проекта" linkTitle: "Архитектура" weight: 1 date: 2022-01-09 description: > Как организован проект и как он работает. --- Да, вы можете использовать kubernetes. Но зачем, если неизменяемость обеспечивается благодаря NixOS? **Пользовательское приложение:** [Flutter](https://flutter.dev/)/[Dart](https://dart.dev/) выбрали из-за скорости и плавности работы UI, а также очень соблазнительна их кроссплатформенность. **Серверная сторона (backend)**: [NixOS](https://nixos.org/) + [Python](https://www.python.org/). NixOS выбран из-за воспроизводимости, Python из-за универсальности и популярности. # Сервис-провайдеры **Нам не платит ни один сервис-провайдер!** Мы никак с ними не аффилированы. Выбирали исключительно из профессиональных соображений. Но не исключаем партнерство в будущем. ### Хостинг SelfPrivacy поддерживает два хостинг провайдера: [Hetzer](https://www.hetzner.com/) и [DigitalOcean](https://digitalocean.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), [deSEC](https://desec.io/) или [DigitalOcean DNS](https://www.digitalocean.com/). [deSEC](https://desec.io/) — более приватный вариант, рекомендуется по умолчанию. [Cloudlare](https://cloudflare.com) вероятно, собирает данные в режиме проксирования трафика, иначе сложно объяснить, зачем предоставлять серсис бесплатно. **В нашем случае мы ничего не проксируем, а используем его только как DNS-сервер.** ### Резервные копии Используем — [Backblaze](https://www.backblaze.com/) Первые 20GB бесплатны и в разы дешевле AWS. [Backblaze](https://www.backblaze.com/) [публикует](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-адрес вашего сервера, а не устройства с приложением.**