Why?

Events are everywhere. However, event publishers tend to describe events differently.

  • Consistency

    The lack of a common way of describing events means developers must constantly re-learn how to receive events.

  • Accessibility

    This also limits the potential for libraries, tooling and infrastructure to aide the delivery of event data across environments, like SDKs, event routers or tracing systems.

  • Portability

    The portability and productivity we can achieve from event data is hindered overall.

What?

Enter CloudEvents, a specification for describing event data in a common way. CloudEvents seeks to ease event declaration and delivery across services, platforms and beyond!

CloudEvents is a new effort and it’s still under active development. However, its working group has received a surprising amount of industry interest, ranging from major cloud providers to popular SaaS companies. Our end goal is to offer this specification to the Cloud Native Computing Foundation.

Contribute!

This effort is organized via the CNCF’s Serverless Working Group and everyone is encouraged to join us. If you’re interested in contributing, please collaborate with us in the CloudEvents Github Org, join our weekly call every Thursday at 9AM PT via Zoom, and review our Governance model to familiarize yourself with our process.

v0.2 Announcement!

CloudEvents 0.2 Release

In May 2018, the CNCF announced that the open source specification CloudEvents was accepted into the CNCF Sandbox. Since then the working group has made a ton of progress outlining how events should be abstracted and made interoperable in the ecosystem, allowing communication between different parts of the stack, as well as disparate programming languages.

Today, the CloudEvents team is excited to announce the 0.2 release of the specification, which includes many new details, as well as the SDK specification. Here we will cover the highlights of the new release, but for more information see the 0.2 spec.

Some of the major new updates to the spec are various transport mappings and bindings, specifically for AMQP 1.0, MQTT 3.1.1 and 5.0, and NATS. This creates a new layer of abstraction to allow developers to connect to any of the major transport messagings protocols and conform to the events translation standard that this spec defines, allowing more flexibility.

Another major addition in the 0.2 spec is the support for protobuf, or Protocol Buffers, Google’s language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and other software development scenarios. For more information around the protobuf support in 0.2 see the protobuf format.

The CloudEvents team has defined several SDKs already, including Go, Java, Python, C#, and JavaScript, but there are many other languages and the new CloudEvents SDK spec outlines the minimum set of requirements for new SDKs to be added and supported by the team. If you’re interested in contributing to this effort, see the SDK guidelines and get started today to become a contributor or maintainer.

If you’re interested but not sure where exactly to get started, or how this would fit into your projects, the 0.2 release features the CloudEvents Primer that will explain the concepts and drivers behind this effort, as well as how to get started. Also the Roadmap is a great way to understand the next phases of this Sandbox effort and where the spec is headed, for those who are looking to leverage this work or want to get involved and contribute.

TOC sponsors of the project include Ken Owens and Brian Grant.

The CNCF Sandbox is a home for early stage projects, for further clarification around project maturity levels in CNCF, please visit our outlined Graduation Criteria.