A figura acima representa a arquitetura em camadas de um servidor que utiliza Ubuntu Server, Docker e containers para oferecer uma solução robusta de gestão de carregadores elétricos (EVSE). Vamos entender cada camada e como elas trabalham em conjunto.
🖥️ Camada 1: Hardware
O hardware é a fundação do sistema. Para suportar 50 carregadores EVSE conectados simultaneamente via protocolo OCPP 1.6 (WebSocket Security), recomenda-se:
CPU: Quad-core (mínimo Intel i5 ou Xeon equivalente).
Memória RAM: 8 GB (para lidar com múltiplos processos Node.js, Docker e banco de dados).
Armazenamento: SSD de pelo menos 256 GB (com IOPS adequados para banco de dados).
Rede: Conexão estável de pelo menos 100 Mbps com baixa latência.
Esse hardware garante processamento suficiente para gerenciar conexões seguras (TLS/WSS) e armazenar os dados transacionais no banco de dados.
🐧 Camada 2: Sistema Operacional (Ubuntu Server)
O Ubuntu Server atua como base estável e segura:
Faz o gerenciamento de processos.
Oferece suporte a pacotes essenciais de rede e segurança.
Permite integração simplificada com Docker e Node.js.
Sua leveza e confiabilidade o tornam ideal para implantações em nuvem ou servidores físicos.
🐳 Camada 3: Docker
O Docker fornece a camada de virtualização leve que permite executar serviços em containers isolados.
Benefícios:
Padronização do ambiente de execução.
Facilidade de escalabilidade.
Isolamento entre aplicações e dependências.
📦 Camada 4: Containers
Nesta camada estão os serviços em containers:
Backend (Node.js)
Roda o script responsável por gerenciar a comunicação com os carregadores elétricos (EVSE).
Implementa o protocolo OCPP 1.6 com WebSocket seguro (WSS) para autenticação e troca de mensagens.
Expõe seus serviços pela porta 3000 na rede pública, permitindo acesso externo controlado.
MongoDB
Banco de dados que armazena informações de sessões de carregamento, transações e dados dos EVSE.
Mantido em rede privada, acessível apenas pelo backend, garantindo maior segurança.
🌐 Redes: Privada e Pública
Rede Privada (Docker Network)
Conecta o Backend ao MongoDB, permitindo acesso exclusivo e seguro ao banco de dados.
Rede Pública
Expõe apenas o Backend na porta 3000, que responde às conexões dos carregadores EVSE.
Esse isolamento protege o banco de dados contra acessos externos indevidos.
✅ Conclusão
Essa arquitetura garante:
Segurança: comunicação WSS (TLS) com os carregadores.
Escalabilidade: fácil adição de novos containers em Docker.
Isolamento: banco de dados protegido em rede privada.
Performance: hardware projetado para suportar até 50 EVSE simultâneos.
Com esse modelo, você terá um ambiente confiável para gerenciar carregadores elétricos em conformidade com o protocolo OCPP 1.6, pronto para expansão futura conforme a demanda aumentar.
Deixe um comentário