Aller au contenu principal

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.