Le Platform Engineering est LA tendance qui transforme le DevOps en 2025. Mais au-delà du buzzword, qu’est-ce qui change vraiment ? Retour d’expérience après avoir construit une plateforme interne pour 50+ développeurs.

Le problème : DevOps n’a pas tenu ses promesses

La promesse initiale

“You build it, you run it” — Werner Vogels, Amazon CTO

La réalité 5 ans après

  • Développeurs noyés dans Kubernetes, Terraform, CI/CD
  • Copier-coller de config entre projets
  • 10 façons différentes de déployer
  • Onboarding nouveau dev : 2 semaines d’infra

Constat : Chaque équipe réinvente la roue.

Platform Engineering : La solution

Principe de base

Traiter l’infrastructure comme un produit interne avec des utilisateurs (les développeurs) et des features.

Ce n’est PAS du Platform Engineering

❌ “On a fait un repo avec des scripts Terraform” ❌ “Voici 50 pages de doc sur comment déployer” ❌ “Demandez au channel #ops-help”

C’est du Platform Engineering

git push → Déploiement automatique ✅ Self-service : créer env de dev en 1 clic ✅ Documentation intégrée et exemples ✅ Observabilité par défaut ✅ Sécurité built-in

Architecture d’une plateforme moderne

┌──────────────────────────────────────┐
│      Developer Experience Layer      │
│  (CLI, Portal, IDE extensions)       │
└────────────┬─────────────────────────┘
             │
┌────────────▼─────────────────────────┐
│     Platform Orchestration Layer     │
│  (Backstage, Portal Interno)         │
└────────────┬─────────────────────────┘
             │
┌────────────▼─────────────────────────┐
│      Platform Capabilities           │
│  • CI/CD         • Observability     │
│  • Databases     • Secrets           │
│  • Networking    • Security          │
└────────────┬─────────────────────────┘
             │
┌────────────▼─────────────────────────┐
│      Infrastructure Layer            │
│  (K8s, Cloud providers, etc.)        │
└──────────────────────────────────────┘

Les 5 capacités essentielles

1. Self-service provisioning

Avant :

# 47 étapes manuelles pour créer un service
1. Créer le repo GitHub
2. Configurer les secrets
3. Setup CI/CD
4. Provisionner la database
5. Configurer le load balancer
...

Après (avec Platform Engineering) :

$ platform create service my-api --template=nodejs-api
✓ Repository created
✓ CI/CD configured
✓ Database provisioned
✓ Observability enabled
✓ Security scanning active

🚀 Service ready in 2 minutes!

2. Golden Paths

Offrir des chemins simples pour les cas d’usage courants :

# platform.yaml
service:
  type: api
  language: typescript
  database: postgres
  cache: redis

# C'est tout ! La plateforme s'occupe du reste

Ce qui est généré automatiquement :

  • Dockerfile optimisé
  • CI/CD pipeline
  • Tests automatisés
  • Observability (metrics, logs, traces)
  • Scaling rules
  • Security policies

3. Progressive disclosure

Niveau 1 (Simple) :
  platform deploy

Niveau 2 (Configuré) :
  platform deploy --env=staging --scale=3

Niveau 3 (Avancé) :
  platform deploy --config=custom.yaml

Niveau 4 (Expert) :
  Accès direct à K8s, Terraform, etc.

Principe : Simple par défaut, puissant si besoin.

4. Observabilité intégrée

Chaque service déployé sur la plateforme a automatiquement :

// Metrics automatiques (sans code)
- request_duration_ms
- request_count
- error_rate
- cpu_usage
- memory_usage

// Logs structurés
- Format JSON standardisé
- Correlation IDs
- Sensitive data masking

// Tracing distribué
- OpenTelemetry par défaut
- Propagation automatique

5. Documentation vivante

Documentation générée automatiquement :

┌─────────────────────────────────────┐
│  Service: payment-api               │
├─────────────────────────────────────┤
│  Status: 🟢 Healthy                 │
│  Owner: @payments-team              │
│  On-call: @john-doe                 │
│                                     │
│  📊 Dashboards                      │
│  📝 API Docs (OpenAPI)              │
│  🔍 Logs & Traces                   │
│  📈 SLOs & Alerts                   │
│  🏗️  Architecture Diagram           │
│  📚 Runbooks                        │
└─────────────────────────────────────┘

Tech Stack : Notre retour d’expérience

Portal : Backstage

Backstage (Spotify) est devenu le standard de facto.

Pourquoi Backstage :

  • Open source + large communauté
  • Plugin ecosystem riche
  • Service catalog natif
  • Templates (Software Templates)

Notre stack autour de Backstage :

Portal: Backstage
IaC: Terraform + Crossplane
CI/CD: GitHub Actions + ArgoCD
Observability: Grafana Stack (Loki, Tempo, Mimir)
Secrets: Vault
Service Mesh: Istio

Alternative : Portail custom

Si Backstage est trop lourd, on peut créer un portail simple :

// pages/create-service.tsx
export default function CreateService() {
  const templates = [
    { id: 'nodejs-api', name: 'Node.js API', icon: '🟢' },
    { id: 'python-worker', name: 'Python Worker', icon: '🐍' },
    { id: 'react-app', name: 'React App', icon: '⚛️' },
  ];

  return (
    <div>
      <h1>Create New Service</h1>
      <TemplateGrid templates={templates} />
    </div>
  );
}

Backend : Simple API qui orchestre Terraform, GitHub, etc.

Métriques de succès

Après 6 mois de Platform Engineering chez notre client :

Developer Productivity

  • Time to first deploy : 2 semaines → 1 heure (-97%)
  • Déploiements/jour : 3 → 45 (+1400%)
  • Time to resolution : 4h → 45min (-81%)

Platform Adoption

  • Services migrés : 48/50 (96%)
  • Developer satisfaction : 8.4/10
  • Self-service rate : 92% (vs 0% avant)

Business Impact

  • Lead time : 2 semaines → 2 jours (-86%)
  • MTTR : 2h → 15min (-87%)
  • Incidents infra : -60%

Organisation : L’équipe Platform

Composition

Platform Team (5 personnes) :
- 1 Product Manager (Platform as Product!)
- 2 Platform Engineers
- 1 DevEx Engineer
- 1 Tech Writer

Rôles clés :

Product Manager Platform

  • Roadmap plateforme
  • Priorisation features
  • Relation avec les “clients” (dev teams)

Platform Engineer

  • Build capabilities
  • Infrastructure as Code
  • Reliability & Performance

DevEx Engineer

  • CLI, portals, IDE plugins
  • Documentation
  • Developer feedback

Relation avec les équipes dev

┌─────────────────┐
│ Platform Team   │ ← Build & maintain platform
└────────┬────────┘
         │ Provide capabilities
         │ Support & training
    ┌────▼─────────────────┐
    │  Development Teams   │ ← Use platform
    └──────────────────────┘
         Use self-service
         Give feedback

Important : Platform Team ≠ Ops Team bottleneck.

Migration progressive : Notre approche

Phase 1 : Pilot (2 mois)

  • 1 équipe volontaire
  • 1 capability : CI/CD
  • Beaucoup de feedback

Phase 2 : Early Adopters (3 mois)

  • 3-4 équipes
  • Ajout capabilities : database, observability
  • Documentation améliorée

Phase 3 : Rollout (6 mois)

  • Toutes les équipes
  • Plateforme complète
  • Support intensif

Phase 4 : Optimisation (continu)

  • Nouvelles capabilities
  • Performance & coûts
  • Developer Experience

Erreurs à éviter

Erreur 1 : Construire sans utilisateurs

❌ “On va construire la plateforme parfaite, puis on la déploie”

✅ “On commence avec 1 équipe, on itère en continu”

Erreur 2 : Ignorer le change management

La technique seule ne suffit pas :

  • Formation continue
  • Office hours
  • Champions dans chaque équipe
  • Célébrer les early adopters

Erreur 3 : Réinventer la roue

Utiliser l’existant :

  • Backstage au lieu de portal custom
  • Crossplane au lieu de Terraform custom
  • Grafana au lieu de dashboards custom

Erreur 4 : Oublier la sécurité

Security doit être built-in :

  • Secrets management (Vault)
  • Policy as Code (OPA)
  • Security scanning (Snyk, Trivy)
  • Compliance automation

Ressources pour démarrer

Open Source Tools

Lectures recommandées

  • “Team Topologies” - Manuel Pais & Matthew Skelton
  • “Platform Strategy” - Gregor Hohpe

Communautés

  • Platform Engineering Community (Slack)
  • CNCF Platforms Working Group

Conclusion

Platform Engineering n’est pas juste du DevOps rebrandé. C’est un changement de mindset :

De “Donner accès à l’infra” À “Construire un produit pour les développeurs”

Les bénéfices sont réels :

  • Productivité développeur ↑
  • Time to market ↓
  • Satisfaction équipes ↑
  • Coûts infra optimisés

Commencez petit :

  1. Identifier 1 pain point critique
  2. Construire 1 capability simple
  3. Mesurer l’impact
  4. Itérer

Et vous, où en êtes-vous dans votre journey Platform Engineering ?