Terrell Russell, Ph.D
Executive Director, iRODS Consortium
Director of Data Management, RENCI
iRODS Overview
and UGM2024
July 18, 2024
RENCI Lunch and Learn
Chapel Hill, NC
The iRODS Consortium
Founded in 2013 by RENCI, DICE, and DDN
The iRODS Consortium
Our Mission
Our Membership
Consortium
Member
Consortium
Member
Consortium
Member
Since iRODS UGM 2023
What is iRODS
Open Source
Distributed
Data Centric & Metadata Driven
iRODS as the Integration Layer
Why use iRODS?
People need a solution for:
The larger the organization, the more they need software like iRODS.
iRODS Core Competencies
The underlying technology categorized into four areas
Data Virtualization
Combine various distributed storage technologies into a Unified Namespace
iRODS provides a logical view into the complex physical representation of your data, distributed geographically, and at scale.
Projection of the Physical into the Logical
Logical Path
Physical Path(s)
Data Discovery
Attach metadata to any first class entity within the iRODS Zone
iRODS supports automated and user-provided metadata which makes your data and infrastructure more discoverable, operational, and valuable.
Metadata Everywhere
Workflow Automation
Policy Enforcement Points (PEPs) are triggered by every operation within the framework
The iRODS rule engine framework provides the ability to capture real world policy as computer actionable rules which may allow, deny, or add context to operations within the system.
Dynamic Policy Enforcement
The iRODS rule may:
Dynamic Policy Enforcement
A single API call expands to many plugin operations all of which may invoke policy enforcement
Plugin Interfaces:
Secure Collaboration
iRODS allows for collaboration across administrative boundaries after deployment
iRODS provides the ability to federate namespaces across organizations without pre-coordinated funding or effort.
What is a Policy
A Definition of Policy
A set of ideas or a plan of what to do in particular situations that has been agreed to officially by a group of people...
So how does iRODS do this?
iRODS Policies
The reflection of real world data management decisions in computer actionable code.
(a plan of what to do in particular situations)
Possible Policies
Policy Composition
Consider Storage Tiering:
iRODS Capabilities
Automated Ingest - Landing Zone
Automated Ingest - Filesystem Scanning
Storage Tiering
Core Competencies
Policy
Capabilities
Indexing
Core Competencies
Policy
Capabilities
Publishing
Filesystem Synchronization
Data to Compute
Compute to Data
Data Transfer Nodes
iRODS Clients
Protocol Plumbing - Presenting iRODS as other Protocols
Over the last few years, the ecosystem around the iRODS server has continued to expand.
Integration with other types of systems is a valuable way to increase accessibility without teaching existing tools about the iRODS protocol or introducing new tools to users.
With some plumbing, existing tools get the benefit of visibility into an iRODS deployment.
16th Annual iRODS User Group Meeting
16th Annual iRODS User Group Meeting
2023-2024 Working Groups
Technology Working Group
Metadata Templates Working Group
Authentication Working Group
S3 Working Group
Imaging Working Group
Organized community efforts to standardize protocols, technologies, and methodologies
UGM2024 - Core Development Team Talks
Separate Talks
Phil Owen
iRODS Build and Test v9: Automation via GitHub and Kubernetes
Markus Kitsinger
iRODS Build and Packaging: 2024 Update
Kory Draughn and Martin Flores
iRODS HTTP API v0.3.0 with OpenID Connect
Justin James
iRODS S3 API v0.2.0 with Multipart
Terrell Russell
DAViDD: Initial data management solution for UNC's READDI AViDD Center
iRODS Metadata Templates Working Group: Building Blocks and Lessions Learned
Included in the Technology Update
Kory Draughn
Python Rule Engine Plugin
NFSRODS
Derek Dong
Metadata Guard Rule Engine Plugin
Justin James
S3 Resource Plugin
Globus Connector
Daniel Moore
Python iRODS Client
UGM2024 - Other Selected Talks
iRODS Internships - Summer 2024
Convert existing web applications to our new HTTP API (ReactJS + HTTP)
The relatively new iRODS Zone Management Tool is due for its first refactor. Originally built to talk with a REST API, it needs to be converted to talk to the new iRODS HTTP API. If this work on the administrator tool proves pretty straightforward, we are interested in evaluating a similar refactor for our user-level GUI, Metalnx (or to even start designing a new webapp from scratch).
Create new client libraries around our new HTTP API (Various Languages)
Our new iRODS HTTP API is making it easier for developers to interact with the iRODS ecosystem. We would like to help them even more by providing new client libraries in various languages that wrap their native or library-provided http calls. We are most interested in Java, Python, and Javascript, but any language will provide a learning opportunity and help map out the space for other languages.
Big Picture
Core
4.3 - Focus on stability, bug fixes, plugins, clients
5.0 - Modernize the deployment process, improve determinism, libstdc++
Clients
GUIs (ZMT, Metalnx, et al.)
Onboarding and Syncing (Automated Ingest)
File System Integration (NFSRODS, SFTP)
iRODS HTTP API
iRODS S3 API
Continue building out policy components (Capabilities).
We want installation and management of iRODS to become about policy design, composition, and configuration.