Modèles de fiabilité
Disponibilité
La disponibilité est exprimée en pourcentage de temps d’activité et définit la proportion de temps durant laquelle le système est opérationnel. La disponibilité est affectée par des erreurs système, des problèmes d’infrastructure, des attaques malveillantes ou la charge du système. En général, les applications cloud fournissent aux utilisateurs un contrat de niveau de service (SLA), ce qui signifie que les applications doivent être conçues et implémentées de manière à optimiser la disponibilité.
Modèle | Résumé |
---|---|
Empreintes de déploiement | Déployez plusieurs copies indépendantes des composants de l’application, dont les magasins de données. |
Geodes | Déployez des services back-end dans un ensemble de nœuds géographiques, chacun pouvant traiter une demande client dans n’importe quelle région. |
Surveillance de point de terminaison d’intégrité | Implémentez des contrôles fonctionnels dans une application à laquelle des outils externes peuvent accéder par le biais de points de terminaison exposés à intervalles réguliers. |
Nivellement de la charge basé sur une file d’attente | Utilisez une file d’attente qui agit comme mémoire tampon entre une tâche et un service qu’elle appelle pour atténuer les surcharges intermittentes. |
Limitation | Contrôlez la consommation des ressources par une instance d’une application, un locataire ou un service entier. |
Pour atténuer les risques de disponibilité liés aux attaques malveillantes par déni de service distribué (DDoS), implémentez le service de protection Azure DDoS natif ou une fonctionnalité tierce.
Haute disponibilité
L’infrastructure Azure est composée de zones géographiques, de régions et de Zones de disponibilité, qui limitent le rayon d’impact d’une défaillance et, par conséquent, l’incidence potentielle de celle-ci sur les applications et les données des clients. La construction Zones de disponibilité Azure a été développée pour fournir une solution logicielle et de mise en réseau permettant de se protéger contre des défaillances de centre de données, et d’offrir une haute disponibilité accrue à nos clients. Avec l’architecture de haute disponibilité (HA), il existe un compromis entre la haute résilience, la faible latence et le coût.
Modèle | Résumé |
---|---|
Empreintes de déploiement | Déployez plusieurs copies indépendantes des composants de l’application, dont les magasins de données. |
Geodes | Déployez des services back-end dans un ensemble de nœuds géographiques, chacun pouvant traiter une demande client dans n’importe quelle région. |
Surveillance de point de terminaison d’intégrité | Implémentez des contrôles fonctionnels dans une application à laquelle des outils externes peuvent accéder par le biais de points de terminaison exposés à intervalles réguliers. |
Cloisonnement | Isolez les éléments d’une application sous forme de pools afin qu’en cas de défaillance de l’un d’eux, les autres continuent à fonctionner. |
Disjoncteur | Gérer les erreurs dont la résolution peut prendre un certain temps lors de la connexion à une ressource ou à un service distant. |
Résilience
La résilience est la capacité d’un système à traiter de manière appropriée des défaillances tant involontaires que malveillantes, ainsi qu’à récupérer après ces dernières.
La nature de l’hébergement cloud, où les applications sont souvent multi-locataires, utilisent les services de plateforme partagée, sont en concurrence pour la bande passante et les ressources, communiquent via Internet et s’exécutent sur du matériel de base, signifie qu’il existe une probabilité accrue que des erreurs temporaires et des erreurs plus permanentes se produisent. La nature connectée d’Internet et l’augmentation de la sophistication et du volume des attaques augmentent la probabilité d’une interruption de la sécurité.
La détection des pannes et la récupération rapide et efficace à la suite ce celles-ci sont nécessaires pour maintenir la résilience.
Modèle | Résumé |
---|---|
Cloisonnement | Isolez les éléments d’une application sous forme de pools afin qu’en cas de défaillance de l’un d’eux, les autres continuent à fonctionner. |
Disjoncteur | Gérer les erreurs dont la résolution peut prendre un certain temps lors de la connexion à une ressource ou à un service distant. |
Transaction de compensation | Annulez le travail effectué par une série d’étapes qui définissent ensemble une opération cohérente. |
Surveillance de point de terminaison d’intégrité | Implémentez des contrôles fonctionnels dans une application à laquelle des outils externes peuvent accéder par le biais de points de terminaison exposés à intervalles réguliers. |
Élection du responsable | Coordonnez les actions effectuées par un ensemble d’instances de tâche de collaboration dans une application distribuée en élisant l’instance responsable qui sera chargée de gérer les autres instances. |
Nivellement de la charge basé sur une file d’attente | Utilisez une file d’attente qui agit comme mémoire tampon entre une tâche et un service qu’elle appelle, afin d’atténuer les surcharges intermittentes. |
Nouvelle tentative | Permettez à une application de gérer les défaillances temporaires anticipées quand elle tente de se connecter à un service ou à une ressource réseau en réessayant d’exécuter en toute transparence une opération qui a échoué précédemment. |
Superviseur de l’agent du planificateur | Coordonnez un ensemble d’actions sur un ensemble distribué de services et d’autres ressources à distance. |