BLOG | ESCRITÓRIO DO CTO

IA generativa e tipos de dados emergentes impactam a arquitetura do aplicativo

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 02 de abril de 2024

Em 2022, notei uma mudança sutil na arquitetura de aplicativos que se manifestou no mercado com discussões sobre novos protocolos e dados. Isso não foi tão surpreendente, pois, como mencionei naquela época, as arquiteturas de aplicativos historicamente crescem e começam a moldar os mercados de entrega e segurança de aplicativos a cada cinco anos, e ganham domínio cerca de cinco anos depois disso.

Em 2023, pensei que essa mudança se tornaria evidente por volta de 2025. Mas eu não conseguia prever a chegada da IA generativa e seu efeito explosivo na evolução dessas arquiteturas.

O que quer dizer que essa mudança está acontecendo mais rápido e terá um efeito dramático em tudo.

Mas para não ficarmos todos presos na evolução arquitetônica, devemos realmente entender o que a impulsiona: os dados. 

Diferentes tipos de dados

Normalmente, quando alguém diz “dados”, o ouvinte imediatamente evoca imagens de linhas de dados de clientes e produtos armazenados em algum lugar em um RDBMS enorme. Certo, talvez não todos os ouvintes, mas muitos ouvintes o fazem. Isso ocorre porque o design dominante de armazenamento de dados se inclina para dados estruturados e tabulares. Abra uma planilha e você verá o que quero dizer. Ele é baseado em linhas e colunas, e um RDBMS não é tão diferente assim.

Poderíamos argumentar que existem armazenamentos de dados NoSQL e de chave-valor, armazenamentos de objetos e construções de dados semelhantes e, portanto, as arquiteturas de aplicativos não giram em torno de dados tabulares. Mas, vamos lá, elas realmente fazem isso. Todos esses outros tipos de armazenamento de dados são usados por bons motivos, mas a maioria desses motivos era auxiliar ao aplicativo e, portanto, não alterava significativamente os princípios arquitetônicos gerais que orientaram a construção do aplicativo por décadas.

Mas a distribuição crescente de aplicativos — e modelos híbridos — gera muitas necessidades. Como observabilidade e segurança, que demandam a geração de dados de telemetria . A distribuição requer uma maneira de entender os relacionamentos entre armazenamentos de dados distribuídos, o que leva a gráficos de conhecimento. E a IA generativa exige maneiras de aumentar e treinar modelos, o que leva ao uso de incorporações armazenadas em bancos de dados vetoriais.

Esses são quatro tipos muito diferentes de dados e vêm com novas maneiras de armazená-los e acessá-los. Todos os quatro estão rapidamente se tornando “componentes padrão” de uma aplicação moderna, particularmente aqueles que são projetados para facilitar o uso de IA generativa. 

Figura: Uma visão básica e de alto nível de um aplicativo moderno habilitado para IA
  1. A telemetria está promovendo mudanças significativas no lado operacional do mundo, pois entendemos que os formatos em colunas são uma maneira melhor de transferir e processar dados de streaming em tempo real, que é o que os dados de telemetria realmente são.
  2. Gráficos de conhecimento e tecnologia de gráficos estão surgindo para federar dados distribuídos e entender relacionamentos complexos entre fontes de dados. Essa tecnologia nos traz protocolos como o GraphQL, que estão mudando drasticamente a maneira como aproveitamos APIs para encontrar e gerenciar dados em toda a empresa distribuída.
  3. A crescente adoção de técnicas de geração aumentada de recuperação (RAG) para IA generativa está direcionando os bancos de dados vetoriais como parte do aplicativo em si, em vez de um armazenamento de dados em algum lugar mais profundo na arquitetura.
  4. E, por fim, não podemos esquecer dos dados generativos de IA. Um LLM gera novos dados toda vez que você faz uma solicitação. Isso representa desafios significativos para o pessoal de segurança, que precisa descobrir como identificar potenciais ameaças e problemas em dados não estruturados gerados dinamicamente .

São os dados — com seus diferentes formatos, protocolos, usos e aplicações — que estão impulsionando essa mudança. O resultado é uma abordagem headless que depende de APIs de maneiras que muitas pessoas nunca consideraram antes. Ou seja, os recursos e funções de negócios são expostos como APIs sem consideração à camada de apresentação tradicional, o que permite que uma gama maior de interfaces seja desenvolvida para um conjunto mais robusto de dispositivos de usuários. As APIs tornam os dados e os recursos acessíveis , e é por isso que são tão importantes para a transformação digital

Vemos essa abordagem em muitos aplicativos modernos que aproveitam microsserviços. Esta é a razão pela qual as estruturas de interface do usuário são tão predominantes (e causam debate na Internet). Essas estruturas são usadas para criar aplicativos individuais que aproveitam APIs para acessar funcionalidades e dados. Elas são entidades separadas dos “aplicativos” de back-end que usam para conduzir fluxos de trabalho e entregar valor ao mercado.

Tudo isso está impulsionando arquiteturas sem cabeça. A mudança já estava em andamento, mas a chegada da IA generativa iluminou a criticidade dos dados e acelerou-a.

Isso, por sua vez, terá um impacto profundo na entrega e segurança dos aplicativos, à medida que surgem novas ameaças e desafios que devem ser enfrentados para satisfazer as necessidades dos negócios e dos usuários.