Skip to content

Migração do repositório com foco no uso do Docker Swarm e de conceitos da arquitetura moderna #13

@igr-santos

Description

@igr-santos

🏗️ Arquitetura e Princípios de Infrastructure as Code

Esta issue tem como objetivo adicionar Docker Swarm para orquestração de containers e entender como essa arquitetura e seus princípios funcionam é crucial para uma configuração adequada dos serviços.

O gerenciamento de redes entre os nodes no Docker Swarm é feito principalmente através de redes de sobreposição (overlay networks), que criam uma camada de rede virtual unificada em vários hosts físicos. Isso permite que os contêineres em diferentes nós se comuniquem perfeitamente, como se estivessem no mesmo host.

🧠 Visão Conceitual: Manager como "Single Source of Truth"

Nossa arquitetura Docker Swarm segue princípios de Infrastructure as Code (IaC), onde o Manager Node atua como o "cérebro" e única fonte de verdade para toda a configuração do cluster.

Componentes Principais

  • Manager Node: Nó de controle que gerencia o cluster e processa configurações
  • Worker Nodes: Nós que executam os serviços distribuídos
  • Services: Aplicações containerizadas replicadas no cluster
  • Stack: Conjunto de serviços definidos no docker-compose.yml

🎯 Porque Esta Abordagem

Manager como Centro de Controle:

  • ✅ Centralização: Todas as configurações partem de um único ponto
  • ✅ Consistência: Garante que todos os serviços rodem com a mesma configuração
  • ✅ Rastreabilidade: Mudanças são versionadas e auditáveis
  • ✅ Recuperação: Recuperação rápida de desastres através de backups centralizados

Workers como Compute Layer:

  • ⚡ Escalabilidade: Adicione capacidade computacional sem afetar configurações
  • 🔄 Stateless: Workers podem ser substituídos sem perda de configuração
  • 📊 Foco: Dedicados apenas à execução de containers

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions