Un récit de terrain · Microsoft Azure · Starter

Une équipe, une plateforme,
et un après-midi

Les dix composants qu’achète un abonnement Starter, déployés dans un abonnement Azure et utilisés comme une équipe produit les utiliserait — puis démontés. Voici comment s’est passée la journée.

10 composants499 € par moisConstruite et démontée dans la même session
Les dix composants du projet, chacun en marche
Dix composants, chacun sa machine, chacun en bonne santé.
01

L’application

Nous avons un projet web à construire

Le tiers web sur nginx, ses commandes dans PostgreSQL. Chaque requête est déjà enregistrée.
Le tiers web sur nginx, ses commandes dans PostgreSQL. Chaque requête est déjà enregistrée.

Nous sommes une petite équipe produit, et nous avons une application web à livrer. Elle tourne sur nginx et garde ses données dans PostgreSQL — la forme ordinaire d’un projet web.

La plateforme nous a donné ce projet déjà debout : le tiers web qui répond, la base de données derrière, et une page en façade qu’on voit se remplir à mesure que les gens l’utilisent. Rien à installer d’abord sur l’ordinateur de qui que ce soit.

Ce que nous construisons

L’application est une petite boutique en ligne : un catalogue, des commandes, un total qui court. Elle tient lieu de ce qu’une équipe construit vraiment.

Ce qui compte, c’est que la plateforme nous remet les pièces pour la faire tourner — le serveur web, la base de données, la page — et les moyens de la surveiller, plutôt qu’une description de tout cela. À partir de là, l’équipe peut commencer à écrire du code contre quelque chose qui marche déjà.

02

Les outils

Un endroit pour le code, de quoi le construire

Avant d’écrire grand-chose, il nous faut un endroit pour le code et une machine pour le construire. La plateforme déploie pour nous GitLab et un runner, et le runner s’enregistre de lui-même auprès du GitLab voisin.

Dès le premier commit, le pipeline tourne tout seul : il récupère une dépendance dans notre Nexus, compile, et republie le résultat. Nous n’avons rien câblé à la main.

Le pipeline de build, au vert exécution après exécution, qui récupère dans Nexus et y republie.
Le pipeline de build, au vert exécution après exécution, qui récupère dans Nexus et y republie.
Le runner, enregistré et en ligne, prêt à travailler.
Le runner, enregistré et en ligne, prêt à travailler.

Le runner est le nôtre, pas un pool partagé. Il s’enregistre auprès de notre propre GitLab, tourne sur une machine de notre compte, et nous pouvons le voir, le mettre en pause ou le remplacer. Notre code n’est jamais construit sur une infrastructure que nous ne maîtrisons pas.

03

Les personnes

Faire entrer l’équipe, avec les bons accès

Notre responsable doit faire entrer des personnes sur le projet — des développeurs front-end et back-end — et donner à chacun les accès dont son travail a besoin, et pas plus.

Keycloak est déployé comme authentification unique de l’équipe. Chacun se connecte une fois, sur un realm qui appartient à ce projet, et la même identité vaut dans tous les outils. Ajouter un développeur, ou le déclarer front-end ou back-end, c’est gérer un profil à un seul endroit plutôt qu’un compte dans chaque service.

Le realm de l’équipe dans Keycloak : développeurs front-end et back-end gérés comme des profils à un seul endroit, chacun avec les accès dont son travail a besoin.
Le realm de l’équipe dans Keycloak : développeurs front-end et back-end gérés comme des profils à un seul endroit, chacun avec les accès dont son travail a besoin.
04

Le travail

Puis la construction commence pour de bon

Le travail s’intensifie. Les commits arrivent tout au long de la journée, et le runner compile presque sans arrêt. C’est là qu’une plateforme se fait oublier, ou qu’elle gêne.

Le dashboard du runner montre les jobs qui passent, leur durée, et ses journaux. Quand l’équipe tourne à plein régime, on voit le régime.

Le dashboard du runner : jobs exécutés, durées, et journaux du runner, pendant que l’équipe construit.
Le dashboard du runner : jobs exécutés, durées, et journaux du runner, pendant que l’équipe construit.
GitLab lui-même : la file de la CI et les services derrière elle.
GitLab lui-même : la file de la CI et les services derrière elle.

GitLab a son propre dashboard à côté de celui du runner : la file de la CI, et le PostgreSQL, le Redis et le Sidekiq derrière elle. Quand un build ralentit, on sait si c’est le runner ou le serveur, sans deviner.

05

Ce qui casse

Toutes les erreurs, sans quitter un seul écran

Dans le travail ordinaire, des choses tournent mal : une requête erronée du front-end, un service qui se tait, un runner qui cale. Nous préférons les trouver nous-mêmes plutôt que d’en entendre parler.

Chaque composant rend compte au même Grafana. Le dashboard web montre de vraies réponses 4xx et 5xx à côté du débit de requêtes, avec les journaux d’accès et d’erreurs en dessous. Un problème apparaît comme une ligne sur un graphique et une ligne dans un journal, au même endroit.

Le dashboard web : débit de requêtes, réponses par statut avec d’authentiques 4xx et 5xx, et les journaux en dessous.
Le dashboard web : débit de requêtes, réponses par statut avec d’authentiques 4xx et 5xx, et les journaux en dessous.
06

La vue d’ensemble

Où en est le travail, et comment le partager

Notre responsable veut plus que « ça tourne » : savoir comment le travail avance, pour le partager avec les personnes à qui l’équipe rend des comptes.

Le même Grafana donne cette vue à partir de l’activité de build et de déploiement. Et pour le travail lui-même — ce qui se fait, heure par heure — nous pouvons placer devant lui un service d’activité : une simple page qui montre l’état actuel, le journal au fil de l’eau, et la charge sur la journée.

Une vue d’activité sur le travail : état actuel, journal au fil de l’eau, et charge de la journée. Montrée ici depuis notre propre construction de cette plateforme.
Une vue d’activité sur le travail : état actuel, journal au fil de l’eau, et charge de la journée. Montrée ici depuis notre propre construction de cette plateforme.
Le même journal imprimé en page quotidienne, avec les captures de ce qui a réussi.
Le même journal imprimé en page quotidienne, avec les captures de ce qui a réussi.

Le journal quotidien est la forme à partager : une page par jour — un titre, les chiffres, et les images de ce qui a réussi — que notre responsable peut remettre aux personnes à qui l’équipe rend des comptes, sans donner d’identifiants à personne.

Le bilan de la journée

Composants
10, chacun sa machine
Construite et démontée
Une seule session, rien ne tourne encore
Pipelines
9 builds réussis de GNU hello depuis Nexus
Observabilité
Le dashboard de chaque composant, métriques et journaux
Secrets que nous détenons
Aucun - inscription d’application fédérée, jetons de courte durée

Tout ce qui précède est un vrai déploiement, pas une maquette. Il a été enregistré sous le nom azure-starter-showcase-5 le 15 septembre 2026 ; chaque capture d’écran provient de ce déploiement, et la plateforme a été démontée ensuite : rien ici ne tourne encore ni ne coûte quoi que ce soit.

La même plateforme se déploie dans un abonnement Azure qui vous appartient, par une inscription d’application que vous créez et que vous pouvez révoquer en la supprimant : le pipeline se connecte avec un jeton fédéré de courte durée. Nous ne détenons aucune de vos clés entre deux déploiements.

← Toutes les démonstrations de déploiement