Hey all, I have a general question about the devel...
# prefect-community
d
Hey all, I have a general question about the development cycle using Prefect in an organization. For example, we have 3 environments in our company, dev stage and prod. Dev is a classic development environment - most of the R&D team has access to it. Staging is pre-prod - when a project moves into staging it’s actually under “code freeze” - in this ENV we will also do some QA. Now the idea is to auto-register Prefect flows to dev by using CI-CD - the registering will happen after a PR gets approved (git PR), After the merge, and in order to move to staging - we plan to use tagging. After testing in staging - we plan to have a flow for moving a staging version to prod. What’s the best way to tackle this? Specifically working with Prefect (Prefect is our pipeline scheduler). Also, should we have 3 different Prefect servers (we think we do - since we want to eliminate any possibility in which dev flows will somehow affect prod ones)? 3 different cloud accounts? (we now use a single account and use Projects for different company projects and not environments) Hope my question is clear. Thanks!! @Ofek Katriel
o
+1
k
Have you seen this discussion yet? It’s one of the best resources to start with about this topic. Tenants can be used to provide environment separation but Server only comes with one tenant, so I see why you are potentially thinking about spinning 3 tenants. I think the overhead is too high personally and projects + labels gets you some level of separation. You are right though that is the most separation.
👀 1
d
@Vladi Kaplun
Thanks for the reply @Kevin Kho 2 additional questions - 1. I saw this feature in Prefect cloud (attached as an image) can you please direct me to some relevant documentation? 2. I think you misunderstood our setup (my fault) we use Prefect cloud and our agents run on our own cloud compute (gcp). So can we use tenants there for different environments? and then use projects under them? Thanks!
k
Tenants if you are willing to buy more. You need to pay per additional tenant. I think that doc you mentioned refers to a re-registration
d
Can you direct me to some resources? I only found this link - https://docs.prefect.io/orchestration/concepts/api_keys.html#using-api-keys Something like having a tenant per env (dev stage and prod) and having projects under those tenants sounds like the solution I’m looking for. Each tenant will have a dedicated API key and won’t be able to “touch” any other tenants flows.
k
Tenants specifically you’d need to message
<mailto:sales@prefect.io|sales@prefect.io>
as they are only enterprise tier
👍 1
d
Another question - can you elaborate or refer me to relevant documentation that explains “promote your workflows from dev to prod” from the screenshot I attached? Seems like it’s a starter feature and since we are on a standard plan I guess we also have access to it, I couldn’t find any relevant data. Also, documentation regarding tenants could be helpful if that’s possible. Thanks.
k
I dont think there is anything more there than registering under a different project. There is no one-click
d
Ok. And what about tenants? I can’t find any documentation
k
That is a conversation with sales. There isn’t any documentation around that