EDA (Events-Driven Architecture) é um modelo de arquitetura de software que possui benefícios atraentes. No entanto, ele não é recomendado para qualquer caso de uso. Entenda!
No conteúdo anterior, explicamos que a EDA, sigla para Events-Driven Architecture, é um modelo de arquitetura de software voltado para orientar eventos em aplicações.
Por gerar benefícios, como desenvolvimento ágil, maior possibilidade de escala, e redução de complexidade e de custos, a arquitetura orientada a eventos é usada em muitos projetos que envolvem a criação de sistemas e aplicativos altamente resilientes e elásticos.
No entanto, existem outros casos de uso em que esse modelo de arquitetura pode ser aplicado.
No artigo de hoje, apresentamos os principais. Confira!
Mas antes, como funciona a Events-Driven Architecture
Antes de mostrarmos os casos de uso da arquitetura orientada a eventos, precisamos relembrar o funcionamento da EDA para entender como ela opera e como é possível aplicá-la no contexto empresarial.
A EDA depende basicamente de três pilares-chave para funcionar. Esses pilares são:
- Produtores de eventos;
- Roteadores de eventos;
- Consumidores de eventos.
Os produtores de eventos têm a responsabilidade de transferir os eventos para um medidor, que será encarregado de filtrar as mensagens antes de encaminhá-las para o seu ponto de destino.
O roteador de eventos é como chamamos esse medidor de eventos, e os consumidores de eventos, o ponto de destino final que receberá a mensagem filtrada e a processará para gerar novos eventos ou fluxos de trabalho.
Como mencionamos no nosso outro artigo sobre EDA, o funcionamento da arquitetura orientada a eventos é bastante simples na teoria. Porém, a sua complexidade é visível quando aplicamos o modelo, tornando-se perceptível a quantidade de caminhos pelos quais os eventos precisam passar utilizando APIs.
Quais são os casos de uso da EDA?
Os benefícios da EDA são muito atrativos para o contexto de negócio, mas a sobrecarga da sua complexidade reforça a importância de selecionar bem os momentos de uso para que a arquitetura seja aplicada àqueles que fazem sentido e que o resultado será compensatório.
Nossos especialistas selecionaram alguns exemplos de casos onde a arquitetura orientada a eventos é recomendada. Confira!
1. Microsserviços
A soma de microsserviços e EDA é uma abordagem poderosa e flexível para o desenvolvimento de sistemas modernos, porque, enquanto microsserviços dividem os aplicativos em serviços isolados interconectados via API, a Event-Driven Architecture vai além, capturando os eventos sem exigir que todos os componentes downstream (aqueles que entregam resultados e dados para quem os chama) aceitem esses eventos de forma síncrona.
Exemplo:
Em uma empresa de comércio eletrônico, onde vários serviços como vendas, faturamento e armazenamento precisam se conectar e trabalhar em conjunto, a EDA permite que cada serviço opere de forma autônoma. Ou seja, mesmo se um serviço falhar temporariamente, o sistema continua operando sem erros e posteriormente processar o evento pendente quando o serviço estiver novamente disponível.
2. Atualizações de ponta a ponta
Em muitas implementações de EDA, o objetivo do projeto é facilitar a comunicação entre eventos de sistemas internos para serviços internos. No entanto, a arquitetura orientada a eventos pode ser aplicada, também, em projetos que envolvem a transmissão de eventos internos para aplicativos e atualizações voltadas para o cliente.
Exemplo:
Um cliente utiliza um cartão de crédito em uma compra e o pagamento simplesmente falha. O sistema orientado a eventos é capaz de reagir imediatamente, garantindo que o pedido do cliente não acione processos de atendimento ou estoque.
3. Análise de dados em tempo real
Além de projetos envolvendo microsserviços e atualizações, podemos também recorrer à Event-Driven Architectures para criar aplicativos e sistemas que melhoram a capacidade de reagir, processar e analisar dados. Isso se deve ao fato de que a passagem de dados é mais rápida em um sistema EDA, fazendo com que as informações cheguem mais rapidamente às ferramentas de análise.
Exemplo:
A arquitetura orientada a eventos oferece suporte a painéis logísticos, que disponibilizam monitoramento e análise de dados em tempo real. Além disso, contribui para a detecção de transações suspeitas no setor financeiro ou bancário.
4. Conectividade com base em IoT
A arquitetura orientada a eventos também é aplicada para garantir que o grande volume de eventos gerados por dispositivos IoT possam ser capturados quase instantaneamente. Em arquiteturas de operações conectadas, a quantidade de mensagens e números de eventos processados é fundamental para obter escala e conectividade.
Exemplo:
No segmento de transporte marítimo, a EDA é empregada para monitorar a localização e o status de contêineres de remessa, garantindo uma gestão eficiente da cadeia de suprimentos mesmo em ambientes complexos e distribuídos.
5. Integração de aplicações SaaS
Um dos desafios mais comuns envolvendo aplicações SaaS é assegurar a integração entre diferentes aplicativos. Outro, está em obter visibilidade das atividades e dos dados dos usuários. Nesse caso, a EDA também pode ser aplicada nas integrações SaaS, uma vez que ajuda a eliminar silos de dados e permite a criação de um hub de comunicação entre diferentes sistemas.
6. Automação de Infraestrutura
A EDA também pode ser usada para conectar solicitações de dados, serviços e análises, e automatizar processos de provisionamento, configuração e gerenciamento da infraestrutura de forma dinâmica e responsiva.
Exemplo:
Em infraestruturas cloud, nos quais a demanda por recursos computacionais pode variar consideravelmente ao longo do tempo, a Event-Driven Architectures pode ser empregada para acionar a alocação e liberação de instâncias de computação conforme necessário.
Desafios da arquitetura orientada a eventos
Ter que lidar com a complexidade dos sistemas baseados em eventos, assegurar a entrega e a confiabilidade dos eventos, gerenciar os dados dos eventos em escala e garantir que os sistemas orientados a eventos estejam seguros, pode fazer a arquitetura orientada a eventos gerar tensão entre os times de desenvolvimentos.
Para superar os obstáculos da EDA e garantir os benefícios da arquitetura, será necessário que os profissionais recorram a diferentes medidas, como:
- Projetar o esquema de eventos para evitar antipadrões;
- Recorrer à comunicação assíncrona;
- Utilizar receptores confiáveis;
- Aplicar testes isolados em cada componente.
Além disso, é importante lembrar que precisam monitorar o sistema e aplicações de perto a partir de ferramentas que permitem gerenciar dados de eventos em escala, realizar auditorias de eventos, entre outras funcionalidades.
O DHuO API Plus é uma dessas ferramentas. Foi desenvolvido pela Engineering para times poderem criar, monitorar e gerenciar APIs e integrações. Para saber mais sobre a solução, acesse https://www.engdb.com.br/dhuo-suite/dhuo-api-plus/