Nesta parte da Jornada do desenvolvedor headless do AEM, saiba como implantar um aplicativo headless, colocando seu código local no Git e movendo-o para o Git do Cloud Manager para o pipeline de CI/CD.
Este artigo se baseia nesses fundamentos para que você entenda como preparar seu próprio projeto headless do AEM.
Objetivo
Este documento ajuda você a entender o pipeline de publicação headless do AEM e as considerações de desempenho que você deve conhecer antes de executar seu aplicativo.
Proteger e dimensionar o aplicativo antes do lançamento
Monitorar o desempenho e depurar problemas
Para preparar o aplicativo headless do AEM para o lançamento, siga as práticas recomendadas descritas abaixo.
Proteger e dimensionar o aplicativo headless antes do lançamento
Evite criar consultas que produzem mais de 15 kb de JSON (gzip compactado). Arquivos JSON longos consomem muitos recursos para análise do aplicativo cliente.
Evite mais de cinco níveis aninhados de hierarquias de fragmentos. Níveis adicionais tornam difícil para os autores de conteúdo considerar o impacto de suas alterações.
Use consultas de vários objetos em vez de modelar consultas com hierarquias de dependência nos modelos. Isso permite maior flexibilidade a longo prazo para reestruturar a saída JSON sem precisar fazer muitas alterações de conteúdo.
Maximizar a taxa de ocorrências do cache CDN
Não use consultas diretas da GraphQL, a menos que esteja solicitando conteúdo ao vivo a partir da superfície.
Use consultas persistentes sempre que possível.
Forneça TTL CDN acima de 600 segundos para que a CDN armazene em cache.
O AEM pode calcular o impacto de uma alteração de modelo em consultas existentes.
Divida arquivos JSON/consultas GraphQL entre taxas de alteração de conteúdo baixas e altas para reduzir o tráfego de clientes para CDN e atribuir TTL maior. Isso minimiza a revalidação do CDN no JSON com o servidor de origem.
Para invalidar ativamente o conteúdo da CDN, use a limpeza suave. Isso permite que a CDN faça o download novamente do conteúdo sem causar a perda de um cache.
Melhore o tempo de download de conteúdo headless
Verifique se os clientes HTTP usam HTTP/2.
Verifique se os clientes HTTP aceitam a solicitação de cabeçalhos para gzip.
Minimize o número de domínios usados para hospedar JSON e artefatos referenciados.
Aproveite o Last-modified-since para atualizar recursos.
Use a saída _reference no arquivo JSON para iniciar o download de ativos sem precisar analisar os arquivos JSON completos.
Implantar para produção
Depois de verificar se tudo foi testado e está funcionando corretamente, você está pronto para enviar as atualizações de código para um repositório Git centralizado no Cloud Manager.
Depois que as atualizações forem carregadas no Cloud Manager, elas poderão ser implantadas no AEM as a Cloud Service usando o pipeline de CI/CD do Cloud Manager.
Você pode começar a implantar seu código aproveitando o pipeline de CI/CD do Cloud Manager, que é abordado extensivamente aqui.
Monitoramento de desempenho
Para que os usuários tenham a melhor experiência possível ao usar o aplicativo headless do AEM, é importante monitorar as principais métricas de desempenho, conforme detalhado abaixo:
Validar versões de visualização e produção do aplicativo
Verificar as páginas de status do AEM para obter o status atual de disponibilidade do serviço
Acessar relatórios de desempenho
Desempenho da entrega
Desempenho de CDN (Rapidamente): verifique o número de chamadas, a taxa de cache, as taxas de erro e o tráfego de conteúdo
Servidores de origem: número de chamadas, taxas de erro, cargas da CPU, tráfego de conteúdo
Desempenho do autor
Verificar o número de usuários, solicitações e carga
Acessar relatórios de desempenho específicos do aplicativo e do espaço
Quando o servidor estiver ativo, verifique se as métricas gerais estão verdes/laranjas/vermelhas, então identifique problemas específicos do aplicativo
Abra os mesmos relatórios acima filtrados para o aplicativo ou espaço (por exemplo, desktop do Photoshop, paywall)
Use APIs de log do Splunk para acessar o desempenho do serviço e do aplicativo
Entre em contato com o Suporte ao cliente em caso de outros problemas.
Resolução de problemas
Depuração
Siga essas práticas recomendadas como uma abordagem geral para depurar:
Valide a funcionalidade e o desempenho com a versão de visualização do aplicativo
Valide a funcionalidade e o desempenho com a versão de produção do aplicativo
Valide com a visualização JSON do Editor de fragmento de conteúdo
Inspecione o JSON no aplicativo cliente para verificar a presença de problemas nele ou na entrega
Inspecione o JSON usando o GraphQL para verificar a presença de problemas relacionados ao conteúdo em cache ou ao AEM
Registro de um erro com o suporte
Para registrar um erro com o Suporte mais eficientemente, siga as etapas abaixo:
Tire capturas de tela do problema, se necessário
Documente uma maneira de reproduzir o problema
Documente o conteúdo com o qual o é possível reproduz o problema
Registre o problema por meio do portal de suporte do AEM com a prioridade apropriada
A jornada termina - Será?
Parabéns! Você concluiu a Jornada do desenvolvedor headless do AEM! Agora você deve ter uma compreensão básica sobre:
A diferença entre a entrega de conteúdo headless e headful.
Recursos headless do AEM.
Como organizar um projeto do AEM Headless.
Como criar conteúdo headless no AEM.
Como recuperar e atualizar conteúdo headless no AEM.
Como ativar um projeto do AEM Headless.
O que fazer depois da ativação.
Ou você já lançou seu primeiro projeto Headless do AEM ou agora tem todo o conhecimento necessário para tal. Excelente trabalho!
Explore os Aplicativos de página única
Armazenamento headless no AEM não precisa parar aqui. Você deve se lembrar que na Parte de Introdução da jornada discutimos brevemente como o AEM não só é compatível com as entregas headless e os modelos de pilha completa tradicionais, como também é compatível com modelos híbridos que combinam as vantagens de ambos.