top of page
  • Foto do escritorMarcelo Santos

Estratégia de Plataforma aplicada a Arquitetura Orientada a Eventos


Fotografia de Clem Onojeghuo em Unsplash


Arquitetura Orientada a Eventos não é uma novidade, mas a adoção massiva desse modelo arquitetural começou há apenas alguns anos. Hoje em dia existe todo um ecossistema de referências, padrões, livros, cursos e ferramentas muito mais acessíveis que há dez anos atrás.

Como o foco desse artigo não é explicar como funciona Arquitetura Orientada a Eventos, eu irei assumir que você já conhece o básico sobre o tema.

Aqui vão alguns links para te ajudar, caso esse não seja o caso:

O que eu quero dizer com “Estratégia de Plataforma”?

O excelente livro “Plataforma – A Revolução da Estratégia” descreve o conceito de plataforma de forma bem simples: um local onde produtores e consumidores se encontram, promovendo interações que criam valor para ambas as partes.


Isso soa bem familiar não é? Uma feira livre é um local onde esse tipo de interação acontece. O mesmo acontece em um leilão aberto, onde os vendedores encontram os compradores e muitos negócios acontecem.

A infraestrutura necessária é preparada para que o leilão aconteça e algumas regras são estabelecidas, para que não haja desordem e tanto vendedores quanto compradores sejam beneficiados.

Hoje em dia temos um fator novo sendo adicionado: Tecnologia digital, que aumenta o alcance e a velocidade com que essas interações acontecem.

As estratégias de plataforma transformaram muitos setores da economia, do transporte com empresas como Uber e Lyft, ao alojamento com a Airbnb, e até o comércio de varejo com empresas como Amazon e Alibaba.

As plataformas funcionam conectando diferentes grupos de usuários (como motoristas e passageiros, no caso do Uber) e facilitando as transações entre eles. Essas plataformas normalmente se beneficiam de efeitos de rede, onde o valor da plataforma para qualquer usuário individual aumenta à medida que mais usuários se juntam à plataforma. Portanto, as estratégias de plataforma muitas vezes envolvem o crescimento rápido para tirar proveito desses efeitos de rede.

O que é uma Plataforma de Eventos?

Uma Plataforma de Eventos é uma estrutura planejada e construída para oferecer a infraestrutura necessária para que exista a interação de produtores e consumidores de eventos, e estabelece condições de governança para regular essas interações. O objetivo é facilitar o consumo desses eventos, permitindo a criação de valor para todos os participantes.

Quanto mais aumenta a variedade e disponibilidade dos eventos na plataforma, mais os consumidores se beneficiam. Porém, existem alguns critérios mínimos que esses eventos precisam seguir.

Principais componentes que compõem uma Plataforma de Eventos

Backbone de Eventos

Esse é o centro da Arquitetura Orientada a Eventos. A espinha dorsal que fornece a camada de infraestrutura para a comunicação e persistência de eventos, permitindo:

  • Comunicação de eventos entre produtores e consumidores por meio de Publish-Subscribe;

  • Armazenamento de eventos por tempo especificado ou por tempo indeterminado;

  • Capacidade de reprodução de eventos do passado;

  • Alta disponibilidade, escalabilidade e tolerância a falhas.

Existem várias tecnologias que podem servir como um Backbone de Eventos. Em geral, ferramentas que trabalham com Streaming de Eventos se encaixam muito bem nos requisitos expostos acima. Ferramentas como Apache Kafka, Apache Pulsar, AWS Kinesis, Redis Streams, RabbitMQ Streams, entre outras.

Apache Kafka é sem dúvidas a mais popular delas. Com um ecossistema maduro, uma comunidade extremamente engajada, grande quantidade de profissionais especialistas no mercado e diversas ferramentas disponíveis.

Catálogo de Eventos

Uma forma de documentar e capturar as informações relacionadas aos eventos, como quem é o produtor, quem são os consumidores, que tipo de informação esse evento disponibiliza, qual é a estrutura de dados, controle de versionamento de eventos com foco em facilidade de descoberta, qualidade dos eventos, observabilidade e linhagem dos dados.

Um exemplo de catálogo de eventos é a ferramenta open source EventCatalog.


Governança de Eventos

Governança de Eventos é uma forma de promover a disponibilidade, qualidade e segurança dos eventos através de procedimentos, políticas e padrões bem definidos e aplicados durante o ciclo de vida da construção e evolução de soluções orientadas a eventos.

A medida que os eventos são publicados na plataforma, aumenta também a necessidade de ser capaz de manter a Linhagem do Dado (ou Data Lineage).

Para isso, alguns procedimentos passam a ser necessários, por exemplo:

  • Definição e modelagem de eventos com uma definição clara e precisa dos eventos. Isso inclui coisas como a estrutura de dados do evento, a origem do evento e domínio de negócio relacionado;

  • Curadoria dos eventos, evitando duplicidade desnecessária e fomentando o reuso de eventos existentes;

  • Promoção de padronização para facilitar a interoperabilidade entre diferentes partes do sistema. Isso pode incluir a adoção de padrões comuns para a descrição de eventos, a nomenclatura de eventos, e a estrutura de dados de eventos;

  • Gestão de mudanças para garantir que essas mudanças sejam feitas de forma controlada e segura. Isso pode incluir o uso de ferramentas de gerenciamento de mudanças, rastreamento de versões e outros procedimentos.

Em geral, princípios de Governança de Dados podem ser aplicados durante o processo de Governança de Eventos. Isso é inerente à dualidade evento/dado.

Mais informações sobre Governança de Dados:

Quais são alguns dos benefícios de se implantar uma Plataforma de Eventos?

Uma Plataforma de Eventos bem estruturada fornece alguns dos habilitadores necessários para que a empresa possa buscar a hiper-contextualização, como a coleta e disponibilidade de dados em tempo real, capturando e transmitindo dados conforme os eventos ocorrem, permitindo uma análise contextual em tempo real.

A Arquitetura Orientada a Eventos por si só já traz uma série de benefícios, como:

  • Desacoplamento entre aplicações (produtores e consumidores não se conhecem);

  • Desacoplamento entre times;

  • Maior tolerância a falhas;

  • Maior resiliência;

  • Processamento de dados em tempo real evitando a necessidade de se processar em lotes e, consequentemente, redução do custo de processamento de dados.

Mas eu quero adicionar alguns dos benefícios específicos de uma Plataforma de Eventos:

  • Maior facilidade de descoberta dos eventos, o que aumenta o reuso e a geração de novos insights com base nos mesmos dados;

  • Maior eficiência operacional, reduzindo a duplicação de dados;

  • Redução do impacto de mudanças por meio do versionamento e retrocompatibilidade dos eventos;

  • Maior consistência dos dados, por meio de governança e linhagem dos dados;

  • Maior segurança e privacidade dos dados, principalmente dados PII (quaisquer dados que possam identificar uma pessoa específica, como nome, número de documento de identificação emitido pelo governo, data de nascimento, ocupação ou endereço) que devem ser tratados com muito cuidado.

O primeiro passo é conscientizar a liderança e o negócio sobre o impacto positivo e estratégico que a Plataforma de Eventos pode trazer. Nessa hora, é importante que os stakeholders de negócio compreendam o que é a plataforma e seus benefícios. Experiências prévias de membros da liderança contam muito nessa hora de “vender” o conceito de plataforma.

As áreas de tecnologia também precisam comprar a ideia, os riscos e os trade-offs que vão ser necessários de ser assumidos com a adoção de uma plataforma de eventos centralizada, pois os times vão precisar ser capacitados (tanto negócios, quanto tecnologia), a infraestrutura vai precisar ser preparada, o mindset de arquitetura e engenharia de software vai precisar evoluir.

Temas como Domain Driven Design, Event Storming, Event-First e Stream Processing vão começar a ser discussões recorrentes dentro das equipes, e com isso virão desafios de falta de experiência nesses temas.

Em resumo, a implantação de uma Plataforma de Eventos corporativa traz uma série de benefícios e habilita várias formas de melhorar como olhamos para os eventos, buscando entender melhor em que contexto estão inseridos. Não é uma tarefa fácil, mas vale cada real investido.

bottom of page