What is the recommended deployment for scaling timefold?

190 views Asked by At

I am currently working on a timefold deployment and I wonder what is the recommended deployment strategy for scaling a timefold application. I can't find anything in the docs about it. The docs only mention some integrations https://timefold.ai/docs/timefold-solver/latest/integration/integration.

I also found some hints on azure functions Advice on Scaling OptaPlanner using Azure Functions

Which technology do you recommended Spring Boot 3.0 or Quarkus? Do you recommended running timefold serverless as aws lambda or azure function? What are the advantages of using Quarkus over plain Java then using serverless technology? For OptaPlanner I found some experiments with Kubernetes https://github.com/kiegroup/optaplanner-quickstarts/tree/development/technology/kubernetes. What about deploying timefold in kubernetes?

Do you recommend jvm oder native deployment?

Maybe the developers could do some recommendations to this questions.

1

There are 1 answers

11
Geoffrey De Smet On

Serverless functions typically don't work well because running a solver takes minutes. Think HTTP session timeout: the problem submission REST request needs to be separate from the solution retrieval REST request. Or you need to use a webhook.

One pod per dataset works well, but involves a lot of orchestration to setup correctly in a scalable way.

We're working on Timefold Platform that handles all the requirements you would need or desire to run on Kubernetes.