mardi 9 juin 2026

Low Code mon amour (sarcasme)

Explique moi ce qu'est le DataVerse dans le monde de PowerApps, une simple BD?, une BD objet, c'est un peu abstrait pour moi...

Dataverse est souvent présenté comme une base de données, mais ce n'est pas tout à fait une base relationnelle classique comme SQL Server ou PostgreSQL. C'est plutôt une plateforme de données métier (business data platform) construite par Microsoft pour l'écosystème Power Platform (Power Apps, Power Automate, Power BI, Dynamics 365).

L'analogie la plus simple

Imagine trois niveaux :

NiveauExemple
Base de données classiqueSQL Server, PostgreSQL
ORM / Modèle objetEntity Framework
Application métierCRM, ERP

Dataverse combine un peu les trois.


Comment Dataverse stocke les données ?

Dans Dataverse, on ne parle pas de :

  • Tables SQL
  • Colonnes SQL
  • Clés étrangères

Même si techniquement c'est ce qui existe derrière.

On parle plutôt de :

  • Tables (anciennement Entités)
  • Colonnes
  • Relations
  • Lignes (Rows)

Exemple :

Table Client

NomCourrielTéléphone
Jeanjean@test.com514-1234

Table Projet

Nom ProjetBudget
Portail RH50 000$

Relation

Un client peut avoir plusieurs projets.

C'est exactement le même concept qu'une base relationnelle.


Pourquoi ça semble abstrait ?

Parce que Dataverse ajoute une couche métier au-dessus de la BD.

Quand tu crées une table "Client", tu obtiens automatiquement :

Métadonnées

  • Description
  • Types de données
  • Étiquettes multilingues
  • Validation

Sécurité

  • Qui peut lire ?
  • Qui peut modifier ?
  • Qui peut supprimer ?

API

Automatiquement exposée en :

  • REST API
  • OData
  • Connecteurs Power Platform

Interface utilisateur

Power Apps peut immédiatement utiliser la table sans coder.


Ce n'est pas une BD objet

C'est probablement ce qui te mélange.

Dataverse ressemble à un modèle objet :

Client
├─ Nom
├─ Courriel
└─ Projets

mais en réalité, c'est toujours relationnel.

Par exemple :

Client
1 ---- n Projet

est stocké comme une relation classique.

Donc :

❌ Ce n'est pas une base orientée objet (comme db4o ou ObjectDB)

❌ Ce n'est pas une base NoSQL

✅ C'est une base relationnelle enrichie de métadonnées métier


Une comparaison avec Entity Framework

Si tu connais EF :

public class Client
{
public Guid Id { get; set; }
public string Nom { get; set; }

public List<Projet> Projets { get; set; }
}

Dans Dataverse, tu définis essentiellement ce modèle :

Table Client
Table Projet
Relation Client-Projet

et Microsoft génère pour toi :

  • le schéma physique
  • les API
  • la sécurité
  • les formulaires
  • les connecteurs Power Platform

Ce qui différencie Dataverse d'une simple BD SQL

Avec SQL Server tu dois gérer :

CREATE TABLE
CREATE INDEX
API REST
Authentification
Permissions
Audits
Historique

Avec Dataverse :

Créer une table
Créer les colonnes
Créer les relations

et le reste est déjà fourni.


Dans l'univers Power Apps

Le rôle de Dataverse est comparable à celui-ci :

Power Apps
|
Power Automate
|
Power BI
|
-------------------
|
Dataverse
|
-------------------
|
Azure SQL (caché)

Tu pourrais voir Dataverse comme :

"Un SQL Server métier géré par Microsoft, enrichi de métadonnées, de sécurité, d'API et d'intégration native avec Power Platform."


Une analogie pour un architecte logiciel

Si SQL Server est :

Le moteur de la voiture

Dataverse est :

Le moteur
+
La transmission
+
Le tableau de bord
+
Les ceintures de sécurité
+
L'ordinateur de bord

Tu perds un peu de contrôle bas niveau, mais tu gagnes énormément en rapidité pour construire des applications métier.

C'est pour cette raison que les solutions Dynamics 365 (CRM, Service, Sales, etc.) sont aujourd'hui essentiellement des applications construites sur Dataverse. C'est beaucoup plus qu'une base de données : c'est la couche de données métier standard de tout l'écosystème Microsoft Power Platform.

Au niveau performance par contre, ça ne peut surement pas battre un vrai système c'est tellement générique...

Tu as raison... et tort en même temps. 😊

La réponse d'architecte est : ça dépend de ce qu'on mesure.

Si on parle de performance brute

Un système développé sur mesure avec :

  • PostgreSQL
  • SQL Server
  • API .NET optimisées
  • Caching Redis
  • Requêtes SQL écrites à la main

va presque toujours battre Dataverse.

Par exemple :

OpérationSQL optimiséDataverse
SELECT simpleTrès rapideRapide
Requête complexe multi-joinsTrès rapidePlus lent
Traitement de masseTrès rapideMoyen
Millions de transactions/jourExcellentLimité
Contrôle des indexTotalTrès limité

Microsoft cache toute la couche physique.

Tu ne peux pas :

CREATE INDEX ...

ni

OPTION(RECOMPILE)

ni optimiser un plan d'exécution.

Pour quelqu'un comme toi qui a travaillé avec SQL Server, PostgreSQL, Kubernetes et l'optimisation d'applications .NET, ça peut donner l'impression d'avoir les mains attachées.


Mais ce n'est pas le problème que Dataverse cherche à résoudre

Microsoft ne vend pas Dataverse comme :

"Le système le plus performant."

Ils le vendent comme :

"Le système le plus rapide à construire et maintenir."

Prenons un exemple.

Application de gestion des demandes

En mode traditionnel :

PostgreSQL
+
API .NET
+
React
+
Authentification
+
Gestion des rôles
+
Audit
+
Historique
+
Recherche
+
Notifications

6 mois de développement.


Même besoin avec Dataverse

Dataverse
+
Power Apps
+
Power Automate

3 semaines.

Les utilisateurs sont contents.

La charge :

500 employés
20 000 dossiers

Dataverse est largement suffisant.


Là où ça commence à souffrir

J'ai vu plusieurs projets Power Platform frapper des murs quand ils arrivent à :

Très gros volumes

50 millions
100 millions
500 millions d'enregistrements

Requêtes analytiques complexes

Exemple :

15 tables
8 joins
agrégations
window functions

Dataverse n'est pas conçu pour ça.


Intégration temps réel haute fréquence

Exemple :

IoT
Télémétrie
Transactions financières
Logs applicatifs

Là on est complètement hors cible.


L'erreur fréquente des architectes

Les architectes logiciels expérimentés regardent Dataverse et pensent :

"C'est un mauvais SQL Server."

Alors que Microsoft le positionne comme :

"Un excellent Dynamics/CRM platform."

C'est comme comparer :

SAP
Salesforce
Dynamics

avec

PostgreSQL

Ce ne sont pas les mêmes catégories.


L'endroit où Dataverse est étonnamment bon

La sécurité.

Si demain tu dois construire un système gouvernemental avec :

  • RBAC
  • sécurité par équipe
  • sécurité par rôle
  • sécurité par enregistrement
  • audit complet
  • historique

En .NET classique, ça représente facilement :

30 à 40 % du développement

Dans Dataverse :

Configuration

Le moteur est déjà là.


Une règle que j'utilise

Dataverse est excellent pour :

  • CRM
  • Gestion de dossiers
  • Workflow administratif
  • Applications RH
  • Processus gouvernementaux
  • Gestion documentaire légère
  • Applications low-code

Dataverse est mauvais pour :

  • OLTP intensif
  • ERP manufacturier lourd
  • Temps réel
  • Big Data
  • Analytique complexe
  • Charges massives

Donc ton intuition est bonne :

Un architecte qui construit une solution .NET/PostgreSQL optimisée va presque toujours obtenir de meilleures performances et une meilleure maîtrise qu'avec Dataverse.

Mais la vraie question est souvent :

« Est-ce que j'ai besoin de 10 ms de temps de réponse ou est-ce que j'ai besoin de livrer l'application dans 2 mois plutôt que dans 12 ? »

C'est là que Dataverse gagne souvent la bataille, même lorsqu'il perd la comparaison technique pure.

Par contre si je comprends bien, il faut être prêt à s'attacher à un vendeur et sortir notre argent pour s'en servir...

Oui. Et c'est probablement la principale critique architecturale qu'on peut faire à Dataverse.

Quand tu adoptes Dataverse, tu n'adoptes pas seulement une technologie, tu adoptes pratiquement tout l'écosystème Microsoft Power Platform :

  • Dataverse
  • Power Apps
  • Power Automate
  • Dynamics 365
  • Azure AD / Entra ID
  • Connecteurs Microsoft

C'est du vendor lock-in assumé.


Avec PostgreSQL

Tu possèdes essentiellement tes données :

PostgreSQL
|
+--> .NET
+--> Java
+--> Python
+--> React
+--> Angular
+--> Power BI
+--> Tableau

Si demain tu veux migrer :

  • AWS
  • Azure
  • On-prem
  • Kubernetes

ça reste faisable.


Avec Dataverse

Tu es plutôt dans :

Power Apps
|
Power Automate
|
Dataverse
|
Microsoft Cloud

Le jour où tu veux sortir de là :

  • récupérer les données est possible ;
  • récupérer les règles métier est difficile ;
  • récupérer les workflows est pénible ;
  • récupérer les formulaires est souvent une réécriture complète.

Les données sont exportables.

L'application, beaucoup moins.


Le piège financier

Au début :

« On va faire ça en low-code et sauver beaucoup d'argent. »

Et souvent c'est vrai.

Mais après quelques années :

500 utilisateurs
Power Apps Premium
Dataverse
Power Automate Premium
Connecteurs Premium

La facture devient significative.

Tu échanges :

CAPEX de développement

contre

OPEX de licences

Là où Microsoft est intelligent

Ils ont compris que :

Pour beaucoup d'organisations, notamment gouvernementales ou grandes entreprises :

10 développeurs pendant 2 ans

coûtent beaucoup plus cher que :

Licences Power Platform

Donc le modèle économique fonctionne.


Comme architecte d'entreprise

Je vois souvent trois catégories :

1. Application stratégique

Exemple :

  • système cœur métier
  • propriété intellectuelle
  • avantage concurrentiel

Je préfère :

.NET
PostgreSQL
Kubernetes

ou équivalent.

Je garde le contrôle.


2. Application administrative

Exemple :

  • demandes RH
  • gestion des équipements
  • approbations
  • formulaires internes

Là Dataverse est souvent un excellent choix.


3. Application temporaire

Exemple :

  • projet de 2 ans
  • programme gouvernemental
  • besoin rapide

Dataverse devient très intéressant.


La vraie question

Pour moi, Dataverse n'est pas tant un problème de performance qu'un problème de souveraineté technologique.

Quand tu bâtis sur PostgreSQL :

Tu loues de l'infrastructure.

Quand tu bâtis sur Dataverse :

Tu loues une partie de ton architecture.

Certaines organisations acceptent très bien ce compromis. D'autres, particulièrement celles qui ont une forte culture d'ingénierie ou des exigences de contrôle à long terme, le vivent beaucoup moins bien.

Vu ton profil d'architecte et ton expérience avec les stacks ouvertes (.NET, PostgreSQL, Kubernetes, DevSecOps), il est normal que ton premier réflexe soit de te demander : « Combien de liberté est-ce que je perds en échange de cette rapidité de développement ? » C'est généralement la première question que se posent les architectes expérimentés devant la Power Platform.

Alors c'est low code, mais actuellement la demande est forte pour les ressources qui maitrisent cet environnement, et ces dernières ont tendance à coûter plus cher... moi je croyais que l'objectif entre autre était de pousser ces développement dans la cours des gens affaire.

Tu touches à un point très intéressant, parce que c'est exactement le discours que Microsoft tenait il y a 8-10 ans :

« Les gens d'affaires vont pouvoir construire leurs propres applications sans dépendre de l'informatique. »

Dans la pratique, ce n'est arrivé que partiellement.


La promesse du "citizen developer"

L'idée était :

Utilisateur RH
|
+--> crée un formulaire
+--> ajoute un workflow
+--> publie une application

sans :

  • développeur
  • architecte
  • DBA
  • DevOps

Pour des besoins simples, ça fonctionne réellement.

Par exemple :

  • formulaire de demande de vacances
  • approbation d'achats
  • inventaire d'équipement
  • gestion de formation

Un analyste d'affaires motivé peut effectivement construire ça.


Ce qui s'est passé dans les grandes organisations

Après quelques années, les applications sont devenues :

Power Apps
+
Dataverse
+
Power Automate
+
SAP
+
ServiceNow
+
Dynamics
+
API REST
+
Sécurité complexe
+
Conformité

Et soudainement :

  • gestion des environnements
  • pipelines CI/CD
  • ALM
  • gouvernance
  • sécurité
  • licences
  • performance
  • intégration

sont devenues des sujets importants.

À ce moment-là, le "citizen developer" disparaît progressivement et on voit apparaître une nouvelle spécialité :

Développeur Power Platform


C'est le même phénomène qu'avec SharePoint

J'ai vécu ça plusieurs fois.

Le discours initial :

« Les utilisateurs vont faire leurs propres sites. »

10 ans plus tard :

Architecte SharePoint
Développeur SharePoint
Administrateur SharePoint
Expert SharePoint

Power Platform suit un peu la même trajectoire.


Pourquoi les experts Power Platform coûtent cher

Parce qu'ils se situent dans une drôle de zone.

Ils doivent comprendre :

Le monde affaire

  • processus
  • workflows
  • UX

Le monde Microsoft

  • Dataverse
  • Power Apps
  • Power Automate
  • Entra ID

Le monde TI

  • API
  • OAuth
  • Azure
  • ALM
  • DevOps

Ce n'est plus vraiment du low-code.

C'est devenu une expertise spécialisée.


Un paradoxe amusant

Plus une organisation adopte Power Platform sérieusement, plus elle finit par recréer les rôles qu'elle voulait éliminer.

On voit apparaître :

Centre d'excellence (CoE)
Architecte Power Platform
Développeur Power Platform Senior
Administrateur Dataverse
Spécialiste Gouvernance

alors que le discours de départ était :

« Les utilisateurs vont le faire eux-mêmes. »


Ce qui est quand même vrai

Là où Microsoft a gagné son pari, c'est sur la productivité.

Un développeur Power Platform compétent peut souvent livrer une application métier en :

2 à 6 semaines

alors qu'une équipe traditionnelle aurait peut-être besoin de :

3 à 6 mois

Donc même si la ressource coûte plus cher à l'heure :

150$/h

au lieu de :

100$/h

le coût total du projet peut rester inférieur.


À mon avis, la vision du citizen developer a surtout servi d'argument marketing pour ouvrir les portes des organisations. Aujourd'hui, dans les grandes entreprises et les ministères, Power Platform est davantage une plateforme de développement spécialisée à haute productivité qu'un véritable outil destiné aux utilisateurs d'affaires autonomes.

Quand je regarde les offres d'emploi actuelles, je vois rarement des postes de "citizen developer". Je vois plutôt :

  • Architecte Power Platform
  • Développeur Power Apps Senior
  • Consultant Dataverse
  • Spécialiste ALM Power Platform

Ce qui est assez révélateur de l'évolution réelle du marché.

Aucun commentaire:

Enregistrer un commentaire

Low Code mon amour (sarcasme)

Explique moi ce qu'est le DataVerse dans le monde de PowerApps, une simple BD?, une BD objet, c'est un peu abstrait pour moi... Data...