Changing the CW implementation which is so tightly coupled to many other AWS service might be overly tricky for AWS to accomplish over a short period of time. Hope it happens anyway
[I’m a PM on EventBridge] This is correct. Tim Bray, who built CloudWatch Events (which later became Amazon EventBridge) participated in the early CloudEvents spec, but as Erik said, CloudWatch Events launched before CloudEvents spec was finalized.
From the EventBridge perspective, we like CloudEvents and I expect that in future we will look to add support for it as an alternative to our existing envelope.
Debezium (a platform for change data capture) supports CloudEvents as one format [1] for emitting data change events to Kafka, etc. Judging by interactions with users, there seems to be some interest in this, but it's not huge.
We used CloudEvents internally at Segment as an evolution of the existing ad hoc format that evolved naturally over time. We were generally happy with its ability to bring some semblance of order, documentation, and guidance to our event format while also being flexible to changes. For example, we layered on the ability for internal services to return 207 Multi-Status responses to batched events and it didn't require major hacks.
In Dapr (Distributed Application Runtime) we use CloudEvents as the language and provider / service agnostic event standard in our PubSub API building block. You can either provide a cloud event envelope yourself, or just provide the data and we will create the envelope.
We extensively use CloudEvents at my current company. It does a good job standardizing the event structure. It does pose some challenges in statically typed languages when it comes to deserialization of event data. We use typescript, so no complains in that regard.
15 comments
[ 3.9 ms ] story [ 45.2 ms ] thread[edit: more simply MS & GCP said were insufficiently flexible for the Gorilla and AWS wasn't willing to delay shipping]
From the EventBridge perspective, we like CloudEvents and I expect that in future we will look to add support for it as an alternative to our existing envelope.
[1] https://debezium.io/documentation/reference/stable/integrati...
Is this just another way of saying "a really big JSON document"?
https://docs.dapr.io/developing-applications/building-blocks...
Why is this a challenge? I've worked with similar things in the past and never ran into any issues-- isn't this a very well trodden path?