As plataformas serverless criavam o mesmo problema em nuvens diferentes: cada evento tinha seu próprio formato. Os desenvolvedores precisavam reaprender a consumir eventos de armazenamento, fila, banco de dados ou SaaS, e as ferramentas não conseguiam rotear ou rastrear eventos sem adaptadores personalizados.
O CloudEvents evitou a tarefa impossível de padronizar cada corpo de evento. Ele definiu atributos de contexto comuns e bindings de transporte, mantendo o payload específico do domínio. O truque foi dar à infraestrutura metadados suficientes para funcionar sem forçar os produtores a reescrever seus dados de negócio.
Em outubro de 2019, o CloudEvents chegou à versão 1.0 e passou do Sandbox do CNCF para a Incubação. O CNCF citou apoio e contribuição da AWS, Google, Microsoft, IBM, SAP, Red Hat e VMware, e listou implementações incluindo Knative Eventing, Debezium, Kyma e Azure Event Grid.
Padronizar o envelope, não o evento
Os atributos centrais obrigatórios tornaram o roteamento e a deduplicação portáveis entre fornecedores.
Deixar os dados do evento intactos manteve a adoção barata para os produtores existentes.
Os bindings de protocolo permitiram que o mesmo modelo de evento trafegasse por HTTP, Kafka, MQTT e outros transportes.
Um lar neutro no CNCF reduziu o receio dos fornecedores de que uma nuvem dominasse a gramática dos eventos.
Quando os payloads são diversificados demais para serem padronizados, padronize o menor envelope que permita à infraestrutura roteá-los e inspecioná-los.
O CloudEvents tornou-se a camada de metadados comum para sistemas serverless e orientados a eventos, alcançando posteriormente a graduação no CNCF. Seu design tornou adaptadores e SDKs úteis entre plataformas porque as ferramentas podiam inspecionar o envelope antes de entender o payload.
CONFIRA AS EVIDÊNCIAS
As fontes
- Serverless specification CloudEvents reaches Version 1.0 Cloud Native Computing Foundation · cncf.io ·
- CloudEvents Specification v1.0.2 CloudEvents · raw.githubusercontent.com