Så här Live med ditt headless-program go-live
I den här delen av AEM Headless Developer Journey kan du lära dig hur du distribuerar ett headless-program live genom att ta din lokala kod i Git och flytta den till Cloud Manager Git för CI/CD-pipeline.
Story hittills story-so-far
I det föregående dokumentet om den AEM resan utan rubriker How to Put All Together - Your App and Your Content in AEM Headless lärde du dig att använda de AEM utvecklingsverktygen för att sätta ihop alla delar av projektet.
Den här artikeln bygger på dessa grundläggande funktioner så att du förstår hur du förbereder ett eget AEM headless-projekt för publicering.
Syfte objective
Det här dokumentet hjälper dig att förstå den AEM rubrikfria publiceringsprocessen och de prestandaöverväganden du måste vara medveten om innan du publicerar programmet.
- Säkra och skala programmet före start
- Övervaka prestanda och felsökning
Följ de bästa metoderna nedan för att göra ditt AEM headless-program klart för start.
Säkra och skala ditt Headless-program innan det startas secure-and-scale-before-launch
- Konfigurera tokenbaserad autentisering med dina GraphQL-begäranden
- Konfigurera Caching.
Modellstruktur jämfört med GraphQL Output structure-vs-output
- Undvik att skapa frågor som genererar mer än 15 kB JSON (gzip-komprimerad). Långa JSON-filer är resurskrävande för att klientprogrammet ska kunna analysera.
- Undvik fler än fem kapslade nivåer av fragmenthierarkier. Ytterligare nivåer gör det svårt för innehållsförfattare att ta hänsyn till effekten av deras ändringar.
- Använd frågor med flera objekt i stället för att modellera frågor med beroendehierarkier i modellerna. På så sätt blir det flexiblare på lång sikt att strukturera om JSON-utdata utan att behöva göra många innehållsändringar.
Maximera CDN-cacheträffrekvens maximize-cdn
-
Använd inte direkta GraphQL-frågor, såvida du inte begär direktinnehåll från ytan.
- Använd beständiga frågor när det är möjligt.
- Tillhandahåll CDN TTL över 600 sekunder för att CDN ska cachelagra dem.
- AEM kan beräkna effekten av en modelländring av befintliga frågor.
-
Dela JSON-filer/GraphQL-frågor mellan låg och hög förändringsfrekvens för innehåll, så att du kan minska klienttrafiken till CDN och tilldela högre TTL. Detta minimerar antalet CDN som validerar JSON på nytt med den ursprungliga servern.
-
Om du vill göra innehåll från CDN ogiltigt använder du Mjuk tömning. På så sätt kan CDN ladda ned innehållet på nytt utan att orsaka ett cacheminne.
Förkorta nedladdningstiden för headless Content improve-download-time
- Kontrollera att HTTP-klienter använder HTTP/2.
- Kontrollera att HTTP-klienter accepterar rubrikbegäran för gzip.
- Minimera antalet domäner som används som värd för JSON och refererade artefakter.
- Använd
Last-modified-since
för att uppdatera resurser. - Använd
_reference
-utdata i JSON-filen för att börja hämta resurser utan att behöva tolka fullständiga JSON-filer.
Distribuera till produktion deploy-to-production
När du har testat allt och fungerar som det ska kan du skicka koduppdateringarna till en centraliserad Git-databas i Cloud Manager.
När uppdateringarna har överförts till Cloud Manager kan de distribueras till AEM as a Cloud Service med Cloud Manager CI/CD-pipeline.
Du kan börja distribuera koden med Cloud Manager CI/CD-pipeline, som beskrivs utförligt under Distribuera innehållspaket med Cloud Manager och Package Manager.
Prestandaövervakning performance-monitoring
För att användarna ska få bästa möjliga upplevelse när de använder det AEM headless-programmet är det viktigt att du övervakar nyckeltal enligt beskrivningen nedan:
-
Validera förhandsgransknings- och produktionsversionerna av appen
-
Verifiera AEM statussidor för den aktuella tjänsttillgänglighetsstatusen
-
Få resultatrapporter
-
Leveransprestanda
- CDN-prestanda (snabbt) - kontrollera antal anrop, cachehastighet, felfrekvens och nyttolasttrafik
- Ursprungsservrar - antal anrop, felfrekvens, CPU-belastning, nyttolaststrafik
-
Författarprestanda
- Kontrollera antal användare, förfrågningar och inläsning
-
-
Åtkomst till program- och utrymmesspecifika prestandarappar
- Kontrollera om de allmänna måtten är gröna/orange/röda när servern är på plats och identifiera sedan specifika appproblem
- Öppna samma rapporter ovan filtrerade till program eller utrymme (t.ex. Photoshop desktop, paywall)
- Använd API:er för Splunk-logg för att få åtkomst till service- och programprestanda
- Kontakta kundsupport om det finns andra problem.
Felsökning troubleshooting
Felsökning debugging
Följ dessa metodtips som ett allmänt tillvägagångssätt vid felsökning:
- Validera funktionalitet och prestanda med förhandsgranskningsversionen av programmet
- Validera funktionalitet och prestanda med programmets produktionsversion
- Validera med JSON-förhandsvisningen i Content Fragment Editor
- Inspect JSON i klientprogrammet för att kontrollera om det finns problem med klientprogram eller leverans
- Inspect the JSON using GraphQL to check for the presence of issues related to cached content or AEM
Logga ett fel med support logging-a-bug-with-support
Så här loggar du effektivt ett fel med support om du behöver mer hjälp:
- Ta skärmbilder av problemet, om det behövs
- Dokumentera ett sätt att återskapa problemet
- Dokumentera innehållet som problemet återger med
- Logga ett problem via AEM supportportal med rätt prioritet
Resan slutar - eller gör det? journey-ends
Grattis! Du har slutfört AEM Headless Developer Journey! Nu bör du förstå:
- Skillnaden mellan headless och headful content delivery.
- AEM headless-funktioner.
- Organisera och AEM Headless-projekt.
- Skapa innehåll utan rubriker i AEM.
- Så här hämtar och uppdaterar du headless-innehåll i AEM.
- Så här lever du med ett AEM Headless-projekt.
- Vad du ska göra efter det att du är klar.
Antingen har du redan startat ditt första AEM Headless-projekt eller så har du nu all den kunskap du behöver för att göra det. Snyggt jobb!
Utforska Single Page-program explore-spa
De headless butikerna i AEM behöver inte stanna här. I delen Komma igång diskuterades kanske en kort stund om hur AEM inte bara stöder headless-leverans och traditionella modeller med full stack, utan även stöder hybridmodeller som kombinerar fördelarna med båda.
Om den här typen av flexibilitet är något du behöver för ditt projekt kan du fortsätta med den valfria, extra delen av resan, Skapa enkelsidiga program (SPA) med AEM.
Ytterligare resurser additional-resources
- Introduktion till AEM som Headless CMS
- AEM Developer Portal
- Tutorials för Headless i AEM
- Översikt över distribution till AEM as a Cloud Service
- Använd Cloud Manager för att distribuera koden
- Integrera Cloud Manager Git-databasen med en extern Git-databas och distribuera ett projekt till AEM as a Cloud Service