O DevOps abrange os processos, os métodos e a comunicação necessários para:
O DevOps tem como objetivo evitar problemas como:
Uma implantação do Adobe Experience Manager (AEM) geralmente consiste em vários ambientes, usados para propósitos diferentes em níveis diferentes:
O ambiente de produção deve ter pelo menos um autor e um ambiente de publicação.
Recomenda-se que todos os outros ambientes também consistam em um ambiente de autor e publicação, para refletir o ambiente de produção e permitir testes precoces.
Os desenvolvedores são responsáveis por desenvolver e personalizar o projeto proposto (seja sites, aplicativos móveis, implementação de DAM etc.), com todas as funcionalidades necessárias. Eles:
A configuração do ambiente de desenvolvimento pode ser dependente de vários fatores, embora seja geralmente composta de:
Dependendo da escala do seu sistema, o ambiente de desenvolvimento pode ter instâncias de autor e de publicação.
Este ambiente é usado pela equipe de controle de qualidade para testar o novo sistema; design e função. Ele deve ter ambientes de autor e publicação, com conteúdo adequado, e fornecer todos os serviços necessários para possibilitar um conjunto completo de testes.
O ambiente de preparação deve ser um espelho do ambiente de produção - configuração, código e conteúdo:
O ambiente de produção consiste nos ambientes necessários para realmente criar e publicar sua implementação.
Um ambiente de produção consiste em pelo menos uma instância de autor e uma instância de publicação:
Dependendo da escala do projeto, ele geralmente consiste em várias instâncias de autor e/ou publicação. Em um nível inferior, o repositório também pode ser agrupado em várias instâncias.
As instâncias de autor geralmente estão localizadas atrás do firewall interno. Este é o ambiente em que você e seus colegas realização tarefas de autoria, como:
O conteúdo que foi ativado é empacotado e colocado na fila de replicação do ambiente do autor. O processo de replicação transporta esse conteúdo ao ambiente de publicação.
Para fazer a replicação reversa dos dados gerados em um ambiente de publicação de volta ao ambiente de autor, um ouvinte de replicação no ambiente de autor sondará o ambiente de publicação e recuperará esse conteúdo da caixa de saída de replicação reversa do ambiente de publicação.
Um ambiente de publicação geralmente está localizado na Zona desmilitarizada (DMZ). Trata-se do ambiente em que os visitantes acessam seu conteúdo (por exemplo, por meio de um site ou de um aplicativo móvel) e interagem com ele, seja publicamente ou dentro da sua intranet. Um ambiente de publicação:
O ambiente de publicação gera seu conteúdo dinamicamente em tempo real, e o conteúdo pode ser personalizado para cada usuário individual.
O código deve sempre ser propagado de baixo para cima:
O código (por exemplo, modelos de design e funcionalidade de aplicativos Web personalizados) é geralmente transferido por meio da exportação e da importação de pacotes entre os diferentes repositórios de conteúdo. Quando significativo, essa replicação pode ser configurada como um processo automático.
AEM projetos geralmente acionam a implantação do código:
O conteúdo que está sendo criado para produção deve sempre ser criado na instância de autor de produção.
O conteúdo não deve seguir o código transferido de ambientes inferiores para os superiores, pois fazer com que os autores criem conteúdo em máquinas locais ou ambientes inferiores e depois o transfiram para o ambiente de produção não é uma boa prática e provavelmente introduzirá erros e inconsistências.
O conteúdo de produção deve ser transferido do ambiente de produção ao ambiente de preparo, para garantir que o ambiente de preparo forneça um ambiente de testes eficiente e preciso.
Isso não significa que o conteúdo temporário precise ser continuamente sincronizado com o ambiente de produção. Atualizações regulares são suficientes, mas principalmente antes de testar uma nova iteração de código. O conteúdo nos ambientes de controle de qualidade e desenvolvimento não precisa ser atualizado com tanta frequência. Ele deve ser apenas uma boa representação do conteúdo do ambiente de produção.
O conteúdo pode ser transferido: