Skip to content

anujmnit71/data-gcp

 
 

Repository files navigation

data-gcp

Repo pour la team data sur GCP

Organisation

+-- recommendation: API Recommandation (Cloud Run)
|
+-- orchestration : DAGS Airflow (Cloud Composer)
|
+-- additional_data_sources
| +-- cloud_fn :  Cloud Functions gérés via les dags Airflow
| +-- jobs :  Jobs ML ou Scripts python gérés via les dags Airflow

INSTALL

Analytics (BigQuery)

Prérequis :

1. Installation du projet

  • Cloner le projet
    git clone [email protected]:pass-culture/data-gcp.git
    cd data-gcp
    
  • [LINUX] Installation de quelques librairies nécessaires à l'install du projet
    make install_ubuntu_libs
    
  • Installation du projet
    make install
    

2. Config .env.local

Dans le fichier .env.local, renseigne les valeurs des variables manquantes en utilisant cette page

Orchestration

Orchestration des jobs dags analytics & data science.

plus de détails dans dags/README.md

Les dags sont déployés automatiquement lors d'un merge sur master / production

Recommandation

API pour la brique de recommandation sur l'application.

plus de détails dans recommendation/README.md

CI/CD

CI

On utilise CircleCI pour lancer des tests sur les différentes parties du repo. Les tests sont lancés sur toutes les branches git et sont répartis entre les jobs suivants :

  • linter : tester le bon formattage du code de tout le repo en utilisant Black
  • recommendation-db-tests : tester l'ingestion des données dans le CloudSQL pour l'algorithme de recommendation
  • recommendation-api-tests : tester l'API de recommendation
  • orchestration-tests : tester les différents DAGs d'orchestration

CD

Pour la CD, on utilise deux outils : CircleCI et Cloud Build.

CircleCI

Voici les jobs créés pour le déploiement :

  • vertex-ai-deploy : déployer les modèles de ML via MLFlow dans Cloud Storage puis l'utiliser pour mettre à jour la version du modèle sur VertexAI
  • composer-deploy : déployer le dossier dags dans le bucket du Cloud Composer sur Cloud Storage

Ces déploiements sont déclenchés sur les branches master / production.

Cloud build

Cloud build est utilisé pour le déploiement de l'API sur Cloud Run.

Ces déploiements sont déclenchés sur les branches master / production.

About

Repo pour la team data sur GCP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.7%
  • PLpgSQL 1.1%
  • Other 1.2%