We are in the midst of evaluating open source ML pipeline and workflow orchestration tools w/in our organization. I received lots of great recommendations pointing me towards Flyte and am interested in doing a POC at some point. I'm still learning more and more about Flyte by watching some webinars. I did have some questions about multi-tenancy because that seems to be the biggest pain point when adopting new tools
We have multiple Data Science teams, each with their own respective AWS accounts. Does Flyte encourage deploying multiple instances of the infrastructure in our stakeholders' accounts or does it work best by having a centralized instance in own designated Machine Learning Platform AWS account?
01/18/2023, 8:03 PM
hey @Riley Hun welcome!
you can certainly deploy one per aws account if that’s what they already have. most companies only have one aws account where their ml platform and their ml workflows live.
are these separate top level accounts or subaccounts?
i don’t think i’ve actually come across this style of use-case before. the main thing to keep in mind is data and data transfer.
i think the answer to this question will mostly depend on that. one of flyte’s advantages is that it has multi-tenancy features built in, so you don’t have to manage things yourself. but that said if you’re going to incur the price cost and time cost of a lot of data transfer as ml workloads pull and push large amounts of data, then that’s certainly something to consider as well.
01/18/2023, 8:34 PM
Thank you @Yee for your helpful information! Yes it's a very unique paradigm. To answer your question, yes these are separate top level accounts, each with their own account signature (we call this an account moniker) and prod, staging and dev environments. However, data would typically live in a single account that we call the Data Lab. You do bring up a good point that each of these different accounts have their own billing so model training and compute should be within their respective accounts because we don't want to incur the cost for that.
I'm wondering if it's possible to have the UI and server in our centralized account but somehow do the compute on the customer accounts using Flyte. Is there any documentation you can point me to that delves into multi-tenancy details more in depth and also deployment patterns?