Питання по
а) організації хостінгу, сайту, бд і т.і.
б) резервуванню даних
в) безпеці
г) процедурі підтримки

Хостинг, сайт и бд

Сайт состоит из 4х частей.

Фронт часть - то с чем взаимодействуют пользователи. Хостится на CloudFlare Pages, кеш данных хранит в CloudFlare KV, список пользователей хранит в CloudFlare D1, возможно еще добавиться позже CloudFlare DO. Внутри есть встроенная админка для управления пользователями.

BigQuery (BQ) - хранилище данных, где мы храним историю всех действий всех пользователей. В том числе используется для отчетов в метабейсе и для синхронизации с Customer.io.

Страпи админка - это коробочное решение, strapi.io,которое мы используем для управления контентом на сайте. Хостится на OVH.ie (на сервере KBC), бекапы базы данных делаются в CloudFlare R2.

Метабейс - это внешнее BI решение, для построения отчетов, мы его так же встраиваем в админку сайта.

Резервирование данных:

У нас есть состояние в следующих местах: KV, D1, BQ, Strapi.

KV - это кеш, он долго не хранится, его нет нужды бекапить

D1 - это база в которой хранятся данные пользователей для логина, бекапится силами самого CF на 5 дней назад. В целом потеря этой базы восполнима, т.к. ее можно целиком восстановить из BQ, но этот процесс займет время, поэтому лучше ее не терять (измеряется в днях).

BQ - это база хранится в GoogleCloud и не связанна с cloudlfare, мы используем ее в append only режиме, чтобы ничего случайно не потерять. Бекапов как таковых нет - GoogleCloud в случае удаления датасета хранит его 5 дней, а так он в целом просто обслуживает ее. Потеря датасета критична.

Strapi - содержит в себе базу контента с сайта, в том числе опросы. Бекапируется в CF R2 при помощи инструмента Wal-G для бекапирования PostgreSQL баз данных. Восстановление занимает время (в часах, не в днях).

Безопасность

Мы используем BFF в cloudflare pages, чтобы у пользователей сайта не было прямого доступа к страпи, bigquery или metabase. То есть все запросы к данным оборачиваются в отдельную прослойку запросов, которая хостится внутри cloudflare pages.

Strapi защищен в большей мере тем, что спрятан. Обычные пользователи продукта не должны о нем знать.

Сам сайт хостится на cloudflare pages, они хорошо справляются с нагрузкой, и в целом не очень дорогие. Сломать их очень тяжело, но можно сгенерировать очень большой счет если упорно их ddosить. Этап проблема присутствует - заддосить его не выйдет, но вот создать большой счет - легко.

Процедуры поддержки

Необходимо периодически обновлять версии Straip, SvelteKit и BetterAuth (не реже чем раз в три месяца). Само обновление происходит в кодовой базе. На проекте используется gitops, соответственно кроме девопса доступа к инфраструктуре никто не имеет.

Важно: нельзя забывать платить cloudflare и ovh, потом что сайт перестанет работать.