Sécurisez et mettez à l’échelle votre application découplée avant son lancement

  1. Configuration de l’authentification basée sur les jetons avec vos requêtes GraphQL
  2. Configurez la mise en cache.

Structure du modèle par rapport à l’output GraphQL

  • Évitez de créer des requêtes qui génèrent plus de 15 ko de JSON (fichier compressé gzip). Les fichiers JSON trop longs consomment beaucoup de ressources que l’application cliente doit ensuite analyser.
  • Évitez plus de cinq niveaux imbriqués dans les hiérarchies de fragments. Les niveaux supplémentaires rendent difficile la prise en compte de l’impact de leurs modifications par les auteurs de contenu.
  • Utilisez des requêtes à plusieurs objets au lieu de modéliser des requêtes avec des hiérarchies de dépendances au sein des modèles. Cela permet une plus grande flexibilité à long terme pour restructurer la sortie JSON sans avoir à effectuer de nombreuses modifications de contenu.

Maximiser le ratio cache-accès CDN

  • N’utilisez pas de requêtes GraphQL directes, sauf si vous demandez du contenu en direct à la surface.

    • Dans la mesure du possible, utilisez des requêtes persistantes.
    • Fournissez un TTL CDN supérieur à 600 secondes pour que le CDN les mette en cache.
    • AEM peut calculer l’impact d’une modification de modèle sur des requêtes existantes.
  • Partagez les requêtes de fichiers JSON et GraphQL entre un taux de changement de contenu faible et élevé afin de réduire le trafic client sur le réseau de diffusion de contenu et d’attribuer un TTL plus élevé. Vous minimiserez grâce à cela la revalidation par le CDN du fichier JSON avec le serveur d’origine.

  • Pour invalider activement le contenu du réseau de diffusion de contenu, utilisez la fonction Purge progressive. Cela permet au réseau de diffusion de contenu de télécharger à nouveau le contenu sans provoquer l’échec du cache.

Amélioration du temps de téléchargement du contenu découplé

  • Assurez-vous que les clients HTTP utilisent HTTP/2.
  • Assurez-vous que les clients HTTP acceptent la requête d’en-têtes pour gzip.
  • Réduisez le nombre de domaines utilisés pour héberger les artefacts JSON et les artefacts référencés.
  • Utilisez Last-modified-since pour actualiser les ressources.
  • Utilisez la sortie _reference du fichier JSON pour commencer à télécharger des ressources sans avoir à analyser les fichiers JSON complets.

Déploiement en environnement de production

Une fois que vous avez vérifié que tout a été testé et fonctionne correctement, vous êtes prêt à envoyer vos mises à jour de code vers un référentiel Git centralisé dans Cloud Manager.

Une fois les mises à jour chargées vers Cloud Manager, elles peuvent être déployées vers AEM as a Cloud Service à l’aide du pipeline CI/CD de Cloud Manager.

Vous pouvez commencer à déployer votre code à l’aide du pipeline CI/CD de Cloud Manager, qui est décrit en détail à la section Déployer des packages de contenu par le biais de Cloud Manager et du gestionnaire de packages.

Surveillance des performances

Pour que les utilisateurs disposent de la meilleure expérience possible lorsqu’ils utilisent l’application découplée AEM, il est important de surveiller les mesures de performances clés, comme indiqué ci-dessous :

  • la validation des versions d’aperçu et de production de l’application ;

  • la vérification des pages d’état AEM pour l’état de disponibilité actuelle du service ;

  • l’accès aux rapports de performance ;

    • Les performances de diffusion

      • Les performances du CDN (en termes de rapidité) : pour vérifier le nombre d’appels, le taux de mise en cache, les taux d’erreur et le trafic de charge utile
      • Les serveurs d’origine : le nombre d’appels, les taux d’erreur, la charge du processeur, le trafic de charge utile
    • Les performances auteur

      • Pour vérifier le nombre d’utilisateurs, de demandes et de chargements
  • Accédez aux rapports de performances spécifiques à l’application et à la surface.

    • Une fois le serveur ouvert, vérifiez si les mesures générales apparaissent en vert/orange/rouge, puis identifiez les problèmes spécifiques à l’application.
    • Ouvrez les rapports ci-dessus filtrés par application ou par espace (par exemple, la version bureau de Photoshop, un paywall).
    • Utilisez des API de journal Splunk pour accéder aux performances du service et de l’application.
    • Contactez le service clientèle si d’autres problèmes se produisent.

Résolution des problèmes

Débogage

Observez ces bonnes pratiques pour votre approche générale de débogage :

  • Validez les fonctionnalités et les performances avec la version d’aperçu de l’application.
  • Validez les fonctionnalités et les performances avec la version de production de l’application.
  • Validez à l’aide de l’aperçu JSON de l’éditeur de fragment de contenu.
  • Inspectez le JSON dans l’application cliente pour vérifier la présence de problèmes d’application cliente ou de diffusion.
  • Inspectez le JSON à l’aide de GraphQL pour vérifier la présence de problèmes liés au contenu mis en cache ou à AEM.

Journalisation d’un bogue avec prise en charge

Pour signaler un bug de manière efficace à l’assistance, si vous avez besoin d’aide supplémentaire, procédez comme suit :

  • Si nécessaire, réalisez des captures d’écran du problème.
  • Documentez une façon de reproduire le problème.
  • Documentez le contenu à l’origine du problème.
  • Consignez un problème à l’aide du portail d’assistance AEM avec la priorité appropriée.

Serait-ce la fin de notre voyage ?

Félicitations ! Vous avez terminé le parcours de développement découplé AEM. Vous devriez maintenant comprendre les éléments suivants :

  • La différence entre la diffusion de contenu couplé et découplé
  • Les fonctionnalités découplées AEM
  • Comment organiser un projet découplé AEM
  • Comment créer du contenu découplé dans AEM
  • Comment récupérer et mettre à jour du contenu découplé dans AEM
  • La mise en ligne d’un projet découplé AEM
  • Que faire après la mise en ligne.

Vous avez peut-être déjà lancé votre premier projet découplé AEM, vous disposez en tout cas déjà de toutes les connaissances nécessaires pour le faire. Très bon travail.