Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Event-driven orchestration with Eventarc and Wo...
Search
Mete Atamel
November 03, 2021
Programming
440
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Event-driven orchestration with Eventarc and Workflows
Mete Atamel
November 03, 2021
More Decks by Mete Atamel
See All by Mete Atamel
Agent-User Interaction Protocol (AG-UI)
meteatamel
0
120
Agent to UI Protocol (A2UI)
meteatamel
1
97
Tour of Agent Protocols: MCP, A2A, AG-UI, A2UI with ADK
meteatamel
2
420
Getting started with Google Antigravity
meteatamel
5
980
Gemini for developers
meteatamel
0
200
Model Context Protocol
meteatamel
1
220
Agent2Agent (A2A) Protocol
meteatamel
2
270
Beyond_the_Prompt__Evaluating__Testing__and_Securing_LLM_Applications.pdf
meteatamel
1
550
Gemini_2.0_for_developers.pdf
meteatamel
0
170
Other Decks in Programming
See All in Programming
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.6k
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
120
どこまでゆるくて許されるのか
tk3fftk
0
300
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.2k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.6k
Creating Composable Callables in Contemporary C++
rollbear
0
180
AIエージェントで 変わるAndroid開発環境
takahirom
1
170
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
110
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
350
The NotImplementedError Problem in Ruby
koic
1
1.1k
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
210
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.8k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Visualization
eitanlees
152
17k
A Soul's Torment
seathinner
6
3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Making Projects Easy
brettharned
120
6.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Context Engineering - Making Every Token Count
addyosmani
9
1k
RailsConf 2023
tenderlove
30
1.5k
Claude Code のすすめ
schroneko
67
230k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
First, design no harm
axbom
PRO
2
1.2k
Transcript
Event-driven orchestration with Eventarc and Workflows Mete Atamel Developer Advocate
at Google @meteatamel atamel.dev speakerdeck.com/meteatamel
github.com/priyankavergadia/GCPSketchnote
Event-driven orchestration Orchestrated services communicating via events Orchestrated Services Message
Broker Orchestrated Services Orchestrated Services
Google Cloud GA Your own apps GA Cloud Run GA
Cloud Functions Preview Workflows Preview Targets Sources Cloud Run for Anthos on GKE Preview Eventarc Triggers to filter events CloudEvents format
New message in a Pub/Sub topic → Cloud Run gcloud
eventarc triggers create trigger-pubsub \ --destination-run-service=$SERVICE_NAME \ --destination-run-region=$REGION \ --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" --transport-topic=projects/$PROJECT_ID/topics/$TOPIC_ID Pub/Sub Trigger
New Compute Engine VM creation → Cloud Run gcloud eventarc
triggers create trigger-auditlog \ --destination-run-service=$SERVICE_NAME \ --destination-run-region=$REGION --event-filters="type=google.cloud.audit.log.v1.written" \ --event-filters="serviceName=compute.googleapis.com" \ --event-filters="methodName=beta.compute.instances.insert" \ --service-account=$PROJECT_NO-compute@developer.gserviceaccount.com Audit Log Trigger
Create a trigger for new object creation in Cloud Storage
→ Cloud Run gcloud eventarc triggers create trigger-gcs \ --destination-run-service=$SERVICE_NAME \ --destination-run-region=$REGION --event-filters="type=google.cloud.storage.object.v1.finalized" \ --event-filters="bucket=$BUCKET_NAME" \ --service-account=$PROJECT_NO-compute@developer.gserviceaccount.com Cloud Storage Trigger
Serverless Compute External API’s Google API’s etc... Workflows - orchestrate
& integrate SaaS API’s Private API’s Other Clouds Workflows
- processPayment: call: http.post args: url: https://payment-processor.run.app/... body: input: ${paymentDetails}
result: processResult - shipItems: call: http.post args: url: https://.../cloudfunctions.net/ship body: input: ${processResult.body} result: shipResult - notifyUser: call: http.post ... Payment Processor Cloud Run Authorize & charge CC Notifier Cloud Run Notify user Shipper Cloud Functions Prepare & ship items YAML or JSON syntax
Deploy, execute, manage workflows # Deploy a workflow gcloud workflows
deploy my-workflow --source=workflow.yaml # Execute a workflow gcloud workflows execute my-workflow # See the result gcloud workflows executions describe <your-execution-id> --workflow my-workflow
None
Image processing pipeline v1 - Eventarc (AuditLog-Cloud Storage) + Cloud
Run End Users Images Input Cloud Storage Images Output Cloud Storage Filter Cloud Run Resizer Cloud Run Labeler Cloud Run Watermarker Cloud Run File uploaded Cloud Pub/Sub File resized Cloud Pub/Sub AuditLog Trigger Eventarc Pub/Sub Trigger Eventarc Pub/Sub Trigger Eventarc
Image processing pipeline v2 - Eventarc (Cloud Storage) + Cloud
Run +Workflows End Users Images Input Cloud Storage Images Output Cloud Storage Filter Cloud Run Cloud Storage Trigger Eventarc Image Processing Workflows Watermarker Cloud Functions Resizer Cloud Functions Labeler Cloud Functions
Image processing pipeline v3 - Eventarc (Cloud Storage) + Workflows
End Users Images Input Cloud Storage Images Output Cloud Storage Cloud Storage Trigger Eventarc Image Processing Workflows Watermarker Cloud Functions Resizer Cloud Functions Labeler Cloud Functions Filter Cloud Functions
@meteatamel atamel.dev speakerdeck.com/meteatamel github.com/GoogleCloudPlatform/eventarc-samples Thank you!