Dimentionnement serveur: Actuel: Intel Xeon-D 1521 - 4c/8t - 2.4 GHz/2.7 GHz | 16 Go ECC 2133 MHz | 4×4 To HDD SATA + 1×500 Go SSD NVMe | 500Mbps in / 100Mbps out ~56e/mo
Necessaire:
- ~50Go pour le moment (sync < 500Mo * 2 (cdn) = 1Go), de toute facon il faudra rediregier le resultat de la synchro sur un S3 pour pouvoir a terme repartir le contenu geographiquement.
- RAM 16Go c'est large, 4 c'est bien
Scaleway VPS:
- DEV-1-S 10e/mo 20Go | 2Go | 2 vcores -> un peu juste, peut etre ok pour une machine testnet
- DEV-1-M 18e/mo 40Go | 4Go | 3 vcores -> suffisant prod actuelle
- DEV-1-L 34e/mo 80Go | 8Go | 4 vcores -> large prod actuelle Scaleway Baremetal:
- EM-A315X-SSD €54.99/month | Intel Xeon E5 1410 v2 4C/8T 2.8 GHz | 64GB | 2 x 1 TB SSD -> ultra large pour la prod actuelle mais un peu moins cher que ovh
S3 :
- https://www.scaleway.com/en/pricing/storage/ €144/Tb/y
- https://www.ovhcloud.com/en/public-cloud/object-storage/ $96/Tb/y
- https://www.leviia.com/en/object-storage/ €70/Tb/y (sous traité par ovh, mais dupliqué sur leurs trois DC FR)
- https://wasabi.com/cloud-storage-pricing/#cost-estimates $83.88/Tb/yr
Altenative a S3 (qui ont toutes l'avantage de servir les assets mondialement):
- Cloudflare R2 mais pricing pas clair, apres ils ont un programme de support pour les initiatives open source
- GitHub pages: Heberger directement le CDN sur Github - repo CDN avec les data publiques et privees en subrepo
- Cloudflare Pages "requests to static assets are free and unlimited"
Nom de domain de dev en .ovh : 2e/y -> possibilité de filtrer tout le domaine en mTLS pour en restreindre l'acces
Backup DB -> S3
filename="backup-$(date +%Y-%m-%dT%H-%M-%S)"
psql_args="-h $SERVER_POSTGRES_HOST -p $SERVER_POSTGRES_PORT -U $SERVER_POSTGRES_USER -d $SERVER_POSTGRES_DB"
PGPASSWORD="$SERVER_POSTGRES_PASSWORD" pg_dump --format=custom --compress=gzip:9 $psql_args | mcli pipe s3/backups/$filename
- Datadog -> Trop compliqué imo
- Betterstack -> pas mal; utilise https://vector.dev
-
Creation d'un repo "CDN" avec data et data-paid (et eventuellement le build de la webapp) en submodules https://stackoverflow.com/questions/29882960/changing-an-existing-submodules-branch https://stackoverflow.com/a/37383406/4111143
-
Le build (GitHub Actions / Cloudflare Pages) de ce repo conduit a la publication (GitHub Pages / Cloudflare Pages) des fichiers statiques dans le monde entier gratuitement (bonus pour Cloudflare qui permet d'avoir un snapshot par commit)
-
La fin du build déclenche le hook vers le serveur -> Mise a jour de l'index des fichers apres leur mise en disponibilité.