![Powertools para AWS Lambda cresce com a ajuda de voluntários](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706213018_Powertools-para-AWS-Lambda-cresce-com-a-ajuda-de-voluntarios-150x150.png)
Powertools para AWS Lambda cresce com a ajuda de voluntários
25 de janeiro de 2024![Um guia para migrar para o AWS Identity Center](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706214498_Um-guia-para-migrar-para-o-AWS-Identity-Center-150x150.jpg)
Um guia para migrar para o AWS Identity Center
25 de janeiro de 2024As arquiteturas orientadas a eventos estão remodelando a forma como as informações são compartilhadas entre os serviços que as produzem e aqueles que as consomem. Os sistemas ociosos e à espera de dados estão se tornando cada vez mais obsoletos, à medida que as arquiteturas de software continuam a fazer a transição de orientadas por API para orientadas por eventos, e à medida que o streaming de eventos em tempo real continua a crescer em popularidade.
À medida que as empresas, os projetos e a infraestrutura crescem, aumenta também a necessidade de mais fluxos de dados multicloud e em tempo real. As empresas exigem fluxos de trabalho mais simples para engenheiros de DevOps, alertas em tempo real quando os testes são concluídos e rastreamento de logs de segurança entre diferentes aplicativos de software como serviço (SaaS).
Todos são necessários no crescente ecossistema nativo da nuvem atual e, sem ferramentas de código aberto ou o confinamento da dependência do fornecedor, são difíceis de encontrar.
TriggerMesh é um roteador de eventos sem servidor com um objetivo principal simples: processar eventos em tempo real e encaminhá-los para os consumidores corretos. É uma ferramenta multifuncional com uma lista cada vez maior de casos de uso.
A plataforma de integração de código aberto do TriggerMesh fornece aos usuários uma solução orientada a configuração que será familiar para usuários de ofertas de infraestrutura como código (IaC), como Ansible, Chef e Terraform. Construído com base no Kubernetes, ele inclui uma API declarativa para conectar de forma rápida e programática dados e serviços de várias fontes a aplicativos orientados a eventos.
As fontes de consumo de mensagens incluem Amazon Web Services (AWS) SQS, Google Pub/Sub, Azure Event Hubs e Kafka. O TriggerMesh filtra e transforma mensagens, combina recursos de processamento com funções sem servidor e os conecta a coletores de mensagens que vinculam Elasticsearch, AWS Simple Storage Service (S3) e Apache Kafka.
TriggerMesh se conecta a barramentos de serviço legados, bem como para criar fluxos de trabalho entre aplicativos ou coletores de dados para outros sistemas, como Azure Data Lakes ou Snowflake.
“Muitas vezes as pessoas o usam para fazer coisas como acionar uma função, ou serviço, ou… microsserviços”, disse Jonathan Michaux, gerente de produto da TriggerMesh, ao The New Stack.
TriggerMesh também pode desempenhar um papel em um ecossistema de streaming maior, acrescentou ele, como fornecer “uma função (para) processar eventos e enviá-los para outro sistema como Kafka para que o processamento posterior aconteça mais tarde”.
Para uma comparação rápida, pense no EventBridge da Amazon. Introduzido em 2019, o roteador de eventos permite que os desenvolvedores escrevam regras que entram em ação quando um evento ocorre no bucket S3 da Amazon.
TriggerMesh é a alternativa de código aberto, oferecendo recursos semelhantes sem requisitos de dependência de fornecedor. Mais recentemente, a TriggerMesh apresentou sua mais recente oferta de código aberto, Shaker, que continua o impulso para uma adoção mais ampla do TriggerMesh. Shaker remove o requisito do Kubernetes e fornece a capacidade de TriggerMesh ser executado no Docker.
TriggerMesh é uma alternativa de código aberto ao AWS EventBridge que captura, transforma, filtra e roteia eventos de maneira confiável em serviços de nuvem, locais, aplicativos SaaS, sistemas de mensagens e muito mais. Funciona nativamente no Kubernetes e também inclui uma CLI poderosa para desenvolvimento.
Saber mais
As últimas novidades do TriggerMesh
$(document).ready(function() { $.ajax({ método: ‘POST’, url: ‘/no-cache/sponsors-rss-block/’, headers: { ‘Cache-Control’: ‘no- cache, no-store, must-revalidate’, ‘Pragma’: ‘no-cache’, ‘Expires’: ‘0’ }, dados: { patrocinadorSlug: ‘triggermesh’, numItems: 3 }, sucesso: função (dados) { if (data.startsWith(‘ERROR’)) { console.log(data); $(‘.sponsor-note-rss’).hide(); } else { $(‘.sponsor-note-rss-items -triggermesh’).html(dados); } } }); });
O código aberto não oferece apenas liberdade de dependência de fornecedor. Isso significa que o TriggerMesh é completamente independente da nuvem, permitindo que os usuários produzam e consumam entre várias nuvens e data centers locais.
“Pense no que isso é e quão poderoso poderia ser se pudéssemos pegar qualquer aplicativo e conectá-lo através de eventos de uma forma tão fácil”, disse Michaux. “Você pode implantá-lo em qualquer lugar que desejar, em qualquer cluster Kubernetes ou em qualquer máquina que tenha Docker no OpenShift, na Amazon, no Azure ou no Google.”
Michael Edenzon, cofundador da Fianu Labs, uma empresa de governança de software, disse ao The New Stack que o agnosticismo da nuvem do TriggerMesh “move absolutamente a bola para frente quando se trata de tornar mais fácil para os desenvolvedores construir aplicativos orientados a eventos”.
Estudos de caso e casos de uso
Como as organizações reais estão usando o TriggerMesh em suas arquiteturas orientadas a eventos? Aqui estão dois exemplos.
ManoMano: economizando custos na execução de microsserviços
ManoMano, um mercado de reformas residenciais com sede na Europa, é um site de comércio eletrônico que oferece experiências na web e em dispositivos móveis. Suas muitas necessidades de negócios exigem centenas de microsserviços. Com uma base de código tão grande, ele depende de diversos testes de desempenho.
Ao adicionar TriggerMesh à sua pilha, a equipe de engenharia de confiabilidade de site (SRE) da ManoMano agora tinha a ferramenta de software correta para fornecer uma experiência de eventos sem servidor que permite aos desenvolvedores de teste executar código quando ocorrem eventos específicos da AWS, fazendo com que os desenvolvedores de teste se inscrevam em eventos específicos.
Mais recentemente, a ManoMano mergulhou em seus microsserviços de longa duração. Eles precisam ser de longa duração e sempre ativos? A sua utilização justifica o consumo contínuo de recursos computacionais e custos associados?
A resposta foi não, o que motivou o desejo da empresa de começar a executar serviços apenas conforme a necessidade. A investigação revelou que muitos desses serviços processam apenas algumas solicitações por dia e passam a maior parte do tempo ociosos.
ManoMano substituiu tarefas ociosas de longa duração por contêineres programados sob demanda para executar EKS em reação a eventos AWS S3. Isso foi possível graças à nova arquitetura orientada a eventos, que reúne eventos de serviços da AWS, os ingere em um corretor centralizado e permite que os desenvolvedores assinem eventos específicos para consumo. A plataforma abstrai as preocupações de segurança e infraestrutura.
Fianu Labs: governança de software automatizada no local
A ferramenta de governança de software totalmente automatizada e orientada a eventos do Fianu Labs fornece instrumentação em todo o processo de CI/CD e captura eventos em todo o ciclo de vida de desenvolvimento de software e os compara com políticas predefinidas e documentação de conformidade automatizada.
TriggerMesh, que fica no topo do Google Kubernetes Engine com Knative, é uma parte fundamental da arquitetura do Fianu e está presente na estrutura de seu fluxo de trabalho. Embora não opere em grande escala, o Fianu requer redundância e confiabilidade ao mesmo tempo em que oferece suporte a 200.000 repositórios de código, o que equivale aproximadamente a 500 a 1.000 eventos por minuto.
“As ferramentas TriggerMesh e a maneira como as usamos nos permitem manter um sistema robusto e orientado a eventos e mantê-lo bem organizado”, disse Edenzon, do Fianu Labs, ao The New Stack.
Um exemplo do fluxo de trabalho típico do TriggerMesh dentro do Fianu começa com a ingestão de eventos. À medida que os eventos são ingeridos, Fianu usa funções TriggerMesh (Fianu usa Python incorporado, mas TriggerMesh também tem opções Node.js e Ruby) para fazer transformações e cálculos nas cargas úteis.
Edenzon discutiu o exemplo de alteração de strings para flutuantes para garantir que os dados recebidos sejam consistentes com a política. Embora possa haver uma fonte de entrada de dados, várias saídas diferentes podem ser necessárias e as funções TriggerMesh abstraem a necessidade de criar ferramentas básicas.
“Sem criar uma função sem servidor, podemos incorporar as funções TriggerMesh para executar pequenos trechos de lógica de negócios ao longo do caminho”, disse ele.
TriggerMesh Targets foi outro aspecto da funcionalidade TriggerMesh que Endezon apontou. Os alvos permitem que os clientes da Fianu criem personalizações com base no software Fianu, pois ele ajuda com destinos de eventos complicados, abstraindo a complexidade dos eventos que vão para um fluxo Kafka ou para o Slack.
TriggerMesh não ajuda apenas os desenvolvedores da Fianu, mas também os clientes da empresa. Fianu fornece muitos recursos prontos para uso para seus usuários finais e, embora a empresa não ofereça ferramentas TriggerMesh específicas, mas devido ao alto nível de abstração do TriggerMesh, os clientes podem escrever plug-ins personalizados como funções Knative em qualquer idioma e encaixe-os na instância em execução, porque o TriggerMesh os trata como apenas mais um processador de eventos.
“Como desenvolvedores, se fôssemos obrigados a nos concentrar apenas na funcionalidade do negócio, seríamos extremamente produtivos”, disse Edenzon. “Então essa é uma das coisas que gostamos no (TriggerMesh). Isso torna muito fácil isolar e testar a funcionalidade do negócio.”
Incorporado em aplicativos SaaS
O TriggerMesh possibilita que aplicativos SaaS ingiram eventos de vários provedores de nuvem, transformem os eventos para corresponder a esquemas específicos e, em seguida, enviem esses eventos para qualquer destino.
“O TriggerMesh facilita muito a ingestão de novas fontes de eventos em um aplicativo”, disse Michaux. Ele acrescentou que “os fornecedores de SaaS B2B podem estender o ecossistema de seus aplicativos, enquanto mantêm as equipes de desenvolvimento focadas no produto principal”.
Na segurança cibernética, isso significa a transformação de diferentes eventos de segurança na nuvem em esquemas padronizados, como o recentemente anunciado Open Cybersecurity Schema Framework, antes de enviá-los para a solução de segurança preferida do cliente para análise e detecção de ameaças.
O valor para a comunidade de segurança é incrivelmente alto. Como as ameaças à segurança acontecem em tempo real, o valor não está apenas em ter uma coleção de dados ou na integração de aplicativos, mas no processamento de eventos à medida que eles ocorrem.
“Um exemplo típico seria alguém fazendo uma tentativa fracassada de login em um sistema, por exemplo, um provedor de nuvem como Oracle ou AWS”, disse Michaux. “Esse é um evento que um sistema de detecção de ameaças estaria interessado em analisar. O TriggerMesh pode ajudar a assimilar o evento e entregá-lo ao sistema de segurança, em tempo real, no formato certo, com o mínimo de barulho.”
Conclusão
TriggerMesh é um exemplo de caso de uso que atende à demanda e permite que a demanda acelere para interagir com a tecnologia. É de código aberto, com o único requisito agora sendo o Docker, com o recém-lançado Shaker tornando a adoção ainda mais disponível.
“Ao usar o TriggerMesh ao máximo, com o design de aplicativo correto, ele permite isolar a funcionalidade do negócio sem ter que se preocupar com a mecânica de como os dados vão para onde”, disse Edenzon. “Então você pode focar apenas na funcionalidade do negócio”.
A postagem TriggerMesh: aplicativos orientados a eventos de código aberto apareceu pela primeira vez em The New Stack.