Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
REL05-BP06 Rendre les systèmes apatrides dans la mesure du possible
Les systèmes ne doivent pas exiger d’état ou doivent décharger un état de telle sorte qu’entre les différentes demandes client, il n’y ait pas de dépendance vis-à-vis des données stockées localement sur disque et en mémoire. Cela permet le remplacement à volonté des serveurs sans impact sur la disponibilité.
Lorsque des utilisateurs ou des services interagissent avec une application, ils exécutent souvent une série d’interactions qui forment une session. Une session correspond aux données uniques des utilisateurs qui persistent entre les requêtes pendant l’utilisation de l’application. Une application sans état n’a pas besoin de connaître les interactions précédentes et ne stocke pas d’informations de session.
Une fois conçu pour être apatride, vous pouvez ensuite utiliser des services de calcul sans serveur, tels que AWS Lambda ou. AWS Fargate
Outre le remplacement des serveurs, les applications apatrides présentent un autre avantage : elles peuvent évoluer horizontalement, car toutes les ressources informatiques disponibles (telles que les EC2 instances et les AWS Lambda fonctions) peuvent répondre à toutes les demandes.
Avantages du respect de cette bonne pratique : les systèmes conçus pour être sans état sont plus adaptables à la mise à l’échelle horizontale, ce qui permet d’ajouter ou de supprimer des capacités en fonction des fluctuations du trafic et de la demande. Ils sont également intrinsèquement résilients aux défaillances et offrent flexibilité et agilité dans le cadre du développement d’applications.
Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : moyen
Directives d’implémentation
Rendre vos applications sans état. Les applications sans état permettent une mise à l’échelle horizontale et tolèrent la défaillance d’un nœud individuel. Analysez et comprenez les composants de votre application qui conservent leur état au sein de l’architecture. Cela vous permet d’évaluer l’impact potentiel de la transition vers une conception sans état. Une architecture sans état découple les données utilisateur et décharge les données de session. Cela permet de mettre à l’échelle chaque composant indépendamment pour répondre à des demandes variables de charge de travail et optimiser l’utilisation des ressources.
Étapes d’implémentation
-
Identifiez et comprenez les composants avec état dans votre application.
-
Découplez les données en séparant et en gérant les données utilisateur de la logique principale de l’application.
-
Amazon Cognito
peut découpler les données utilisateur du code de l’application en utilisant des fonctionnalités telles que les groupes d’identités, les groupes d’utilisateurs et Amazon Cognito Sync. -
Vous pouvez utiliser AWS Secrets Manager
pour découpler les données utilisateur en stockant les secrets dans un emplacement sécurisé et centralisé. Cela signifie que le code de l’application n’a pas besoin de stocker de secrets, ce qui le rend plus sécurisé. -
Envisagez d’utiliser Amazon S3
pour stocker des données volumineuses non structurées, telles que des images et des documents. Votre application peut récupérer ces données en cas de besoin, évitant ainsi d’avoir à les stocker en mémoire. -
Utilisez Amazon DynamoDB
pour stocker des informations telles que les profils utilisateur. Votre application peut interroger ces données en temps quasi réel.
-
-
Déchargez les données de session dans une base de données, un cache ou des fichiers externes.
-
Amazon ElastiCache
, Amazon DynamoDB, Amazon Elastic File System (Amazon ) et EFS Amazon MemoryDB sont des exemples de services que vous pouvez utiliser pour AWS décharger des données de session.
-
-
Concevez une architecture sans état après avoir identifié les données d’état et d’utilisateur qui doivent être conservées avec la solution de stockage de votre choix.
Ressources
Bonnes pratiques associées :
Documents connexes :