Lahiru Jayathilake created AIRAVATA-3977:
--------------------------------------------

             Summary: Allocation Governance POC Inspired by Cloud Management 
Platforms
                 Key: AIRAVATA-3977
                 URL: https://issues.apache.org/jira/browse/AIRAVATA-3977
             Project: Airavata
          Issue Type: Task
          Components: Airavata Allocation Manager, Custos Airavata Integration
            Reporter: Lahiru Jayathilake


h3. Summary

Research cloud governance and account management platforms (such as Kion, AWS 
Control Tower, and similar tools) and build a standalone proof-of-concept that 
demonstrates how their governance patterns can be applied to HPC compute 
allocation management. The goal is to explore concepts like hierarchical 
organizational structures, budget threshold enforcement, funding source 
prioritization, and self-service allocation with guardrails, and produce a 
working POC that the Custos team can learn from and adapt for future allocation 
management work.
h3. Problem

HPC sites manage compute allocations from multiple funding sources (ACCESS-CI, 
NAIRR, internal discretionary pools). Each source has different credit units, 
lifecycles, and rules. As allocation management grows more complex, the system 
needs governance capabilities that go beyond simple balance tracking:

 
 * How do you organize projects into departments or groups and apply default 
policies to all of them at once?
 * When an allocation is running low, how do you automatically notify the PI at 
80%, warn at 95%, and block new job submissions at 100%?
 * If a researcher has credits from both ACCESS-CI and an internal pool for the 
same resource, which source gets drawn down first?
 * How does a PI self-allocate their awarded credits across CPU, GPU, and 
storage without needing admin approval for every change, while still staying 
within the total award?

 

Cloud governance platforms like [Kion|https://kion.io/] have solved analogous 
problems for cloud account and budget management. Kion provides hierarchical 
organizational units with policy inheritance, automated budget enforcement with 
configurable thresholds, multi-source funding management, and self-service 
account provisioning with built-in guardrails. While the domain is different 
(cloud spending vs. HPC compute credits), the governance patterns are directly 
transferable.
h3. Description

This project is an {*}exploratory research and prototyping task{*}. The student 
will study cloud governance platforms, identify which patterns apply to HPC 
allocation management, and build a standalone POC demonstrating those patterns. 

 
 #  *Study cloud governance platforms*

 

Research how cloud management platforms handle governance at scale. The primary 
reference is [Kion|https://kion.io/], but also look at AWS Control Tower, Azure 
Management Groups, and GCP Organization Policies to get a broad perspective. 
Read their documentation, watch available product demos, and understand the 
core concepts:

 
 * {*}Hierarchical organizational model{*}: How organizations, departments, and 
projects are structured in a tree. How policies and budgets defined at a higher 
level automatically apply to everything underneath.
 * {*}Budget and funding management{*}: How funding sources (grants, contracts, 
departmental budgets) are attached to organizational units and disseminated to 
projects. How budgets can be set at different levels.
 * {*}Threshold-based enforcement{*}: How the system takes automated actions 
when spending hits configurable thresholds (notifications, warnings, freezes). 
Not just tracking, but actually enforcing limits.
 * {*}Policy inheritance and exemptions{*}: How governance rules cascade down 
the organizational tree, and how specific projects can be exempted from 
inherited rules when needed.
 * {*}Self-service with guardrails{*}: How end users (PIs, project leads) can 
provision and manage their own resources within limits set by administrators, 
without needing manual approval for every action.
 * {*}Funding source prioritization{*}: When multiple funding sources apply to 
the same consumption, how the system determines which source to draw from first.

 
 #  *Map these patterns to HPC allocation management*

 

Produce a mapping document that translates cloud governance concepts to the HPC 
context:

 
||*Cloud Concept*||*HPC Equivalent*||
|Organization / OU hierarchy|Site > Department > Research Group > Project|
|Cloud account|Slurm account (the thing that actually consumes resources)|
|Funding source|Allocation source (ACCESS-CI, NAIRR, internal pool)|
|Budget with threshold actions|Award balance with notification/enforcement at 
configurable levels|
|Policy inheritance|Default allocation rules per department (e.g., all ACCESS 
allocations get Slurm enforcement)|
|Account vending (self-service)|PI self-allocates credits across resource types 
within their award|

 

Identify where the analogy holds, where it breaks down, and what is unique to 
HPC (e.g., heterogeneous resource types like CPU vs. GPU vs. storage, external 
awards arriving pre-approved).

 
 #  *Build a standalone POC*

 

Build a working prototype that demonstrates the key governance patterns in an 
HPC allocation context. This should be a self-contained application (not 
plugged into the existing Custos services) that showcases:

 
 * {*}Hierarchical organization{*}: Create sites, departments, and projects in 
a tree structure. Show how a policy or budget set at the department level 
propagates to all projects underneath.
 * {*}Threshold enforcement{*}: Configure thresholds on an allocation (e.g., 
80%, 95%, 100%) with different actions at each level (notify, warn, block). 
Simulate consumption and show the enforcement triggering.
 * {*}Multi-source funding{*}: Attach multiple allocation sources to a project. 
Demonstrate draw-down ordering (e.g., use ACCESS credits first because they 
expire, then fall back to internal credits).
 * {*}Self-service allocation{*}: A PI receives an award of N credits. They can 
split those credits across CPU, GPU, and storage allocations without admin 
approval, as long as the total doesn't exceed the award.
 * {*}Policy management{*}: Define a governance rule at the site level (e.g., 
"all allocations must have enforcement enabled"). Show it applying 
automatically to all descendant projects. Demonstrate an exemption for a 
specific project.

 

The POC should have a simple UI to demonstrate the interactions and a REST API 
backing it.

 
 #  *Deliver a findings report*

 
 * Summary of governance patterns studied and their sources
 * Mapping of cloud governance concepts to HPC allocation management
 * Recommendations for which patterns Custos should adopt and how
 * What worked well in the POC, what was tricky, and open questions
 * Architecture notes for how these patterns could eventually be integrated 
into the Custos allocation management layer

h3. Expected Deliverables
 * Research summary of cloud governance platforms (Kion, AWS Control Tower, 
Azure Management Groups, GCP Org Policies) and their relevant patterns
 * Concept mapping document: cloud governance to HPC allocation governance
 * Standalone POC (Go + React/TypeScript) demonstrating hierarchical 
organizations, threshold enforcement, multi-source funding, self-service 
allocation, and policy inheritance
 * Findings report with recommendations for Custos adoption

h3. Required Skills
 * Go (backend)
 * React/TypeScript (POC UI)
 * REST API design
 * Database modeling (relational)
 * Interest in cloud governance and infrastructure management concepts

h3. Resources
 * {*}Custos repository{*}: 
[github.com/apache/airavata-custos|https://github.com/apache/airavata-custos]
 * {*}Allocation management module{*}: allocations/ directory for context on 
how Custos currently handles allocations from ACCESS-CI
 * {*}Kion{*}: [https://kion.io/] (primary reference, explore their docs, blog 
posts, and product videos)
 * {*}Kion higher education use case{*}: 
[https://kion.io/industries/higher-education/]
 * {*}AWS Control Tower{*}: [https://docs.aws.amazon.com/controltower/] 
(organizational governance for AWS accounts)
 * {*}Azure Management Groups{*}: 
[https://learn.microsoft.com/en-us/azure/governance/management-groups/] 
(hierarchical governance for Azure subscriptions)

{*}GCP Organization Policies{*}: 
[https://cloud.google.com/resource-manager/docs/organization-policy/overview]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to