Hi Chris,
I can understand any answer from me will likely contain some bias, but I want to share my honest opinion on this, and rest assured it's given from the perspective of "a Java dev" without any specific knowledge just-because working for Red Hat or any special insights.
To provide more details, that is what I'm personally "defaulting-to" these days, when I also make some demo of Kogito running on cloud (latest example,
here).
The reason I say this, is to potentially avoid the following:
- you start to rent a VPS, only to later face yourself with the manual provisioning (install JDK, etc.) and manual management (ensure app is running as daemon, and it keeps running!)
- then you might need to apply several changes iteratively based on feedback; you may look then into Containerize the app, but now the problem is just shifted into managing the Docker or the likes
- then you will likely want to industrialize how you manage your containers and at that point you will be interested in Kubernetes
- then you will likely want to industrialize how you manage your K8s
By the time you have explored a custom or alternative solutions between 1-4, you could have just opted on OpenShift directly or at least given it a shot first hand, before starting what anyway will be a journey :)
If you really don't want any Containerization at all ever, I would at least consider easing the tasks in 1 with Ansible.
In summary, if that helps, the personal approach I take for demos/testing is the following:
- I try to deploy on RH Developers OpenShift Sandbox if possible
- For alternative testing scenarios still involving demo recording, I use CRC on a fixed server/computer running Fedora
- If I'm only testing locally some specific code, I usually get the job done with just a minikube on a MacBook
I hope I have provided at least some interesting considerations for your use-case.
I'm positive other colleagues, community members and users might have additional considerations!
I'm looking forward to reading them.
MM