1

I just started looking at Temporal and it looks like a great way to orchestrate microservices. I have knative & cloudrun based microservices in my project and I would like to adapted Temporal to orchestrate the workflow between my services.

From a quick look through docs I couldn't figure out if Temporal can manage serverless microservices (knative/cloudrun). Have you used Temporal and do you have serverless workloads in your project? If so can you share your experience?

Thanks

James
  • 4,211
  • 1
  • 18
  • 34
RandomQuests
  • 635
  • 4
  • 16
  • We started with a similar environment, kept everything on Cloud Run initially, but when we wanted to adopt Temporal, we were faced with how to deploy it, and how to run our workers. We opted for deploying Temporal to GKE using Helm since it appears to be the most blessed path. In the end we learnt a lot about GKE and ended up moving our apps off Cloud Run and on to GKE, which increased performance quite a bit, and came at the same cost. – Ivan Mar 06 '22 at 14:50

1 Answers1

2

It looks like all temporal code runs inside a (persistent) temporal server. That probably makes it a poor fit for an environment like Cloud Run or Knative (or AWS Lambda containers).

Looking further through the doc, it also appears that multiple temporal servers end up individually addressing each other through their own clustering protocol.

From the video at the start, it does seem like you could use an Activity to encapsulate a call to a service running on Knative or Cloud Run.

E. Anderson
  • 3,405
  • 1
  • 16
  • 19