Skip to content

First draft of Cloud Platform Infrastructure ADR#328

Draft
bergsalex wants to merge 3 commits intomainfrom
task/adr-for-jabs-platform-baseline-tech-stack
Draft

First draft of Cloud Platform Infrastructure ADR#328
bergsalex wants to merge 3 commits intomainfrom
task/adr-for-jabs-platform-baseline-tech-stack

Conversation

@bergsalex
Copy link
Copy Markdown
Collaborator

This PR includes a first draft proposal of our cloud infrastructure approach for the coming JABS work, based on recent in-person technology and priority discussions.

@bergsalex bergsalex self-assigned this Mar 25, 2026

## Context

JABS Hub is a cloud-hosted platform that centralizes the storage and management of JABS
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm open to names other than "JABS Hub"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could just call it "JABS" 🤷

behavioral annotation projects. It exposes an authenticated HTTP API consumed by both a
web UI (Angular) and the JABS desktop GUI client. The platform must support video and
pose file storage, structured label management, project metadata, and future integration
with Envision.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think to support the RDTC users, we would want to prioritize video acquisition, storage management, and processing (pose, downstream open field analysis) over of JABS labeling project management

I'm thinking of multiple "JABS Hub" modules

  • JABS Hub Core: handles authentication, authorization, object storage,
  • JABS Hub Video Acquisition: device management, configuration and control of recording sessions
  • JABS Hub Processing: cloud-based processing pipeline orchestration. Runs pose estimation and open field analysis
  • JABS Hub Label repository

Comment thread docs/development/adr/0002-cloud-platform-infrastructure.md
Copy link
Copy Markdown
Contributor

@keithshep keithshep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only thing that occurred to me is maybe we should be explicit about versioning in terms of whether it's in scope or not, and if it is what kinds of data should be versioned

Co-authored-by: Glen Beane <356266+gbeane@users.noreply.github.com>
Cloud Run is not designed for background work, polling introduces unnecessary latency
between job completion and status update, and it generates API calls against Cloud
Batch regardless of whether any jobs are running. It provides no reliability advantage
over the callback approach.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is my fault...

It does provide a reliability advantage over Option A (callback approach) because the polling should catch state change when the job crashes/is preempted/etc

The biggest downsides is polling will prevent the Cloud Run instance from scaling down to 0 instances when idle and it's higher latency than Option C

Comment thread docs/development/adr/0002-cloud-platform-infrastructure.md Outdated
Co-authored-by: Glen Beane <356266+gbeane@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants