Liste de vérification de disponibilité de la production

Votre application et le cluster sont prêts à accepter le trafic de production ? Le fait que vous exécutiez et testiez votre application et votre cluster ne signifie pas nécessairement qu’il sont prêts à passer en production. Continuez à exécuter votre application et votre cluster en douceur tout en passant en revue la liste de contrôle suivante. Nous recommandons vivement de vérifier tous ces points. Bien sûr, vous pouvez choisir d’utiliser d’autres solutions pour une ligne (par exemple, vos propres infrastructures de diagnostic).

Conditions préalables à la production

  1. Les meilleures pratiques Service Fabric sont : Conception d’applications, Sécurité, Mise en réseau, Planification de la capacité et mise à l’échelle, Infrastructure as code, et Surveillance et diagnostics.
  2. Configurez les paramètres FabricTransport si vous utilisez le modèle de programmation Reliable Actors et que vous devez sécuriser la communication entre les services.
  3. Pour les clusters comprenant plus de 20 cœurs ou 10 nœuds, créez un type de nœud principal dédié aux services système. Ajoutez des contraintes de placement pour réserver le type de nœud principal aux services système.
  4. Utilisez une référence (SKU) D2v2 ou supérieure pour le type de nœud principal. Il est recommandé de choisir une référence (SKU) avec une capacité de disque dur d’au moins 50 Go.
  5. Les clusters de production doivent être sécurisés. Pour un exemple de configuration de cluster sécurisé, regardez ce modèle de cluster. Utilisez des noms communs pour les certificats, et évitez d’utiliser des certificats auto-signés.
  6. Ajoutez des contraintes de ressources sur les conteneurs et les services, afin qu’ils ne consomment pas plus de 75 % des ressources du nœud.
  7. Comprenez et définissez le niveau de durabilité. Le niveau de durabilité Silver ou un niveau supérieur sont recommandés pour les types de nœuds exécutant des charges de travail avec état, et sont requis pour la production.
  8. Comprenez et choisissez le niveau de fiabilité du type de nœud. Une fiabilité Silver ou de niveau supérieur est recommandée, et requise pour la production.
  9. Chargez vos charges de travail et testez-les à l’échelle afin d’identifier les besoins en capacité pour votre cluster.
  10. Vos services et applications sont surveillés, et les journaux des applications sont générés et stockés avec génération d’alertes. Consultez, par exemple, Ajouter la journalisation à votre application Service Fabric et Surveiller les conteneurs avec les journaux Azure Monitor.
  11. Le cluster est surveillé avec un dispositif de génération d’alertes (par exemple, les journaux Azure Monitor).
  12. L’infrastructure de groupe de machines virtuelles identiques sous-jacente est surveillée avec un dispositif de génération d’alertes (par exemple, les journaux Azure Monitor).
  13. Le cluster a toujours des certificats primaire et secondaire (de sorte que vous n’êtes verrouillé).
  14. Conservez des clusters distincts pour le développement, la préproduction et la production.
  15. Les mises à niveau d’application et les mises à niveau de cluster sont testées d’abord dans des clusters de développement et de préproduction.
  16. Désactivez les mises à niveau automatiques dans les clusters de production, et activez-les pour les clusters de développement et de préproduction (restaurez au besoin).
  17. Fixez un objectif de point de récupération (RPO) pour votre service, configurez un processus de récupération d’urgence, puis testez-le.
  18. Planifiez la mise à l’échelle de votre cluster manuellement ou par programmation.
  19. Planifiez la mise à jour corrective de vos nœuds de cluster.
  20. Établissez un pipeline d’intégration/livraison continue afin que vos dernières modifications soient testées en permanence. Par exemple, en utilisant Azure DevOps ou Jenkins
  21. Testez vos clusters de développement et de préproduction sous charge avec le service d’analyse des défaillances, et provoquez un chaos contrôlé.
  22. Planifiez la mise à l’échelle de vos applications.

Si vous utilisez le modèle de programmation Reliable Services ou Reliable Actors de Service Fabric, vous devez cocher les éléments suivants :

  1. Mettez à niveau les applications pendant le développement local pour vérifier que votre code de service honore le jeton d’annulation dans la méthode RunAsync et ferme les écouteurs de communication personnalisés.
  2. Évitez les pièges courants lors de l’utilisation de Collections fiables.
  3. Surveillez les compteurs de performances de mémoire CLR .NET lors de l’exécution des tests de charge, et vérifiez la présence de taux élevés de nettoyage de la mémoire ou de croissance de pile d’échappement.
  4. Conservez une sauvegarde hors connexion de Reliable Services et de Reliable Actors, puis testez le processus de restauration.
  5. Idéalement, le nombre d'instances de machines virtuelles NodeType principales doit être égal au niveau de fiabilité minimum des clusters ; conditions nécessaires pour dépasser le niveau minimum : temporairement, lors de la mise à l'échelle verticale de la référence SKU du groupe principal de machines virtuelles identiques NodeType.

Meilleures pratiques facultatives

Si les listes ci-dessus sont des conditions préalables à la mise en production, les éléments suivants doivent également être pris en considération :

  1. Connectez-vous au modèle d’intégrité Service Fabric pour étendre l’évaluation d’intégrité et les rapports intégrés.
  2. Déployez une surveillance personnalisée qui analyse votre application et rende compte de la charge pour l’équilibrage des ressources.

Étapes suivantes