Sobes.tech
Middle

Quels sont les types d'architecture de services web?

sobes.tech IA

Réponse de l'IA

  1. Architecture monolithique :

    • Code unique et autonome regroupant tous les composants (UI, logique métier, accès aux données).
    • Développement et déploiement simples aux débuts.
    • Difficultés de mise à l’échelle, de maintenance et de mise en œuvre de changements à mesure que le projet grandit.
  2. Architecture microservices :

    • L’application est divisée en un ensemble de petits services indépendants qui communiquent via le réseau (souvent via API).
    • Chaque service gère une fonctionnalité spécifique et peut être développé, testé et déployé indépendamment.
    • Meilleure évolutivité, résilience aux pannes (la panne d’un service n’affecte pas les autres), possibilité d’utiliser différentes technologies pour différents services.
    • Complexité dans la gestion d’un grand nombre de services, nécessité de journalisation distribuée et de surveillance.
  3. Architecture orientée services (SOA) :

    • Composée de services qui interagissent via un bus d’entreprise (ESB - Enterprise Service Bus).
    • Les services peuvent être grands et utiliser différents protocoles.
    • Objectif : augmenter la flexibilité et la réutilisation des services au sein de l’organisation.
    • Différences avec microservices : services plus grands, présence d’un bus d’interaction centralisé.
  4. Architecture sans serveur (Serverless) :

    • Le développeur se concentre sur l’écriture du code, tandis que la gestion des serveurs et de l’infrastructure est assurée par le fournisseur cloud (par exemple, AWS Lambda, Azure Functions).
    • Paiement à l’usage, montée en charge automatique.
    • Réduction des coûts opérationnels et des efforts administratifs.
    • Limitations en termes de temps d’exécution et de ressources, dépendance au fournisseur cloud.
  5. Architecture en couches N :

    • L’application est divisée en couches ou niveaux logiques, chacun ayant un rôle défini et n’interagissant qu’avec les couches adjacentes.
    • Couches typiques : couche de présentation (UI), couche de logique métier, couche d’accès aux données.
    • Améliore la modularité et facilite la séparation des responsabilités.
graph TD
    A[Utilisateur] --> B{Service web};
    B --> C[Architecture];
    C --> D[Monolithique];
    C --> E[Microservices];
    C --> F[SOA];
    C --> G[Serverless];
    C --> H[Architecture en niveaux];