Slide 1

Slide 1 text

Discovering CloudEvents with Cloud Run Cloud Run Week Thursday 11th March 2021

Slide 2

Slide 2 text

Eric Briand @eric_briand Google Developer Expert - Cloud CTO - Zenika Julien Landuré @jlandure Google Developer Expert - Cloud CTO Group - Zenika

Slide 3

Slide 3 text

Back to the future...

Slide 4

Slide 4 text

Serverless, just a buzzword? 🤔 https://youtu.be/P8pCWhPl9B4

Slide 5

Slide 5 text

https://github.com/cncf/wg-serverless/blob/master/whitepapers/serverless-overvie w/cncf_serverless_whitepaper_v1.0.pdf

Slide 6

Slide 6 text

Serverless computing refers to the concept of building and running applications that do not require server management. It describes a finer-grained deployment model where applications, bundled as one or more functions, are uploaded to a platform and then executed, scaled, and billed in response to the exact demand needed at the moment. Serverless definition https://github.com/cncf/wg-serverless/tree/master/whitepapers/serverless-overview

Slide 7

Slide 7 text

Serverless in 2021 https://landscape.cncf.io/serverless

Slide 8

Slide 8 text

AWS GCP

Slide 9

Slide 9 text

https://xkcd.com/927/

Slide 10

Slide 10 text

https://www.cncf.io/

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

https://github.com/cncf/wg-serverless

Slide 13

Slide 13 text

https://cloudevents.io/

Slide 14

Slide 14 text

#Microservice #Container #Event-Driven “Events are everywhere, yet event publishers tend to describe events differently.

Slide 15

Slide 15 text

● Normalizing Events Across Services & Platforms ● Facilitating Integrations Across Services & Platforms ● Increasing Portability of Functions-as-a-Service ● Improving Development & Testing of Event-Driven/Serverless Architectures ● Event Data Evolution ● Normalizing Webhooks ● Event Tracing / Event Correlation Disclaimer : Do not try to specify any principle of Authorization, Data Integrity and Confidentiality Value proposition https://github.com/cloudevents/spec/blob/master/primer.md

Slide 16

Slide 16 text

● Cloud Events spec version ● Type ● Source ● ID ● Subject ● Time ● Data Content Type ● Content Encoding ● Minimal metadata https://github.com/cloudevents/spec/blob/v1.0.1/spec.md

Slide 17

Slide 17 text

● Transport Bindings for Http, Kafka, NATS, AMQP, MQTT, Websocket NEW! ● Message size of 64KB ● Binary or text payload: JSON, AVRO or Protobuf ● No Sensitive information in the context attributes ● Domain specific event data SHOULD be encrypted Transport

Slide 18

Slide 18 text

Integrations

Slide 19

Slide 19 text

Demo 🤞

Slide 20

Slide 20 text

Google Cloud Focus

Slide 21

Slide 21 text

Cloud Functions Google Cloud Serverless compute App Engine Cloud Run

Slide 22

Slide 22 text

Eventarc A unified eventing experience

Slide 23

Slide 23 text

● More than 60 sources, based on Cloud Audit Logs How does it work?

Slide 24

Slide 24 text

“Eventarc provides an easier path to receive events. You don’t have to worry about the underlying infrastructure with Eventarc. It is a managed service with no clusters to set up or maintain. ” Mete Atamel, Developer Advocate Google Cloud January 15, 2021

Slide 25

Slide 25 text

Long-term Vision

Slide 26

Slide 26 text

Demo 🤞

Slide 27

Slide 27 text

● Open Source Standard but quite new… ● CNCF healthy project: Spec (format & protocol) + SDKs + Integrations ● Good idea to define connectors (source & sink) ● Interoperable (supported by Knative/eventing) ● Superior Dev Experience thanks to a predictable format message ● Decouple apps (from infrastructure and configuration) ● Discoverability of event sources Our point of view

Slide 28

Slide 28 text

● 👍 No longer lock-in with the supported trigger ● 😱 No news from AWS in this project “It is very similar to AWS’s CloudWatch Events functionality” ● 💪 Wide range of usage (Kafka, AMQP, Webhook) ● 🤔 Future of the Working Group ● 🚧 New goal: get a global vision of our event-driven system thanks to Workflow https://github.com/serverlessworkflow/specification/ Next steps

Slide 29

Slide 29 text

Thank You! Eric Briand @eric_briand Julien Landuré @jlandure