Architecture d'Applications
Est-ce que vous vous êtes déjà demandé pourquoi certaines applications plantent sous la charge, pendant que d’autres tournent comme des horloges ? Ou pourquoi certaines applis sont si difficiles à faire évoluer ? La réponse, bien souvent, c’est : l’architecture
.
Quand on parle d’architecture d’application, on parle en fait de la manière dont une application est structurée.Quels sont ses composants ? Comment ils communiquent entre eux ? Où sont les responsabilités ?
Imaginez une ville, il y a des routes, des quartiers, des immeubles… tout est pensé pour fonctionner ensemble.
Une application, c’est pareille !
Elle a une structure interne et cette structure qui détermine sa robustesse, sa flexibilité, et même ses coûts de fonctionnement.
Les Avantages ?
-
Scalabilité
Une bonne architecture permet de monter en charge sans tout casser. -
Maintenance
Un code bien structuré est plus facile à comprendre, à corriger, à faire évoluer. -
Performance
Si les bons choix sont faits au niveau du design, l’appli est plus rapide. -
Sécurité
Tout design doit prendre en compte la Segmentation, l'Isolation, l'Authentification, etc.. -
Travail en équipe
Chaque équipe peut gérer un morceau de projet si celui-ci est bien structuré.
Les types d'architectures
- Monolithique
Une seule grosse application, simple au début… complexe très vite. - En couches
Typique du modèle MVC, très courant dans les apps web. - SOA
L'architecture orientée services, un ancêtre des microservices. - Microservices
Chaque fonctionnalité devient un service indépendant. - Event-driven
Dans ce type d'architectre, on communique par des événements, souvent avec Kafka ou RabbitMQ. - Serverless
Ici, pas de serveur à gérer, juste du code qu’on exécute à la demande.