Entenda a Arquitetura do SAPI

A arquitetura do SAPI é composta por duas plataformas principais: a antiga e a Core/DCG. Aqui está uma explicação detalhada da infraestrutura conforme o documento fornecido:

Plataforma Antiga - SOLO

  1. Script Local em Cada Máquina:
    • Cada máquina possui um script que é executado a cada 5 minutos via cron.
    • Esse script lê um arquivo JSON armazenado no S3, que contém a versão atual do sistema.
    • Se a versão do JSON for diferente da versão instalada na máquina, o script baixa a nova versão, constrói o pacote e o coloca em produção.

Plataforma Core/DCG

  1. Servidores de Produção:

    • Existem vários servidores de produção, nomeados como:
      • production-sapi-us-east-1c-44-new-DCG
      • production-sapi-us-east-1c-59-new-DCG
      • production-sapi-us-east-1c-81-new
      • production-sapi-us-east-1c-52-new
    • Cada um desses servidores está localizado em diferentes zonas de disponibilidade (AZs) para garantir redundância e disponibilidade.
  2. Domínios e VPNs:

  3. Deployment e Versões:

    • O processo de deploy e versão é gerenciado através de um arquivo JSON (sapi-version.json) armazenado em sapi-deploy.
  4. Conexões com Clientes:

    • A arquitetura inclui acesso à internet pública e um banco de dados de clientes.
    • Há firewalls (FW) dos clientes para garantir a segurança das conexões.
    • As VPNs são utilizadas para assegurar a comunicação segura entre os servidores e os sistemas dos clientes.

Considerações Gerais

  • Automação e Atualizações: Tanto na plataforma antiga quanto na Core/DCG, há um forte uso de automação para garantir que as versões mais recentes do sistema sejam deployadas automaticamente.
  • Segurança: O uso de VPNs e firewalls garante que os dados dos clientes e a comunicação entre os servidores sejam protegidos.
  • Redundância e Disponibilidade: A distribuição dos servidores em várias zonas de disponibilidade aumenta a resiliência do sistema, assegurando que a aplicação continue operando mesmo em caso de falhas em uma das zonas.

Esta arquitetura permite uma operação robusta e segura, com processos automáticos de atualização e redundância para garantir alta disponibilidade e proteção dos dados.