Skip to main content

On Premises ou Nuvem

A figura abaixo ilustra o desenho da arquitetura do Selbetti 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 Selbetti 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 Selbetti Interactive Intelligence
    • Container Selbetti II app: container que executa a interface web e toda inteligência da aplicação Selbetti Interactive Intelligence.
    • Container Repository db: container que armazena o repositório (banco de dados) da aplicação Selbetti 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 Selbetti 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 Selbetti 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 Selbetti 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 Selbetti 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 e Docker Compose instalados para que seja possível provisionar os contêineres necessários para uso da aplicação.