Skip to content

🧫 petri

Research-focused AWS account management

Visit petri.io → | GitHub →

Overview

petri simplifies AWS account provisioning and management for academic research institutions. It handles the complexity of multi-account AWS Organizations, budget tracking, and organizational policies so research computing offices can focus on supporting their researchers.

Key Features

Account Provisioning

  • Self-Service Requests - Researchers request accounts via web form
  • Automated Creation - AWS Organizations API handles account creation
  • Policy Enforcement - Service Control Policies (SCPs) applied automatically
  • Tagging Strategy - Consistent resource tagging for cost allocation

Budget Management

  • Budget Allocation - Set spending limits per account/project
  • Cost Tracking - Real-time visibility into spending
  • Alerts - Email notifications at budget thresholds (50%, 80%, 100%)
  • Reporting - Monthly cost reports per lab/department

Governance

  • Organizational Units - Hierarchical account organization
  • Compliance Policies - Enforce security and compliance requirements
  • Audit Logging - CloudTrail integration for audit trails
  • IAM Policies - Centralized identity and access management

Use Cases

University Research Computing Office

Manage AWS accounts for 50+ research labs across campus with centralized billing and policy enforcement.

Multi-Lab Research Centers

Provide isolated AWS environments for different PIs with shared organizational policies and budget oversight.

Grant-Funded Projects

Create time-limited accounts for specific grants with automated budget alerts and decommissioning.

Architecture

graph TB
    PI[Principal Investigator] -->|Request Account| Portal[petri Portal]
    Portal -->|Create| Org[AWS Organizations]
    Org -->|Apply SCPs| Account[Research Account]
    Org -->|Enable| Budget[Budget Alerts]

    Account -->|Cost Data| CostExplorer[Cost Explorer]
    CostExplorer -->|Report| Portal
    Portal -->|Notify| PI

    style Portal fill:#e1f5ff
    style Account fill:#fff4e1

Integration with ResearchComputing

Downstream Services

Once petri provisions an account, researchers can deploy:

  • cloudworkspaces - Interactive workstations
  • lens - Jupyter and RStudio environments
  • atom - HPC batch computing
  • cargoship - Data archiving

Cost Allocation

petri tags enable cost tracking across the ecosystem: - Track spending per project - Allocate costs to grants - Generate reports for finance offices

Getting Started

For Administrators

# Install petri CLI
brew install petri

# Initialize organization
petri init --org-email admin@university.edu

# Create organizational units
petri ou create --name "Chemistry Department"
petri ou create --name "Physics Department"

# Configure default policies
petri policy apply --name baseline-security

For Researchers

# Request new account
petri account request \
  --pi "Dr. Jane Smith" \
  --project "Atmospheric Chemistry Study" \
  --budget 5000 \
  --duration 12months

# Check account status
petri account status

# View current spending
petri cost summary

Documentation

Technology Stack

  • Language: Go
  • Infrastructure: AWS Organizations, Service Control Policies
  • Cost Management: Cost Explorer, Budgets
  • Identity: AWS IAM, IAM Identity Center
  • Web Portal: React, AWS Amplify

Project Status

Current Version: v0.3.0 Status: Active Development License: Apache 2.0

Contributing

Contributions welcome! See the contribution guide.

Support


← Back to Ecosystem