Arquitetura do Sistema#

A Plataforma Digital AMP foi concebida como um sistema modular baseado na web para recolher, processar, armazenar e visualizar dados de minirredes. É construída sobre a Prospect Energy Platform e apoia a utilização tanto a nível nacional como regional.

A nível nacional, a plataforma de cada país é utilizada para gerir os dados locais das minirredes, monitorizar o desempenho e apoiar a elaboração de relatórios. A nível regional, uma plataforma central reúne dados selecionados das plataformas nacionais para proporcionar uma visão mais abrangente do desempenho do programa entre os países.

Principais Componentes#

Diagrama de Arquitetura do Sistema
Arquitetura do Sistema#

Componente

Descrição

Núcleo (Plataforma Ruby)

Aplicação principal através da qual os utilizadores interagem com a plataforma. Trata da lógica de negócio, da interface web, das APIs e da gestão de utilizadores.

Worker de Dados

Este serviço processa os dados recebidos, executa tarefas em segundo plano e apoia a transformação e validação de dados.

PostgreSQL/TimescaleDB

Esta é a base de dados principal utilizada para armazenar dados estruturados, incluindo registos da plataforma e dados de séries temporais das operações das minirredes.

MinIO

É utilizado para armazenar ficheiros e objetos, como carregamentos, relatórios e outros ativos de dados de grande dimensão.

Grafana

Fornece painéis e visualizações para monitorizar indicadores de desempenho e tendências.

Nginx

Atua como proxy inverso e encaminha os pedidos para os serviços adequados.

Faktory

Gere tarefas em segundo plano, como o processamento agendado de dados e filas de tarefas.

Arquitetura de Fluxo de Dados#

Diagrama de Arquitetura de Fluxo de Dados

A plataforma segue um fluxo simples:

  1. Os dados são recolhidos a partir de equipamento de minirrede, sistemas externos ou carregamentos manuais.

  2. Os dados são enviados para a plataforma através da aplicação ou das APIs.

  3. Os serviços em segundo plano processam e validam os dados

  4. Os dados limpos e estruturados são armazenados na base de dados.

  5. Os ficheiros e objetos de grande dimensão são armazenados no armazenamento de objetos.

  6. Os painéis e relatórios são gerados para os utilizadores através da aplicação e do Grafana.