# best-practices

Isaac Kargar

06/17/2022, 7:16 AM
Hi folks! I want to host Prefect on GCP for production and have a question regarding the architecture. I'm thinking of three solutions. • Hosting it on a VM -> Start VM whenever needed and run the flow, and then stop it. • using Cloud Run and hosting Prefect in a serverless way. This is just for the UI and metadata and logging, right? To run the flow and deep learning stuff, we need to use another machine with GPU or GKE or ...? What do you think are the pros and cons of these solutions? Any other recommendations? Any proposed architecture?

Anna Geller

06/17/2022, 11:28 AM
Regarding the architecture, this may help I think with Prefect 2.0 there is so much flexibility that all of the options you mentioned may work, depending on how you tackle them We don't have any clear recommendations yet, but I understand why this would be valuable and we will work on that in a near future Running your Prefect 2.0 agent on GKE is quite common since it allows for a lot of flexibility But if you want to have a recommendation from a deep learning practitioner perspective, I would go with a single but powerful VM with enough GPU/memory resources etc. because of the simplicity and how easy you can SSH to the instance, inspect results/files generated by your model training process etc. Kubernetes is great but has complexity that as a data scientists you shouldn't have to worry about in all honesty