Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Déployer l'instance de production sur catalogue.data.gouv.fr #430

Closed
14 tasks done
johanricher opened this issue Sep 16, 2022 · 16 comments · Fixed by #478
Closed
14 tasks done

Déployer l'instance de production sur catalogue.data.gouv.fr #430

johanricher opened this issue Sep 16, 2022 · 16 comments · Fixed by #478
Assignees
Labels
infra Ce qui attrait aux environnements de déploiement et à l'infrastructure Cloud repo-config Issues relatives à https://github.com/etalab/catalogage-config

Comments

@johanricher
Copy link
Member

johanricher commented Sep 16, 2022

Description

Actuellement une instance sandbox est déployée sur catalogue.multi.coop. Une instance de production doit être déployée sur catalogue.data.gouv.fr afin d'officialiser le service et son ouverture aux ministères et autres administrations centrales.

Critères d'acceptation

  • Les organisations actuellement présentes sur l'instance sandbox (legacy, MC) sont sur l'instance catalogue.data.gouv.fr.
  • La présence du contenu des 2 catalogues actuellement présents sur sandbox n'est pas un must have sur catalogue.data.gouv.fr puisque le catalogue legacy doit être supprimé (Nettoyage de l'organisation "legacy" #389) et celui du MC doit faire l'objet d'un nouvel import (Import du fichier catalogue du MC #456).
  • Les utilisateurs membres de l'organisation legacy sont présents et peuvent se connecter via la connexion legacy.

Implémentation

Nettoyage :

@johanricher johanricher added this to the catalogue.data.gouv.fr milestone Sep 16, 2022
@johanricher johanricher added this to Backlog in Outil de catalogage de données via automation Sep 16, 2022
@johanricher johanricher moved this from Backlog to Exploration en cours in Outil de catalogage de données Sep 16, 2022
@johanricher
Copy link
Member Author

@florimondmanca @Volubyl A vous de décider quel sera le meilleur moment pour procéder à ce changement, avant le 13/10.

@abulte est l'interlocuteur pour la mise en oeuvre notamment ce qui concerne les enregistrements DNS.

@florimondmanca
Copy link
Collaborator

florimondmanca commented Sep 19, 2022

@johanricher Merci pour les infos. J'ai ajouté les étapes qui me semblaient nécessaires pour ce déploiement sur https://catalogue.data.gouv.fr. Ma proposition est de déployer un environnement "neuf", et qu'on se débarrasse de "sandbox" quand il ne servira plus. Ça me semble le plus simple. Je prendrai contact avec Alexandre au moment venu !

@florimondmanca florimondmanca added infra Ce qui attrait aux environnements de déploiement et à l'infrastructure Cloud repo-config Issues relatives à https://github.com/etalab/catalogage-config labels Sep 19, 2022
@johanricher
Copy link
Member Author

johanricher commented Sep 20, 2022

Ok tu me dis quand tu veux je crée un nouvel environnement pour catalogue.data.gouv.fr (nouvelle prod). 👍

Pour l'instant les 3 instances (dev, demo, prod) sont des DEV1-S (2 GB de RAM). Est-ce qu'on prend les mêmes dimensions ?

Une fois que catalogue.data.gouv.fr tournera sur ce nouvel environnement cela deviendra l'instance de prod et on supprimera l'actuelle instance de "prod".

@florimondmanca
Copy link
Collaborator

On peut peut-être prendre une DEV1-M (3 vCPU, 4 GB RAM) plutôt*. Tu peux d'ores et déjà la prendre, ça permettra d'avoir l'IP à communiquer à Alexandre.

Il faudrait aussi une DB. Je crois qu'on avait utilisé un unique serveur PostgreSQL avec plusieurs DB. On peut faire de même, mais créer un nouvel user différent (séparation des identifiants avec demo/staging). Sur Scaleway on peut le faire via l'onglet "Users" de l'instance Postgres, il faudra donner les droits read/write sur la DB de prod.

*Ma réflexion est la suivante :

  • Il n'y a pas eu d'attention particulière à l'optim fine sur le back, ce qui prendrait un peu de temps, donc je serais plus à l'aise avec cette taille pour tenir la charge d'une vingtaine d'utilisateurs actifs. (Je suis étonné que sandbox soit de la même taille que staging/demo, car ces deux derniers env me paraissaient un peu plus lents à l'usage.)
  • Une GP1-XS (4 vCPU, 16 GB RAM) serait clairement surdimensionnée, et je ne suis pas sûr qu'on ait vraiment besoin du SLA (99.99% de service garanti) pour les mois qui viennent. Jusqu'ici les machines DEV1 ont bien tenu !
  • On peut toujours redimensionner une VM chez Scaleway, non ?

@johanricher
Copy link
Member Author

Je suis étonné que sandbox soit de la même taille que staging/demo, car ces deux derniers env me paraissaient un peu plus lents à l'usage.

Oui j'avais vu ton précédent commentaire à ce sujet et j'ai donc double-checké, je suis surpris aussi que les 3 soient strictement identiques.

On peut toujours redimensionner une VM chez Scaleway, non ?

Non, en revanche on peut "migrer" avec leur système de backup ou même assez simplement avec Rsync je pense.

Du coup, pour l'instant j'ai pris cette nouvelle instance (mais je peux en changer si vous voulez) :

AZ : Paris 2
Instance : DEV1-M
Image : Debian Bullseye
Stockage : 10 GB
Nom : catalogue.data.gouv.fr
IP publique : 51.159.175.14

Il faudrait aussi une DB. Je crois qu'on avait utilisé un unique serveur PostgreSQL avec plusieurs DB. On peut faire de même, mais créer un nouvel user différent (séparation des identifiants avec demo/staging). Sur Scaleway on peut le faire via l'onglet "Users" de l'instance Postgres, il faudra donner les droits read/write sur la DB de prod.

Si je comprends bien je ne crée par de nouvelle DB mais j'ajoute un user à la DB existante (qui s'appelle catalogage-dev-db). Les écrans de config d'un nouveau user sont les suivants :

image
image

(Je peux aussi t'ajouter à notre console Scaleway si c'est plus simple).

@florimondmanca
Copy link
Collaborator

florimondmanca commented Sep 21, 2022

Si je comprends bien je ne crée par de nouvelle DB mais j'ajoute un user à la DB existante (qui s'appelle catalogage-dev-db).

J'ai tout de même un doute. Finalement au nom de la séparation des données de prod, je serais probablement plutôt partant pour un serveur de DB à part.

(Je peux aussi t'ajouter à notre console Scaleway si c'est plus simple).

Si tu as la possibilité, ce serait avec plaisir ! :-)


PS: C'est intéressant, Scaleway n'est pas au courant des bases de données qu'on a créé "en plus" à l'intérieur du serveur catalogage-dev-db. Il y a en principe certes rdb (pour... staging), mais aussi rdb-demo, et rdb-sandbox.

@johanricher
Copy link
Member Author

johanricher commented Sep 21, 2022

Invitation envoyée ! Je te laisse créer les ressources nécessaires (instance, db, etc.).

@florimondmanca florimondmanca self-assigned this Sep 22, 2022
@florimondmanca florimondmanca moved this from Exploration en cours to Tâches à faire in Outil de catalogage de données Sep 27, 2022
@johanricher
Copy link
Member Author

@bertrand.denoncin @fm_fairness L'enregistrement DNS a été ajouté pour catalogue.data.gouv.fr sur l'IP de la nouvelle instance (sur laquelle rien ne tourne pour l'instant).

@florimondmanca florimondmanca moved this from Tâches à faire to Tâches en cours in Outil de catalogage de données Oct 3, 2022
@florimondmanca
Copy link
Collaborator

florimondmanca commented Oct 3, 2022

@johanricher J'ai créé la DB pour la prod, tu peux l'inspecter ici : https://console.scaleway.com/rdb/instances/fr-par/0dba3a06-e181-4238-8ef6-8c046c718390/overview

  • Modèle DB-DEV-S (idem que la DB qui accueillait jusqu'ici staging, demo et sandbox ; mais cette fois, 1 seule instance pour tout l'environnement, càd des ressources propres plus grandes)
  • Backup automatique tous les 2 jours dans une région différente de fr-par avec rétention de 7 jours
  • Pas de High-availability (fallback replica), partons du principe que le système de backup suffise pour l'instant

@johanricher
Copy link
Member Author

@florimondmanca Le backup est configuré où ?

@johanricher
Copy link
Member Author

johanricher commented Oct 3, 2022

@DaFrenchFrog En lien avec le déploiement sur catalogue.data.gouv.fr, je propose quelques modifications au niveau de la home et du header, je te laisse commenter sur la PR si tu veux : #459

@florimondmanca
Copy link
Collaborator

florimondmanca commented Oct 3, 2022

@johanricher On peut voir la config des backups sur le lien que je t'ai donné, vers le milieu de la page:

Screenshot 2022-10-03 at 15-04-07 Scaleway Elements Console (25 kB)

Quand un backup aura lieu on devrait le retrouver dans l'onglet "Backups". Si j'ai bien compris, c'est sans surcoût.

@johanricher
Copy link
Member Author

@florimondmanca Top merci beaucoup.

@florimondmanca
Copy link
Collaborator

Update

J'ai switché l'URL / clé d'API utilisée par le repo de config pour pointer vers catalogue.data.gouv.fr et j'ai relancé la CI pour y créer l'orga / catalogue MC. En base c'est bon, ça a été créé.

Il ne reste plus que la config Mon Compte Pro, Raphaël est sur le coup.

@johanricher
Copy link
Member Author

Tous les critères d'acceptation sont validés, bravo à tous !

@florimondmanca je te laisse fermer quand c'est ok pour toi (je vois le démantèlement de sandbox en note)

@florimondmanca
Copy link
Collaborator

florimondmanca commented Oct 5, 2022

Thx. Côté implem, il manque encore la config de l'URL Mon Compte Pro, également.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infra Ce qui attrait aux environnements de déploiement et à l'infrastructure Cloud repo-config Issues relatives à https://github.com/etalab/catalogage-config
Development

Successfully merging a pull request may close this issue.

2 participants