Skip to main content

On Premises ou Nuvem


A figura abaixo ilustra o desenho da arquitetura do MD2Selbetti Interactive Intelligence a ser implementada em ambiente On Premises ou Nuvem.

arquitetura-Simplificada.jpg

 

Descrição dos componentes da arquitetura: 

  1. User: usuário da aplicação MD2Selbetti Interactive Intelligence
  2. Reverse Proxy: solução que atua como intermediário entre os usuários finais e os servidores que hospedam os aplicativos web. Um proxy reverso repassa o tráfego de rede recebido externamente para um conjunto de servidores, tornando-o a única interface para as requisições externas.
  3. Host Application Layer (camada de aplicação): host responsável por armazenar os containers Docker que suportam a aplicação MD2Selbetti Interactive Intelligence
    • Container MD2Selbetti II app: container que executa a interface web e toda inteligência da aplicação MD2Selbetti Interactive Intelligence.
    • Container Repository db: container que armazena o repositório (banco de dados) da aplicação MD2Selbetti Interactive Intelligence.
    • External volume:  Os volumes externos em ambientes de contêineres são essenciais para a gestão de dados persistentes. Eles permitem que os dados sejam armazenados de forma segura no sistema de arquivos do host, garantindo que as informações permaneçam acessíveis e intactas mesmo após o contêiner ser destruído ou recriado. Isso é especialmente importante para aplicações que necessitam de armazenamento de dados persistente, como sistemas de bancos de dados e aplicações que gerenciam arquivos e mídias.
  1. Data Layer (camada de dados):  host responsável por armazenar o motor de ingestão, orquestração e armazenamento de dados corporativos que serão utilizados no projeto. 
    • Container MD2Selbetti Data Engine: container que executa o motor de ingestão de dados, responsável por recuperar as informações nas fontes de dados origem e armazenar os dados no ambiente da solução MD2Selbetti Interactive Intelligence
    • Apache Airflow: container que executa o motor de orquestração dos processos de ingestão de dados do Data Engine
    • Container Sandbox db: container que armazena os dados corporativos que serão utilizados na solução
    • External volume: Os volumes externos em ambientes de contêineres são essenciais para a gestão de dados persistentes. Eles permitem que os dados sejam armazenados de forma segura no sistema de arquivos do host, garantindo que as informações permaneçam acessíveis e intactas mesmo após o contêiner ser destruído ou recriado. Isso é especialmente importante para aplicações que necessitam de armazenamento de dados persistente, como sistemas de bancos de dados e aplicações que gerenciam arquivos e mídias.
  2. Dados corporativos: dados corporativos das empresas contratantes da solução MD2Selbetti Interactive Intelligence que fazem parte do escopo do projeto
  3. Internet:  comunicação a rede externa (internet) possibilitando o acesso às APIs dos Large Language Models (LLMs) e ao registro de repositórios dos containers
  4. MD2 Image Registry: o image registry é um repositório centralizado para armazenar e distribuir imagens de containers, facilitando o versionamento, compartilhamento e atualização dos containers
  5. LLM Layer: camada responsável por receber as informações solicitadas pelo MD2Selbetti Interactive Intelligence e fazer o processamento via APIs dos Large Language Models (LLMs), aplicando Inteligência Artificial Generativa para gerar insights de negócio


Pré-requisitos de infraestrutura e softwares necessários para a criação dos hosts Application Layer e Data Layer:

 
  • Application Layer (camada da aplicação): 4 Cores, 8GB de RAM, 100GB disco SSD;
  • Data Layer (camada de dados): 8 Cores, 16GB de RAM, 150GB disco SSD;
  • Os hosts podem ser disponibilizados no sistema operacional Linux ou Windows, ficando a critério da Rudnik escolher o sistema operacional que se adeque melhor ao seu padrão de infraestrutura. Independente do sistema operacional escolhido, os hosts devem possuir os aplicativos Docker Docker Compose instalados para que seja possível provisionar os contêineres necessários para uso da aplicação.