Truefoundry Key Concepts

Key Concepts and Information Architecture to get started

Before we get started with deploying on Truefoundry, its important to understand a few key concepts. These are primarily Cluster, Workspace and ML Repo.

Cluster

A cluster is a group of machines that can autoscale up and down. One cluster belongs to only one region, however, there can be multiple clusters in a region. A cluster represents a physical separation between resources. So we can have 2 clusters in Europe West, 1 cluster in us-east and 1 cluster in Asia.

Workspace

A cluster can have multiple workspaces. Each workspace is a logical separation within a cluster so that different teams, applications, environments can sit within a cluster. For e.g, let's say there are three teams within a company. Team1 manages application1, application2, team2 manages application3, and team3 manages application4 and application5. Each of the applications further has three environments - dev, staging and production. One way to organize the workspaces can be:

We can also have the dev and prod workspaces in one cluster if you want to structure them like that.

MLRepo

MLrepos concepts in Truefoundry are like Git repos for code versioning, except that MLRepos are meant for versioning of ML models, artifacts and metadata. You can provide access of certain MLRepos to users, teams or workspaces. Once a workspaces has access to an ML repo, all applications inside the workspace can then read or write to the MLRepo depending on whether the workspace has viewer or editor access. This way, we don't need to inject any keys and this makes the entire system much more secure.

In the case above, the workspace1 has access to MLRepo1 and hence team1 can access the assets in MLrepo1. This way, you can also divide dataset,models access across teams and workspaces.

To do anything in Truefoundry, we need a MLRepo and workspace to get started.

Creating a Workspace

You can create a workspace from the Workspace's tab in the platform. Once you create, you can get the FQN of the workspace from the FQN button.

Creating a ML Repo

To create an ML Repo, you need to have atleast one Storage Integration configured. You can see the list of storage integrations from the dropdown. If its empty, you can configure a storage integration following this guide. You can then create a ML Repo from the ML Repo's tab in the Platform.

Grant access of ML Repo to Workspace

Providing access of a certain ML Repos to a workspace, ensures that every application in the Workspace gains access to that ML Repo. You can Grant access of a ML Repo to a Workspace, while creating or editing a Workspace.