Aller au contenu principal

Concepts fondamentaux

Cette page définit le vocabulaire de la plateforme. Chaque concept renvoie vers le guide qui le détaille.

Projet​

Le projet est l'unité centrale de Fluhoms. Il regroupe des pipelines, des workflows, une configuration (variables et connexions) et ses propres environnements de déploiement.

Le modèle s'inspire de git :

  • les projets société sont les origines partagées de l'entreprise, en lecture seule ;
  • pour éditer un projet, on en prend une copie de travail dans le Studio (un checkout) ;
  • on commit ses changements, puis on les pousse vers l'origine sous forme de release et de pull request.
Projet société (origine, lecture seule)
│ checkout ▲ push (release + pull request)
▼ │
Copie de travail (Studio) ── commit ──┘

Voir Le modèle projet-centric et Studio : copies de travail.

Environnement​

Un environnement (dev, recette, prod…) vit à l'intérieur d'un projet. C'est un contexte qui porte deux choses :

  • les valeurs de configuration : les variables et connexions sont définies au niveau du projet, mais chaque environnement porte ses propres valeurs (le mot de passe de pg-main diffère entre dev et prod) ;
  • un pointeur vers la release déployée : la version des pipelines qui y tourne.

Déployer, c'est poser ce pointeur : il n'y a aucune copie de contenu. Les environnements sont ordonnés en une chaîne de promotion (dev avant prod). Voir Environnements et déploiement.

Release et commit​

  • Un commit enregistre un instantané de votre copie de travail dans l'historique du projet (onglet Versions) ;
  • une release est une version publiée du projet côté société : c'est elle qu'on déploie sur les environnements. Pousser une copie de travail crée une release et ouvre une pull request sur le projet société.
commit ── commit ── commit ── push ──▶ release v1.4 ──▶ dev ──▶ recette ──▶ prod
(copie de travail) (projet société) (pointeurs d'environnement)

Pipeline et workflow​

  • Un pipeline est un flux de données : un graphe de bricks qui extraient, transforment et chargent des données (créer un pipeline) ;
  • un workflow est un flux d'orchestration : il déclenche et enchaîne des pipelines (planification cron, webhook, surveillance de fichiers, conditions, gestion d'erreur) (vue d'ensemble des workflows).
Workflow :  [Déclencheur cron] ──▶ [Exécuter pipeline A] ──▶ [Exécuter pipeline B]
Pipeline : [Source fichier] ──▶ [Chaînes de caractères] ──▶ [Écriture fichier]

Bricks et méga-bricks​

Une brick est un composant du pipeline : source (extraction), transformation ou destination (chargement). Les transformations courantes sont regroupées en méga-bricks thématiques (« Colonnes », « Chaînes de caractères », « Agrégations »…) : une seule brick y chaîne plusieurs opérations configurées dans l'ordre, plutôt que d'aligner dix petites bricks.

Voir la référence des composants.

Connexions et variables​

  • Une connexion stocke les informations d'accès à une source ou destination (base de données, storage, API). Ses paramètres secrets sont chiffrés (créer une connexion) ;
  • une variable est une valeur nommée réutilisable dans les configurations.

Les deux suivent la même règle : la définition appartient au projet, la valeur appartient à l'environnement. Créer une connexion dans le projet la fait apparaître dans chaque environnement, où l'on renseigne ses identifiants propres.

Runner​

Le runner est le binaire d'exécution installé sur votre infrastructure. Il se connecte à la plateforme (connexions sortantes uniquement) et exécute les pipelines au plus près de vos données. Chaque environnement désigne son runner cible ; dans le Studio, vos exécutions passent par votre runner personnel ou celui imposé par le projet.

Voir Installer un runner et Gérer les runners.

Exécution​

Une exécution est une instance de lancement d'un pipeline ou d'un workflow. Elle porte un statut (en cours, succès, échec), des logs par brick, des métriques (lignes lues et écrites, durée) et le détail des erreurs éventuelles. Le Monitoring centralise toutes les exécutions (liste des exécutions).

Récapitulatif​

ConceptEn une phrase
ProjetL'unité de travail : pipelines + workflows + configuration + environnements
Projet sociétéL'origine partagée, en lecture seule
Copie de travailLe checkout éditable d'un projet société, dans le Studio
EnvironnementValeurs de configuration + pointeur vers la release déployée
CommitUn instantané de la copie de travail
ReleaseUne version publiée du projet, déployable
PipelineUn graphe de bricks qui traite des données
WorkflowUn graphe d'orchestration qui déclenche des pipelines
BrickUn composant : source, transformation ou destination
Méga-brickUne brick qui chaîne plusieurs opérations
Connexion / variableDéfinie au projet, valorisée par environnement
RunnerLe binaire qui exécute les pipelines sur votre infrastructure
ExécutionUne instance de lancement, avec logs et métriques