Uma introdução à arquitetura do Adobe Experience Manager as a Cloud Service an-introduction-to-the-architecture-adobe-experience-manager-as-a-cloud-service
O Adobe Experience Manager (AEM) as a Cloud Service oferece um conjunto de serviços combináveis para a criação e o gerenciamento de experiências de alto impacto.
Esta página fornece uma introdução à arquitetura lógica, à arquitetura de serviço, à arquitetura do sistema e à arquitetura de desenvolvimento do AEM as a Cloud Service.
Arquitetura lógica logical-architecture
O AEM as a Cloud Service é composto de soluções de alto nível, como AEM Sites, AEM Assets e AEM Forms. Esses serviços são licenciados individualmente, mas podem ser usados em colaboração. Cada solução usa uma combinação de serviços combináveis fornecidos pela AEM as a Cloud Service, dependendo de seus respectivos casos de uso.
Programas programs
Os aplicativos do AEM são materializados no formato de um Programa criado por você no aplicativo do Cloud Manager, de acordo com seus direitos de licenciamento. Esses programas fornecem controle total sobre como o aplicativo AEM associado é nomeado, configurado e como as permissões são alocadas, no contexto de um projeto específico.
Como cliente, você geralmente é identificado pelo Adobe como um locatário, também conhecido como uma organização IMS (Sistema Identity Management). Um locatário pode ter quantos programas forem necessários e licenciados. Por exemplo, é bastante comum ver um programa central para o AEM Assets, enquanto o AEM Sites pode ser usado em vários programas correspondentes a várias experiências online.
Um programa pode ser configurado com qualquer combinação das soluções de alto nível, e cada solução pode ser compatível com complementos de um para muitos. Por exemplo, Commerce ou Screens para AEM Sites, Dynamic Media ou Brand Portal para AEM Assets.
Ambientes environments
Depois que um programa é criado com as soluções AEM Sites, AEM Assets ou AEM Forms, as instâncias associadas do AEM AEM serão representadas na forma de ambientes nesse programa.
Há quatro tipos de ambiente disponíveis com o AEM as a Cloud Service:
-
Ambiente de produção:
- Um ambiente de produção hospeda os aplicativos para os profissionais de negócios e executa as experiências ativas.
-
Ambiente de preparo:
-
Um ambiente de preparo geralmente é acoplado a um ambiente de produção em uma relação 1:1.
-
O ambiente de preparo foi projetado principalmente para testes automatizados, antes que as alterações no aplicativo sejam enviadas para o ambiente de produção.
- Isso é independente das alterações que estão sendo iniciadas pelo Adobe como parte de uma atualização de manutenção ou pelas implantações de código.
- Você também pode realizar testes manuais no caso de uma implantação de código.
-
O conteúdo do ambiente de preparo geralmente é mantido em sincronia com o conteúdo de produção usando o recurso de cópia de conteúdo de autoatendimento.
-
Realizar testes de desempenho e segurança no ambiente de preparo. Ele tem o mesmo tamanho da produção.
-
-
Ambiente de desenvolvimento:
- Um ambiente de desenvolvimento permite que os desenvolvedores implementem e testem aplicativos AEM nas mesmas condições de tempo de execução que os ambientes de preparo e produção.
- As alterações passam por um pipeline de implantação que permite a mesma qualidade de código e portas de segurança que nos pipelines de implantação de produção.
- Os ambientes de desenvolvimento não têm o mesmo tamanho que os de preparo e produção e não devem ser usados para realizar testes de desempenho e segurança.
-
Ambiente de desenvolvimento rápido (RDE):
- Um ambiente RDE permite iterações de desenvolvimento rápidas ao implantar código novo ou existente nas instâncias do RDE, sem passar por um pipeline de implantação formal, conforme encontrado em ambientes de desenvolvimento regulares.
Edge Delivery Services logical-architecture-edge-delivery-services
Um programa AEM também pode ser configurado com os Edge Delivery Services.
Depois de configurado, o AEM pode fazer referência aos repositórios de código do GitHub usados para criar as experiências com o Edge Delivery Services. Como resultado, novas opções de configuração ficam disponíveis para as experiências associadas. Isso inclui a configuração da CDN gerenciada por Adobe e o acesso a métricas de licenciamento ou relatórios de SLA.
Arquitetura do serviço service-architecture
A lista de serviços de composição de alto nível no AEM as a Cloud Service pode ser representada por dois segmentos - Gestão de conteúdo e Entrega de experiência:
Para o gerenciamento de conteúdo, há dois conjuntos principais de serviços para a criação de conteúdo, ambos representados como fontes de conteúdo:
-
O nível de criação do AEM:
Fornece uma interface baseada na Web (com APIs associadas) para o gerenciamento de conteúdo da Web. Isso funciona para ambas as abordagens:- Headful - pelo editor de páginas e pelo editor universal
- Headless - por meio do editor de fragmento de conteúdo
-
O nível de criação baseado em documentos:
Permite criar conteúdo usando aplicativos padrão, como:- Microsoft Word e Excel - via SharePoint
- Documentação e folhas do Google - via Google Drive
Para entrega de experiência, ao usar o AEM Sites ou o AEM Forms, também há dois conjuntos principais de serviços, não mutuamente exclusivos e que operam em uma CDN (Content Delivery Network) gerenciada por Adobe compartilhado como origens diferentes:
-
O nível do AEM Publish:
- Executa um farm de editores e dispatchers AEM padrão, permitindo a renderização dinâmica de páginas da Web e conteúdo de API (por exemplo, GraphQL) reunidos com conteúdo publicado.
- É baseado principalmente na lógica do aplicativo do lado do servidor.
-
O nível do Edge Delivery Publish:
- Permite a renderização dinâmica de páginas da Web e conteúdo de API de várias fontes de conteúdo, como o nível de criação AEM ou o nível de criação baseado em documento.
- É baseado na lógica de aplicativos do lado do cliente e projetado para desempenho máximo.
Há também os principais serviços adjacentes:
-
O nível do Edge Delivery Assets:
- Permite a entrega de itens de mídia aprovados e publicados do AEM Assets. Por exemplo, imagens e vídeos.
- Normalmente, os itens de mídia são referenciados a partir de experiências executadas no nível de publicação do AEM, do Edge Delivery ou de qualquer outro aplicativo do Adobe Experience Cloud integrado ao AEM Assets.
-
O nível de Visualização do AEM e o nível de Visualização do Edge Delivery Services:
- Também estão disponíveis para experiências criadas com o nível de Publish do AEM ou o nível de publicação do Edge Delivery, respectivamente.
- Permite que os autores de conteúdo visualizem o conteúdo no contexto antes das operações de publicação.
Há outros serviços adjacentes:
-
O serviço de replicação:
- Situada entre o nível de gerenciamento de conteúdo e o nível de entrega de experiência.
- É responsável por processar as operações publicar emitidas por autores de conteúdo e, em seguida, fornecer o conteúdo publicado aos níveis de publicação (AEM ou Edge Delivery).
note note NOTE O serviço de replicação passou por um redesign completo em comparação às versões 6.x do AEM, já que a estrutura de replicação das versões anteriores do AEM não é mais usada para publicar conteúdo. A arquitetura mais recente é baseada em uma abordagem de publicar e assinar com filas de conteúdo baseadas em nuvem. Para o nível de publicação AEM, ele permite que um número variável de editores assine o conteúdo de publicação e é uma parte essencial para alcançar um dimensionamento automático verdadeiro e rápido para o AEM as a Cloud Service -
O serviço de Repositório de conteúdo:
- É usado pelo nível de autor AEM.
- É uma instância baseada em nuvem de um repositório de conteúdo compatível com JCR, implementado pela tecnologia Apache Oak.
- A persistência do conteúdo baseia-se principalmente no armazenamento em nuvem baseado em blob.
-
O serviço CI/CD:
- Representa o subconjunto de funcionalidades do Cloud Manager dedicadas ao gerenciamento de pipelines de implantação para os ambientes AEM.
-
O serviço de teste:
-
Representa a infraestrutura subjacente usada para executar:
- testes funcionais,
- Testes de interface do usuário: por exemplo, com base em scripts Selenium ou Cypress,
- testes de auditoria de experiência: por exemplo, Lighthouse scores,
como parte de um pipeline de implantação para um ambiente AEM ou como parte de uma solicitação de pull do GitHub para um repositório de código do Edge Delivery.
-
-
O serviço de dados:
- É responsável por expor os dados do cliente, como métricas de licenciamento (por exemplo, Solicitações de conteúdo, Armazenamento, Usuários) ou relatórios de uso (como o número de uploads, downloads).
- Os dados do cliente podem ser expostos por meio de APIs e nas interfaces de usuário do produto (como o Cloud Manager).
-
O serviço de Métrica do usuário real (RUM):
- É responsável por coletar as métricas principais de uma experiência do cliente (como exibições de página, sinais vitais da Web principais, eventos de conversão) e responder a consultas associadas (por exemplo, exibições de página principais de um determinado domínio nos últimos sete dias).
-
O serviço Assets Compute:
- É responsável pelo processamento de imagens, vídeos e documentos carregados; por exemplo, arquivos PDF e Adobe Photoshop. O processamento pode usar o Adobe Sensei para extrair metadados de imagem e vídeo (como tags descritivas ou tons de cores primários) e gerar representações (como tamanhos ou formatos diferentes), com acesso a APIs como as APIs do Adobe Photoshop e do Adobe Lightroom.
-
O Identity Management Service (IMS):
- É o local central responsável por gerenciar e autenticar usuários e grupos de usuários para determinado aplicativo do Adobe Experience Cloud (por exemplo, o Cloud Manager ou o nível de criação do AEM).
- É acessado pela Adobe Admin Console.
Arquitetura do sistema system-architecture
Níveis de Autor, Visualização e Publish do AEM aem-author-preview-publish-tiers
Os níveis de Autor do AEM e Publish são implementados como um conjunto de contêineres Docker, operados por um Serviço de orquestração de contêineres padrão. A arquitetura contida resultante significa um sistema totalmente dinâmico com um número variável de pods, dependendo da atividade real (para gerenciamento de conteúdo) e do tráfego real (para entrega de experiência). Isso permite que o AEM as a Cloud Service acomode os padrões de tráfego à medida que são alterados.
O nível de criação do AEM é operado como um cluster de pods de criação do AEM que compartilham um único repositório de conteúdo. Um mínimo de dois pods permite a continuidade dos negócios enquanto as tarefas de manutenção estão em execução ou enquanto um processo de implantação está em andamento.
O nível do AEM no Publish é operado como um farm de instâncias de publicação do AEM, cada uma com seu próprio repositório de conteúdo de conteúdo publicado. Cada editor é acoplado a uma única instância do Apache equipada com o módulo Dispatcher do AEM para obter uma visualização materializada do conteúdo, servindo como origem para o CDN gerenciado por Adobe. Um mínimo de dois pods também permite a continuidade dos negócios, mas não é incomum ver esse número se expandindo em períodos de alto tráfego.
O nível de Visualização do AEM é composto por um único nó AEM. Isso é usado para garantir a qualidade do conteúdo antes de publicar no nível de publicação. Tempos de inatividade ocasionais, especialmente durante implantações, podem ocorrer no nível de visualização.
Edge Delivery Services system-architecture-edge-delivery-services
Os Edge Delivery Services são operados em cima de uma CDN e infraestrutura sem servidor para montar as páginas da maneira mais eficiente. Quando um recurso é solicitado, a infraestrutura sem servidor é responsável por converter o conteúdo publicado em HTML semântico e serve como origem para o CDN.
A conversão para HTML semântico acontece a partir do conteúdo publicado veiculado a partir do nível de criação AEM ou do ambiente de Criação baseado em documento.
O diagrama a seguir ilustra como você pode editar o conteúdo de sites no Microsoft Word (Criação baseada em documento ) e publicar no Edge Delivery. Ele também mostra o método tradicional de publicação do AEM usando os vários editores.
Como os Edge Delivery Services fazem parte do Adobe Experience Manager e, como tal, o Edge Delivery, o AEM Sites e o AEM Assets podem coexistir no mesmo domínio. Este é um caso de uso comum para sites maiores. Por exemplo, um cliente pode querer migrar uma página específica com alto tráfego para o Edge Delivery Services, enquanto todas as outras páginas podem permanecer no nível AEM do Publish.
Arquitetura de desenvolvimento development-architecture
Repositórios de código code-repositories
O código e a configuração de projetos AEM são armazenados em um repositório de código, do qual os pipelines de implantação são emitidos quando alterações são feitas. Há diferentes tipos de repositórios de código:
- Pilha completa de AEM:
- Para armazenar o código Java do lado do servidor e as configurações OSGI para os níveis de criação e publicação do AEM.
- Front-end AEM:
- Para armazenar o código JS, CSS e HTML do lado do cliente para os níveis de criação e publicação do AEM.
Para obter mais detalhes sobre clientlibs, consulte Usando bibliotecas do lado do cliente no AEM as a Cloud Service.
- Para armazenar o código JS, CSS e HTML do lado do cliente para os níveis de criação e publicação do AEM.
- Camada da Web no AEM:
- Armazena os arquivos de configuração do Dispatcher para o nível de publicação AEM.
- Configuração do AEM:
- Permite armazenar várias opções de configuração (como configurações de CDN ou configurações de tarefas de manutenção) para o nível de publicação do AEM e o nível de publicação do Edge Delivery Services.
- Entrega da borda do AEM:
- Para armazenar o JS do lado do cliente, CSS e código HTML para sites criados com os Edge Delivery Services
Pipelines de implantação deployment-pipelines
Desenvolvedores e administradores gerenciam o aplicativo do AEM as a Cloud Service usando um serviço de Integração contínua/entrega contínua (CI/CD), disponibilizado por meio da Cloud Manager. A Cloud Manager também expõe tudo o que está relacionado a monitoramento, manutenção, solução de problemas (por exemplo, acesso a arquivos de registro) e licenciamento.
O Cloud Manager gerencia todas as atualizações nas instâncias da AEM as a Cloud Service. É obrigatório e a única maneira de criar, testar e implantar o aplicativo do cliente nos níveis de criação, pré-visualização e publicação. Essas atualizações podem ser acionadas por Adobe, quando uma nova versão do AEM Cloud Service estiver pronta, ou por você mesmo, quando uma nova versão do aplicativo estiver pronta.
Isso é implementado por um pipeline de implantação, acoplado a cada ambiente em um programa. Quando um pipeline do Cloud Manager está em execução, ele cria uma nova versão do aplicativo do cliente para os níveis de criação e de publicação. Isso é feito combinando os pacotes mais recentes do cliente com a imagem de Adobe da linha de base mais recente.
O pipeline de implantação é acionado quando os clientes estão fazendo alterações de código ou quando o Adobe está implantando uma nova versão de manutenção.
Em ambos os casos, o mesmo conjunto de testes automatizados é executado. Ele é composto de testes:
-
contribuição da Adobe para garantir a integridade do produto
-
testes contribuídos pelo cliente
- Testes funcionais: por meio de solicitações http para o nível de autor ou publicação do AEM
- Testes de interface do usuário: com base na tecnologia Selenium ou Cypress
Esses testes automatizados são executados no ambiente de preparo, por isso é importante manter o conteúdo do ambiente de preparo o mais próximo possível do conteúdo na instância de produção.
Depois que todos os testes forem concluídos com êxito, o novo código será implantado no ambiente de produção.
Atualizações contínuas rolling-updates
O Cloud Manager automatiza totalmente a transição para a versão mais recente do aplicativo AEM, atualizando todos os nós de serviço usando um padrão de atualização contínua. Isso significa que não há tempo de inatividade para o serviço de autoria ou publicação.
Principais inovações desde o AEM 6.x major-innovations-since-aem-6x
A arquitetura mais recente do AEM as a Cloud Service apresenta algumas mudanças e inovações fundamentais em comparação às gerações anteriores (AEM 6.x e anterior):
-
Todos os arquivos são enviados diretamente e veiculados em um Armazenamento de dados na nuvem. A transmissão de bits associada nunca passa pelo JVM dos serviços de criação e publicação do AEM. Como resultado, os nós dos serviços de criação e publicação de AEM podem ser menores e, portanto, mais compatíveis com a expectativa de dimensionamento automático rápido. Para profissionais de negócios, isso resulta em uma experiência mais rápida ao carregar e baixar imagens, vídeos e outras tarefas.
-
Todas as operações que consistem em publicar conteúdo agora envolvem um pipeline que segue um padrão de assinatura. O conteúdo publicado é enviado para várias filas no pipeline, que todos os nós do serviço de publicação assinam. Como resultado, o nível de criação não precisa ter conhecimento do número de nós no serviço de publicação. Isso permite o dimensionamento automático rápido do nível de publicação.
-
A arquitetura separa completamente o conteúdo do aplicativo do código e da configuração do aplicativo. Todos os códigos e configurações são praticamente não mudam e são enviados para a imagem de linha de base usada para criar os vários nós dos serviços de criação e publicação. Como resultado, existe uma garantia absoluta de que cada nó é idêntico, e as alterações no código e na configuração só podem ser realizadas globalmente ao executar um pipeline do Cloud Manager.
-
A arquitetura inclui vários microsserviços criados na tecnologia sem servidor, especialmente com o tempo de execução do Adobe I/O
Informações adicionais further-information
-
Configuração do programa
-
Arquitetura de desenvolvimento
-
Edge Delivery Services: