Architecture
Arquitetura Self-host
Arquitetura de sites na deco.cx
A arquitetura de alto nível da deco integra diferentes papéis (Usuário, Usuário de Negócios, Desenvolvedor), um servidor web do site, uma rede de entrega de conteúdo (CDN), funcionalidades administrativas e sistemas externos (bancos de dados, e-commerce, SaaS). O foco está no gerenciamento de conteúdo e ambientes de desenvolvimento/configuração, com interação entre diversos stakeholders e componentes.
Visão Geral da Arquitetura
-
Usuários:
- Usuário Final: Acessa o site por meio da CDN da deco.
- Usuário de Negócios: Interage com o sistema pelo ambiente web para visualizar e editar conteúdo no “Admin”.
- Desenvolvedor (Dev): Trabalha localmente, envia alterações pelo Git e realiza deploy via pipelines de CI/CD.
-
Componentes do Sistema:
- CDN: Entrega o site aos usuários finais.
- Site: O servidor web acessado pelos usuários através da CDN.
- Ambiente Web (Web Env): Onde desenvolvedores e usuários de negócios visualizam alterações que estão salvas no ambiente.
- Painel Administrativo (Admin): Centraliza o controle das alterações, salvando-as no Git e refletindo as alterações nos ambientes web e local.
- Git: Sistema de controle de versão, integrando mudanças do Admin e desenvolvedores, com deploy via CI/CD.
- Sistemas Externos (Banco de Dados, E-commerce, SaaS): Integram dados e serviços consumidos pelo site.
Componentes e Fluxos de Processo
-
Entrega de Conteúdo:
- Usuários: Interagem com o site ao vivo pela CDN, com conteúdo otimizado para rápida entrega.
-
Fluxo de Trabalho do Usuário de Negócios:
- Visualizar/Editar: Usuários de negócios editam conteúdo no Admin e visualizam as mudanças no ambiente web.
- Publicar: As alterações são salvas no Git e propagadas ao site via pipeline CI/CD.
-
Fluxo de Trabalho do Desenvolvedor:
- Ambiente Local: Desenvolvedores fazem mudanças locais, sincronizam com o Admin, e enviam ao Git.
- CI/CD: Após o envio ao Git, as mudanças são automaticamente deployadas via CI/CD.
Arquitetura deco.cx com Self-host do Site
Mudança na Arquitetura com Self-Host do Site
Com o self-host, o site passa a ser hospedado na infraestrutura da própria organização. Veja as principais mudanças e impactos:
Mudanças Principais
-
Self-host do Site e Sistemas Internos:
- O Site é hospedado localmente ou em infraestrutura própria, fora do controle direto da deco.cx.
- Sistemas Internos (banco de dados e softwares) se integram diretamente com o site self-hosted.
-
Túnel para Acessar o Site:
- Usuários e sistemas da deco.cx acessam o site self-hosted via um túnel ou acesso público, a escolha e controle da organização.
-
CI/CD e Git Gerenciam o Site:
- Mesmo com o self-host, o CI/CD ainda é necessário para publicar as alterações de código e conteúdo no Site, sob responsabilidade da organização.
-
Continuidade da Infraestrutura deco.cx:
- O Web Env e o Admin permanecem na infraestrutura da deco.cx. Caso seja necessário, a organização deve prover e configurar o acesso do ambiente web aos sistemas internos via túnel (ou acesso público).
Impacto da Mudança
- Maior Controle: A organização tem mais controle sobre o site e sistemas internos.
- Complexidade Adicional: O túnel e CI/CD próprios aumentam a responsabilidade de manutenção.
- Sem Recursos deco.cx: Não há acesso à CDN e outros serviços da deco.cx responsáveis pela segurança e otimização do acesso ao site.
- Customização Local: Maior flexibilidade para acesso aos sistemas internos.
Aspectos Relevantes da Solução Self-Host
-
Cache de Renderização Assíncrona: Por padrão, a CDN realiza cache das seções renderizadas na rota
/deco/render
(HTMX e partials). Sem esse cache, o sistema pode ser sobrecarregado com requisições desnecessárias. Portanto, é recomendável implementar o cache desses elementos na solução self-host. -
Cache do Loader: As chamadas aos loaders recebem cache local no servidor web. Esse cache, por padrão, ocupa 1GB e pode consumir o espaço em disco da imagem se não for montado com um tamanho adequado. Esta e outras opções podem ser configuradas via variáveis de ambiente e são definidas no código do deco runtime.
Arquitetura deco.cx com Self-host do Site e Ambientes
Mudança na Arquitetura com Self-Host do Site e dos Ambientes (Envs)
Com essa mudança, tanto o Site quanto os Ambientes Web são auto-hospedados. Isso dá à organização controle total sobre desenvolvimento, produção e integração com sistemas internos.
Mudanças Principais
-
Self-Host do Site e Ambientes (Envs):
- Tanto o Site quanto o Web Env são hospedados em infraestrutura própria.
-
Túnel para Acessar o Ambiente Web:
- Interação com o ambiente web auto-hospedado ocorre via túnel, mantendo conectividade com a deco.cx. É necessária intervenção da deco.cx caso o túnel não seja acessível publicamente.
-
CI/CD e Git:
- CI/CD gerencia as mudanças localmente, com deploy automático para o site self-hosted, mas sob responsabilidade da organização.
-
Continuidade da Infraestrutura deco.cx:
- O Admin continua conectado à deco.cx, mas depende do túnel para interagir com o ambiente self-hosted.
Impacto da Mudança
- Controle Completo: Total controle sobre site e ambientes, oferecendo flexibilidade.
- Independência da deco.cx: Menor dependência de serviços terceirizados para desenvolvimento.
- Complexidade de Manutenção: Maior responsabilidade sobre segurança e desempenho.
- CI/CD Local: Pipelines de CI/CD personalizados são necessários para o deploy local.
Conclusão
Com self-host do site e dos ambientes, a organização tem maior controle e flexibilidade, mas assume mais responsabilidade por segurança e manutenção, além da conectividade dos sistemas.
Was this page helpful?