Qiskit / qiskit-serverless

A programming model for leveraging quantum and classical resources
https://qiskit.github.io/qiskit-serverless/
Apache License 2.0
58 stars 27 forks source link

Should we run our apps as Knative services? #388

Closed psschwei closed 1 year ago

psschwei commented 1 year ago

Currently, we run a couple of standalone services as part of quantum serverless: the gateway and the repository. As these are containerized services, it might be worthwhile to run them as Knative services, which would simplify the setup and provide some benefits (like autoscaling and networking) that we might want to take advantage of.

Opening this issue to explore this topic a bit...

Tansito commented 1 year ago

A couple of questions here @psschwei , I'm not enough familiarized with Knative yet so sorry for my ignorance.

Which would be the difference between what we have right now and what you are proposing? My experience working with k8s + docker right now is the next one:

Where would you say in those steps would be the difference? Do you have some link/documentation that I could read to research a bit more? Thanks as always @psschwei 💯

Tansito commented 1 year ago

Btw and just to confirm the context, is this issue related with some of these conversations that we had?

psschwei commented 1 year ago

My main thought process here was :

That's about as far as I've gotten :smile:

I think this was partially motivated by some of the issues we saw in #255 and some of the Keycloak PRs. Knative could help here, but there would also be some additional overhead with the knative components... so really just an open question at this point.

Knative docs for Serving (which is the component we'd use) are here: https://knative.dev/docs/serving/

Tansito commented 1 year ago

Oh, I see your point. I will read your documentation and provide my feedback!

pacomf commented 1 year ago

The only question here is... Can we reuse it outside of kubernetes? We should be much agnostic as possible... it means, we need to have the ability to deploy our stack outside of kubernetes environment... but if we consider that Knative can be great for the kubernetes deployment or whatever, we can discuss as well... but to have in mind that we need to provide the option to deploy the stack in other places (not just kubernetes)

psschwei commented 1 year ago

That's fair... I was assuming those parts would always run on kubernetes / openshift as part of the more general hybrid / multi cloud strategy