Architecture SI — intégration, plateforme et exploitation
Cet article traite des aspects d'architecture au niveau du système d'information : intégration des services, plateforme, opérations, coûts et gouvernance.
Scalabilité et dimensionnement
- Estimez la charge (TPS, latence, pics) et adoptez une stratégie de scalabilité adaptée (horizontale vs verticale).
- Séparez les plans de lecture/écriture si nécessaire (CQRS), et utilisez le partitionnement/sharding pour les gros jeux de données.
Résilience et tolérance aux pannes
- Patterns : retries backoff, circuit breaker, timeouts, bulkheads.
- Planifiez la dégradation gracieuse (graceful degradation) et les stratégies de reprise.
Intégration et communication inter-systèmes
- Choisir entre synchrone (HTTP/gRPC) et asynchrone (messaging, events) selon les contraintes.
- Gérer la consistance (saga patterns, compensations) pour les workflows distribués.
Observabilité au niveau SI
- Centraliser logs, traces et métriques ; corréler événements multi-systèmes.
- Mettre en place dashboards et alertes orientés SLA/SLI.
Données et migrations
- Stratégies de migration compatibles (backward/forward compatibility).
- Décider du pattern de stockage : bases transactionnelles, data lake, event store.
Sécurité et conformité
- Gouvernance des accès, chiffrement, gestion des secrets, audits et conformité (GDPR, etc.).
Déploiement, IaC et opérations
- IaC (Terraform/CloudFormation) pour reproducibilité.
- Stratégies de déploiement à l'échelle : blue/green, canary.
- Runbooks, automations et playbooks pour incidents.
Coûts et optimisation
- Estimer coûts d'hébergement et optimiser (sizing, instances spot, tiering storage).
- Mesurer coût réel des architectures (operational overhead des microservices, par ex.).
Gouvernance et roadmap
- ADRs pour documenter choix d'infra et politiques.
- Conventions d'intégration et API gateway, gestion des versions.
Pour la conception applicative (modèles, API, tests et observabilité applicative), consultez l'article "Architecture applicative".