Hoe u met uw headless toepassing kunt gaan werken go-live
In dit deel van de Journey van de Ontwikkelaar van AEM Headless , leer hoe te om een toepassing zonder kop op te stellen levend door uw lokale code in Git te nemen en het te bewegen naar Cloud Manager Git voor de pijpleiding CI/CD.
Het verhaal tot nu toe story-so-far
In het vorige document van de hoofdloze reis van AEM, hoe te om het allen samen te zetten - Uw App en Uw Inhoud in de Zetel van AEM leerde u hoe te om de de ontwikkelingshulpmiddelen van AEM te gebruiken om alle facetten van uw project samen te zetten.
Dit artikel bouwt verder op deze basisprincipes zodat u begrijpt hoe u uw eigen AEM-project zonder kop kunt voorbereiden om live te gaan.
Doelstelling objective
Met dit document krijgt u inzicht in de AEM-publicatiepijplijn zonder kop en in de prestatieaspecten die u moet kennen voordat u live gaat met uw toepassing.
- De toepassing beveiligen en schalen voordat deze wordt gestart
- Prestaties bewaken en problemen met foutopsporing opsporen
Volg de onderstaande aanbevolen procedures om uw AEM-toepassing zonder koppen klaar te maken voor gebruik.
Beveilig en schaal uw toepassing zonder koppen voordat u de toepassing start secure-and-scale-before-launch
- Vorm Symbolische Gebaseerde Authentificatie met uw verzoeken van GraphQL
- Vorm Caching .
Modelstructuur versus GraphQL-uitvoer structure-vs-output
- Maak geen query's die meer dan 15 kB van JSON uitvoeren (gecomprimeerd gzip). Lange JSON-bestanden zijn bronintensief, zodat de clienttoepassing kan parseren.
- Vermijd meer dan vijf geneste niveaus van fragmenthiërarchieën. Met extra niveaus kunnen auteurs van inhoud de gevolgen van hun wijzigingen moeilijk in overweging nemen.
- Gebruik multiobject query's in plaats van query's met afhankelijkheidshiërarchieën binnen de modellen te modelleren. Hierdoor is meer flexibiliteit op lange termijn mogelijk om JSON-uitvoer te herstructureren zonder dat u veel inhoudswijzigingen hoeft aan te brengen.
CDN-hoogte-breedteverhouding in cache maximaliseren maximize-cdn
-
Gebruik geen directe GraphQL-query's, tenzij u live-inhoud vanaf het oppervlak aanvraagt.
- Gebruik waar mogelijk doorlopende query's.
- Verstrek CDN TTL boven 600 seconden zodat CDN hen in het voorgeheugen onderbrengt.
- AEM kan het effect van een modelwijziging op bestaande query's berekenen.
-
Splits JSON-bestanden/GraphQL-query's tussen lage en hoge wijzigingssnelheid voor inhoud, zodat u het clientverkeer naar CDN kunt verminderen en een hogere TTL kunt toewijzen. Dit minimaliseert CDN die JSON met de oorsprongserver opnieuw bevestigt.
-
Als u de inhoud van de CDN actief ongeldig wilt maken, gebruikt u Zacht wissen. Hierdoor kan de CDN de inhoud opnieuw downloaden zonder dat een cache-fout optreedt.
Verbeter de tijd om inhoud zonder kop te downloaden improve-download-time
- Zorg ervoor dat HTTP-clients HTTP/2 gebruiken.
- Zorg ervoor dat HTTP-clients de headeraanvraag voor gzip accepteren.
- Minimaliseer het aantal domeinen dat wordt gebruikt om JSON te hosten en referenced artefacten.
- Vernieuw bronnen met
Last-modified-since. - Gebruik
_reference-uitvoer in JSON-bestand om elementen te downloaden zonder dat u volledige JSON-bestanden hoeft te parseren.
Distribueren naar productie deploy-to-production
Zodra u ervoor zorgt dat alles is getest en behoorlijk werkt, bent u bereid om uw codeupdates aan a gecentraliseerde bewaarplaats van de it in Cloud Manager te duwen.
Nadat de updates aan Cloud Manager zijn geupload, kunnen zij aan AEM as a Cloud Service worden opgesteld gebruikend Cloud Manager CI/CD pijpleiding .
U kunt beginnen uw code op te stellen door de pijpleiding van Cloud Manager te gebruiken CI/CD, die uitgebreid onder het Opstellen van de Pakketten van de Inhoud als Manager van Cloud Manager en van het Pakket wordt behandeld.
Prestatiebewaking performance-monitoring
Om gebruikers de best mogelijke ervaring te bieden bij het gebruik van de AEM-toepassing zonder kop, is het belangrijk dat u de belangrijkste prestatiewaarden in de gaten houdt, zoals hieronder wordt beschreven:
-
Voorvertoning- en productieversies van de app valideren
-
AEM-statuspagina's verifiëren voor huidige status van beschikbaarheid van service
-
Toegang tot prestatierapporten
-
Leveringsprestaties
- CDN (Fastly) prestaties - controleaantal vraag, geheim voorgeheugentarief, foutentarieven en ladingsverkeer
- De servers van de oorsprong - aantal vraag, foutentarieven, lading CPU, ladingsverkeer
-
Auteursprestaties
- Aantal gebruikers, aanvragen en laden controleren
-
-
Toepassings- en ruimtespecifieke prestatierapporten openen
- Als de server is geactiveerd, controleert u of de algemene meetwaarden groen/oranje/rood zijn en identificeert u vervolgens specifieke toepassingsproblemen
- Open dezelfde rapporten die hierboven zijn gefilterd naar app of space (bijvoorbeeld Photoshop-bureaublad, paywall)
- Logbestand-API's van Splunk gebruiken voor toegang tot service- en toepassingsprestaties
- Neem contact op met de Klantenondersteuning als er andere problemen zijn.
Problemen oplossen troubleshooting
Foutopsporing debugging
Volg deze beste praktijken als algemene benadering van het zuiveren:
- Functionaliteit en prestaties valideren met de voorvertoningsversie van de toepassing
- Functionaliteit en prestaties valideren met de productieversie van de toepassing
- Valideren met de JSON-voorvertoning van de Content Fragment Editor
- Inspecteer JSON in de cliënttoepassing om de aanwezigheid van cliënttoepassing of leveringskwesties te controleren
- Inspecteer de JSON met GraphQL om na te gaan of er problemen zijn met inhoud in cache of AEM
Een probleem aanmelden met ondersteuning logging-a-bug-with-support
Om een insect met Steun efficiënt te registreren voor het geval dat u verdere hulp nodig hebt, doe het volgende:
- Indien nodig screenshots van het probleem nemen
- Een manier documenteren om het probleem te reproduceren
- Documenteer de inhoud waarmee de uitgave wordt gereproduceerd
- Een probleem met de juiste prioriteit registreren via het AEM Support-portaal
De reis eindigt - of wel? journey-ends
Gefeliciteerd! U hebt de AEM Headless Developer Journey voltooid! U zou nu een inzicht moeten hebben in:
- Het verschil tussen koploze en koprijke levering van inhoud.
- AEM-functies zonder kop.
- Hoe organiseren en AEM Headless-project.
- Hoe u inhoud zonder kop maakt in AEM.
- Inhoud zonder kop ophalen en bijwerken in AEM.
- Hoe ga je leven met een AEM Headless-project.
- Wat moet u doen na de go-live.
U hebt uw eerste AEM Headless-project al gestart of u hebt nu alle kennis die u nodig hebt om dit te doen. Geweldig werk!
Toepassingen met één pagina verkennen explore-spa
De koploze winkels in AEM hoeven hier echter niet te stoppen. U zou zich in het Begonnen deel van de reis kunnen herinneren wij kort bespraken hoe AEM niet alleen hoofdloze levering en traditionele full-stack modellen steunt, maar ook hybride modellen kan steunen die de voordelen van allebei combineren.
Als dit soort flexibiliteit iets is u voor uw project nodig hebt, ga op het facultatieve, extra deel van de reis verder, hoe te om Enige Toepassingen van de Pagina (SPAs) met AEM tot stand te brengen.
Aanvullende bronnen additional-resources
- Inleiding tot AEM als een CMS zonder kop
- AEM Developer Portal
- Leerprogramma's voor Zwaartepunt in AEM
- Een overzicht van de implementatie op AEM as a Cloud Service
- Gebruik Cloud Manager om Uw Code op te stellen
- integreer de Bewaarplaats van het Git van Cloud Manager met een Externe Bewaarplaats van het Git en stel een Project aan AEM as a Cloud Service op