Consistency
The lack of a common way of describing events means developers have to write new event handling logic for each event source.
cloudevents
A specification for describing event data in a common way
Why CloudEvents?
Events are everywhere, yet event publishers tend to describe events differently.
Consistency
The lack of a common way of describing events means developers have to write new event handling logic for each event source.
Portability
The portability and productivity we can achieve from event data is hindered overall.
What is CloudEvents?
CloudEvents is a specification for describing event data in a common way. CloudEvents seeks to dramatically simplify 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. The specification is now under the Cloud Native Computing Foundation.
Contribute to the CloudEvents project
CloudEvents 1.0.1 release
CloudEvents 1.0 release
On October 24, 2019 the CloudEvents project had two significant achievements. First, the CNCF's Technical Oversight Committee approved the project as an “incubator” project (thus graduating it from the CNCF “sandbox”). Second, the CloudEvents specification released version 1.0!
This is the first major release of the specification and represents two years’ worth of hard work by a truly great team of people from across the entire serverless community. We've had just about every major cloud provider participate, several “end user” companies as well as many individual participants all working diligently on producing a specification that will hopefully continue to see increased adoption now that this milestone has been reached.
Aside from the core CloudEvents specification, there's also the Primer and protocol and format specifications, all of which can be found in the GitHub repo. Additionally, there are six different SDKs—Go, JavaScript, Java, C#, Ruby, and Python—to help people produce and consume CloudEvents.
The CNCF Serverless Working Group will be deciding what to focus on next (e.g. additional CloudEvents related activities, or perhaps address some other interoperability pain-point the community is experiencing). So, if you're interested please join the regular weekly calls. Additionally, there is the work being done on the workflow specification.
Thanks and congratulations to everyone who has participated in the CloudEvents project!
Integrations
A serverless event bus that receives CloudEvents compliant events from cloud services, SaaS/custom apps, and routes to various targets
Argo Events is a CloudEvents compliant event-driven workflow automation framework for Kubernetes
Event Grid natively supports events in the JSON implementation of CloudEvents v1.0 and the HTTP protocol binding
All Life Cycle and Autonomous Agent events emitted by the Choria orchestration system are CloudEvents compliant
All services of the commercetools platform can emit CloudEvents compliant events
Debezium, a distributed open-source change data capture platform, can emit change data events in the CloudEvents format
Falco is a threat detection engine for Kubernetes that can emit cloud events for security policy violations at runtime.
Eventarc is a managed infrastructure that allows you to build event-driven architectures with loosely coupled services that react to state changes.
Code Engine is a fully managed, serverless platform designed to run container images, batch jobs, or source code. Code Engine allows you to build event driven workloads that react to Cloud Events.
Keptn builds upon CloudEvents for continuous delivery and automated operations and has its specification based on CloudEvents.
All event data produced and consumed by Knative Eventing services is CloudEvents compliant
All events emitted and consumed by Kogito business automation applications are CloudEvents compliant
CloudEvent events are one of the many available triggers for OpenFaaS functions
The Oracle Cloud Infrastructure Events service implements CloudEvents
All event data that functions receive from the Event Gateway is CloudEvents compliant
All event definitions in the Serverless Workflow JSON/YAML model are CloudEvents compliant
Tekton is a cloud native framework for creating CI/CD systems that can emit cloud events as pipelines and tasks execute.
TriggerMesh makes use of CloudEvents in all its event sources and targets to build application flows.
VMware Event Broker Appliance (VEBA) publishes CloudEvents for changes in a vSphere cluster.
Resources
Videos
Title | Speakers | Event |
---|---|---|
CNCF CloudEvents Project: A Step Towards Serverless Interop | Doug Davis, IBM | KubeCon China 2019 |
Intro: CNCF Serverless WG / CloudEvents | Scott Nichols, Google and Klaus Deissner, SAP | KubeCon Europe 2019 |
Deep Dive: CNCF Serverless WG/CloudEvents | Clemens Vasters, Microsoft and Vlad Ionescu, Independent | KubeCon Europe 2019 |
Intro: CNCF Serverless WG / CloudEvents | Doug Davis, IBM & Cathy Zhang, Huawei | KubeCon North America 2018 |
The Serverless and Event-Driven Future | Austen Collins, Serverless | KubeCon Europe 2018 |