Sélectionner une page

Gouvernance et modèle ALM pour Custom APIs

La gouvernance fixe les règles du jeu avant d’automatiser. Elle décrit qui peut créer, réviser, déployer et auditer les Custom APIs, et avec quels contrôles.

Principes de gouvernance

Avant de détailler les rôles et artefacts, il faut poser des principes simples et testables.

  • Standardiser l’unité de livraison via solutions Dataverse (une API = artefacts + handlers + sécurité).
  • Séparer Build et Release avec validations indépendantes.
  • Imposer la traçabilité des changements (work items ↔ commits ↔ builds ↔ releases).
  • Appliquer least privilege pour les identités techniques et les contributeurs.
  • Rendre les décisions auditable via Policies écrites et publiées.

RACI et rôles

La clarté des responsabilités évite les angles morts.

  • Architecte : définit les contrats API, schémas, politiques DLP, nomenclature.
  • Dev : implémente handlers C#, tests unitaires, scripts pac.
  • Release manager : paramètre pipelines et gates, gère approbations.
  • Admin Power Platform : gère environnements, DLP, PPAC, capacity.
  • Security : approuve secrets, RBAC, revues App registrations.

Artefacts versionnés

Un inventaire commun évite les écarts entre environnements.

  • Répertoire solutions/ : sources unpacked (Solution Packager / pac).
  • Répertoire plugins/ : code C#, tests, règles StyleCop.
  • Répertoire pipelines/ : YAML Azure DevOps (build, release, templates).
  • Répertoire ops/ : policies, RBAC, DLP, runbooks rollback.

Modèle d’environnements

Le chemin de promotion limite les risques et cadre les tests.

  • DEV : création rapide, prototypage, tests unitaires.
  • TEST : solution managed, tests intégration et non-régression.
  • PREPROD : données proches de la prod, tests de performance et sécurité.
  • PROD : déploiement approuvé, monitoring renforcé.

Nommage et security boundaries

Des conventions simples rendent la maintenance objective.

  • Préfixe éditeur : Marlk_ pour tables et APIs.
  • Nom API logique : mar_custom_<Action>.
  • Service principals dédiés par stage : sp-devops-dev, sp-devops-prod.
  • RBAC Azure DevOps : least privilege sur repos, pipelines, variables.