CloudEvents 0.1 – A common set of metadata to help process events
medium.com
medium.com
As for the big picture, one of the unfortunate consequences of HTTP having recently won out as the default protocol for remote interaction is having to reinvent or re-frame all of the prior art that's been in use with other platforms. There's half a dozen other pubsub messaging protocols and their associated framing and envelope specs, but they usually define full semantics around addressing and routing -- and usually run on lower-level transports than over HTTP.
Since this effort doesn't want to prescribe every facet of messaging, it can't directly define a more restrictive profile or overlay of an existing protocol. Instead, it has to start fresh, and invent yet another envelope format. Someday, someone will ask why there isn't a simple way of getting MessageID or MessageTimestamp across a variety of technologies whose purpose is largely the same, yet I don't think anybody will go back and define a one true mapping between the protocols. If some vendor later decides to accept AMQP as well, they'll write some glue code to translate, but if another vendor accepts it too they'll write their own independent mapper. This is one of the ways that incompatibilities proliferate: actors left to their own devices in the absence of unambiguous guidance.
It shows that standards can be both extremely useful and frustratingly bound to fashions.
I think this is super important. In the serverless space, we've seen a couple of larger API vendors (Auth0, Twilio, ...) build their own FaaS. This is great for "Hello World" projects, and projects focused only around that single API.
But I believe that for all bigger projects, that work with multiple APIs, you end up in hell. Some functions running on Auth0 webtasks, some on Twilio Functions and some on a cloud-vendor FaaS? Sounds like a maintenance nightmare.
What we tried is to integrate our events with the three big cloud players. It's doable rather quickly as long as it's just "dumping a message into a queue".
I think a spec like CloudEvents can make such integrations easier in the future, and it would allow us to make use of higher level features of the cloud providers, without having to deep-dive into their specific products. I'm petitioning my PO to give me some time to make our API compliant with CloudEvents :)
In CADF, each event has a target (the thing that is changed or being viewed), an initiator (the user performing that action), and possibly an observer and reporters. I'm not sure if CloudEvents wants to be intentionally minimal, or if it just hasn't developed to the same intricacy as CADF (as the 0.1 version number suggests).
[1] https://www.dmtf.org/standards/cadf
Context: I work on an internal OpenStack deployment at SAP that uses CADF for auditing.
I'm a contributor on the project, and have been working to make sure that the use cases fit both requirements.
Can be difficult to maintain both, with naming conventions of the particular entities, but so far it seems to be moving forward, and the working group is collaborative.
Also, most efforts are team-effort.
but I couldn't help but to point out that while healthy self promotion is good, the author needs to notch down a little on the "I".
We have included AWS examples and considerations for their requirements, if they choose to be involved or not is on them.
We considered a number of cases where the event source is not addressable software. Heck, your local library can emit a feed of cloud events where the event source is an isbn Uri.
I certainly couldn't come up with anything else, and it seemed like the best name from the group.