Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Conseil / Astuce
Ce contenu est un extrait de l’eBook, Architecting Cloud Native .NET Applications pour Azure, disponible sur .NET Docs ou en tant que PDF téléchargeable gratuitement qui peut être lu hors connexion.
La résilience est la capacité de votre système à réagir aux défaillances et à rester fonctionnelle. Il ne s’agit pas d’éviter l’échec, mais d’accepter l’échec et de construire vos services natifs cloud pour y répondre. Vous souhaitez revenir rapidement à un état pleinement opérationnel.
Contrairement aux applications monolithiques traditionnelles, où tout s’exécute ensemble dans un processus unique, les systèmes natifs cloud adoptent une architecture distribuée, comme illustré dans la figure 6-1 :
Figure 6-1. Environnement natif cloud distribué
Dans la figure précédente, chaque microservice et service de stockage cloud s’exécutent dans un processus distinct, dans l’infrastructure du serveur, en communiquant via des appels basés sur le réseau.
Dans cet environnement, un service doit être sensible à de nombreux défis différents :
Latence réseau inattendue : heure de déplacement d’une demande de service vers le récepteur et le retour.
Erreurs temporaires : erreurs de connectivité réseau de courte durée.
Blocage dû à une opération synchrone de longue durée.
Processus hôte qui s’est arrêté et qui est redémarré ou déplacé.
Microservice surchargé qui ne peut pas répondre pendant une courte période.
Opération d'orchestration en vol, telle qu'une mise à niveau progressive ou le déplacement d'un service d'un nœud à un autre.
Défaillances matérielles.
Les plateformes cloud peuvent détecter et atténuer un grand nombre de ces problèmes d’infrastructure. Il peut redémarrer, effectuer un scale-out et même redistribuer votre service à un autre nœud. Toutefois, pour tirer pleinement parti de cette protection intégrée, vous devez concevoir vos services pour y réagir et prospérer dans cet environnement dynamique.
Dans les sections suivantes, nous allons explorer les techniques défensives que votre service et vos ressources cloud gérées peuvent tirer parti pour réduire les temps d’arrêt et les interruptions.