Create Teams

Teams group users within your organization to simplify access control. Instead of managing permissions individually, assign resources to teams and control membership.

Teams can own projects, share environment quotas, and access specific data stores. This makes it straightforward to organize users by department, project, or role.

Create a Team

  1. Click Hi, <username> in the top-right corner

  2. Select Manage <organization>

  3. Open the Teams tab

  4. Click Create Team

  5. Enter a team name (e.g., "ML Engineers", "Data Science", "Production")

  6. Click Create

Add Members to Teams

After creating a team, add users:

  1. Click the team name in the Teams tab

  2. Click Add Member

  3. Select users from the dropdown

  4. Click Add

Users can belong to multiple teams simultaneously. Their permissions are the union of all team permissions.

Team-Based Access Control

Teams streamline permission management across Valohai:

Project Ownership

Projects can be owned by teams instead of individual users:

  • All team members can run executions and modify settings

  • Transfer project ownership between teams in project settings

  • Add non-team users as individual collaborators if needed

Example: The "Data Science" team owns the "customer-churn-prediction" project. All data scientists can train models, while individual engineers collaborate on specific experiments.

Environment Quotas

Control which teams can use specific machine types and how many:

  • Set per-team limits on concurrent machines

  • Block teams from expensive GPU environments

  • Allocate resources based on team priority

See Team Quotas for configuration details.

Data Store Access

Restrict data stores to specific teams:

  • Share sensitive production data only with the "Production" team

  • Give "Staging" team access to development data stores

  • Provide read-only access to analytics teams

See Restrict Data Stores for setup instructions.

Team Naming Strategies

Choose names that reflect your organization structure:

By Department:

data-science
ml-engineering
analytics
platform-engineering

By Project:

recommendation-engine
fraud-detection
computer-vision
nlp-research

By Environment:

production
staging
development

By Role:

researchers
engineers
ops
leadership

Example Team Structures

Small Organization (5-15 people)

- ml-team (everyone)
- admins (2-3 people)

Simple structure where most users are on the main team, with a small admin group.

Medium Organization (15-50 people)

- data-scientists
- ml-engineers
- platform-team
- admins

Separate teams by function. Platform team manages infrastructure, data scientists focus on experiments, ML engineers handle production.

Large Organization (50+ people)

- vision-team
- nlp-team
- recsys-team
- ml-platform
- production-ops
- staging-users
- admins

Multiple domain-specific teams with dedicated platform and operations teams. Separate staging and production access.

Managing Team Membership

Add Users During Invitation

When inviting new users, assign them to teams immediately:

  1. Enter their email in the Invitations tab

  2. Select teams from the dropdown

  3. Send invitation

They'll join the organization and teams simultaneously.

Modify Existing Membership

Change team membership anytime:

  1. Go to Members tab

  2. Click the user's name

  3. Add or remove teams

  4. Save changes

Or manage from the team view:

  1. Go to Teams tab

  2. Click the team name

  3. Add or remove members

Automatic Team Assignment via SSO

If using Azure AD or Okta, map SSO groups to Valohai teams:

Azure AD example:

  • Azure AD group "Data Scientists" → Valohai team "data-science"

  • Azure AD group "ML Platform" → Valohai team "platform-team"

Users automatically join the correct teams when they log in via SSO.

See SSO configuration for detailed setup.

Team Use Cases

Separate Production and Development

Production team:

  • Access only to production environments

  • Quota: 5 machines maximum

  • Access to production data stores

  • Members: Senior engineers, ops team

Development team:

  • Access to spot instances and dev environments

  • Quota: 20 machines maximum (lower cost)

  • Access to staging data stores

  • Members: All engineers and data scientists

This prevents accidental production changes and controls costs.

Department-Based Access

Data Science team:

  • Owner of experiment projects

  • Access to GPU machines for training

  • Shared Weights & Biases credentials via environment variables

Analytics team:

  • Owner of reporting projects

  • Access to CPU machines only

  • Shared database credentials for data extraction

Different teams get appropriate resources for their workflows.

Project-Based Collaboration

Vision project team:

  • Owns "image-classification" and "object-detection" projects

  • Access to V100 GPU environments

  • Shared ImageNet data store

NLP project team:

  • Owns "text-generation" and "sentiment-analysis" projects

  • Access to A100 GPU environments

  • Shared Hugging Face credentials

Teams align with ML domains, making resource allocation straightforward.

Best Practices

Start simple: Begin with 2-3 broad teams. Add more as your organization grows.

Align with existing structure: Mirror your company's org chart for clarity.

Use consistent naming: Pick a naming convention (department, project, role) and stick to it.

Review periodically: Audit team membership quarterly to remove inactive users and adjust access.

Document team purposes: Keep notes about what each team owns and why they exist.

Combine with SSO: Automate team membership using SSO groups for organizations with frequent team changes.

Last updated

Was this helpful?