SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Lee Liming – lliming@uchicago.edu
Steve Turoscy – sturoscy@globus.org
Vas Vasiliadis – vas@uchicago.edu
May 11, 2022
Building Data Portals and Science
Gateways with Globus
Agenda
• Introduction and motivation
• The Modern Research Data Portal design pattern
• Introducing the Django Globus Portal
• Deploying your Django Globus Portal
• Globus data transfer: a range of options
• Making data findable with Globus Search
• Other customization examples
- Hands-on exercise
- Live demonstration
Motivation and
Framing the Solution
What’s the common theme?
4
Some challenges…
• Increasing data rates, heterogeneity
• Continuum of computing resources
• Differing workflows across instruments
Distribution Store
Data Portal
Advanced Computing Facility
Instrument Facility
A common data flow pattern
Image Analysis
3
Search/Discovery
5
Science!
6
Imaging
1 Acquisition
2
Description/Identification
4
v
Data gathering mediated by a
web application
A simpler case: import “big data” into a web app
• You provide a web application (data
portal, library service) that allows
researchers to import “big” datasets
• The datasets are too big for normal file
upload interfaces or storage systems
(1000+ files, TB+ data)
• The datasets must be curated (authorized,
reviewed & catalogued, managed)
• You don’t want a lot of code maintenance,
and you don’t want to give a lot of
technical support to researchers
Your Cloud Storage
Example website: NIH Common Fund Data Ecosystem (CFDE) Portal
Why we provide portals and science gateways
• Enable a broad audience of researchers to access the
latest research data
• Simplify access to complicated data sources
(beamlines, electron microscopes, sequencers, etc)
• Add curation and cataloguing so data is findable
• Enable researchers to customize their experience
• Enforce (sometimes complex) access policies
What does Globus do for portals?
• Federated login
– Globus handles authentication &
identity federation
– Your portal manages profiles
• Rich groups API for access
management
– Public/private, group-, subject-level
ACLs
• Data upload/download at scale
– Call out to Globus Transfer API
• Facilitate discovery
– Free text search in Globus Search
– Filtering on specific values
– User Friendly GUI
• Automation
– Define Flows for data handling steps
(copy, move, add a search record,
create a DOI, change permissions, etc.)
– Run each Flow w/one API call & let
Globus manage everything
– Simplify your curation code
Everything can be done using our web app…
Web app Python CLI
Python SDK
Globus Public REST APIs
Transfer API Search API
Auth API Groups API Flows API
…scripted using our Python CLI…
…or built into an app with SDK & REST APIs
A whirlwind tour of Globus APIs
• Globus Auth * – authentication & identities
• Globus Groups – groups & membership
• Globus Transfer * – data transfer & guest collections
• Globus Search – metadata & indexing
• Globus Flows * – automation
* covered in previous session
Globus Groups: Use groups for authorization
• Globus Connect Server & Transfer API use groups for guest
collection permissions
– Grant membership manager role to your application
– Your web app can add/remove members to grant/remove access
• Use groups for your application’s permissions
– Instead of managing a bunch of ACLs in your application, use group membership
– Lookup membership
o Check membership to determine permissions
– Add/remove members
– Configure policy settings
– Create/delete groups
– Remember: you can also use the web app for any of the above!
docs.globus.org/api/groups
Using guest collections in your data portal
• Create a guest collection; requires authentication
– Cannot be completely automated – must ”log in”
– Create once and automate rest of the steps
• Grant the application Access Manager role
– Allows the application to manage permissions on the collection
– Set for application identity: appclientid@clients.auth.globus.org
• Grant roles for management of endpoint and tasks
Globus Search - Data description and discovery
• Metadata store with fine-
grained visibility controls
• Schema agnostic
à dynamic schemas
• Simple search using URL
query parameters
• Complex search using
search request document
14
docs.globus.org/api/search
Search
Index
Distinct access policies
may be applied to
Data and Metadata
…(ideally) using
permissions on
guest collections
…using
permissions on
metadata elements
Globus Search API overview
• Ingest a new record
– POST / index / id / ingest
– Records include visibility field (Individual & Group IDs)
• Simple query
– GET / index / id / search ? q=type%3Ahdf5
• Faceted search
– POST / index / id / search
– Posted doc includes a query string and facet specifiers
docs.globus.org/api/search
The Modern Research Data
Portal Design Pattern
docs.globus.org/mrdp
MRDP: Key elements
Science DMZ
Fast, clean data path
Data Transfer Nodes
Purpose-built data movers
Globus Platform
Secure, reliable data
orchestration
Globus Connect
Storage system enabler
18
Globus Portal
Framework
Data discovery and access
docs.globus.org/mrdp
…makes your
storage system a
Globus endpoint
Globus Connectors support diverse systems
From yesterday’s Data Mobility Panel:
Science DMZ network architecture
21
Source:
ESnet
Science
Engagement
team
An exemplar:
The ALCF Data Co-op
22
acdc.alcf.anl.gov
Creating your data portal using
the Django Globus Portal
Framework
23
Key features
• Federated login (InCommon campus IDs)
• Big data export using Globus
• Browse datasets w/Globus Search calls
• Template-driven search results & landing pages
• Django-based framework & templating
• Bootstrap your project with Cookiecutter Django
24
Source: github.com/globus/django-globus-portal-framework
Docs: django-globus-portal-framework.readthedocs.io/en/stable/
Step 0: Application registration
• Set redirect URLs
• Get client ID and secret
• Consents implement least
privileges principle
25
developers.globus.org
Redirect URLs
https://tutN.globusdemo.org:8443/
https://tutN.globusdemo.org:8443/complete/globus/
Portal deployment
• Install dependent libraries
– For production use, add robust WSGI/ASGI server
• Deploy a portal instance using cookiecutter
• Configure settings
• Run and use!
• Future: containers
Exporting data via Globus
from easy to custom
Where’s the data?
• Remember – we’re using Globus Connect, so your
datasets are in a Globus collection
• Three options for enabling transfers from your portal:
1. Link to the collection in the Globus web app (Easy! But not
customizable.)
2. Use the Globus Helper Page (Easy! A bit customizable.)
3. Use a JavaScript interface (Less easy. Very customizable.)
• Let’s see an example of each…
Easy: Link to the
Globus web app
Easy: Select destination
with Globus Helper Page
Advanced: Create a
custom UI that uses
the Globus SDK
Adding a new search
index to your portal
32
Other Customizations with
Django Globus Portal
Add image previews
to search results
Use sliders
for search facets
https://bit.ly/gw-tut
docs.globus.org
github.com/globus
outreach@globus.org
support@globus.org

Contenu connexe

Tendances

Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Gibran Badrulzaman
 

Tendances (20)

Hasura 2.0 Webinar
Hasura 2.0   WebinarHasura 2.0   Webinar
Hasura 2.0 Webinar
 
Anthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsAnthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applications
 
Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...
Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...
Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Tales of the mythical cloud-native platform - Container day 2022
Tales of the mythical cloud-native platform - Container day 2022Tales of the mythical cloud-native platform - Container day 2022
Tales of the mythical cloud-native platform - Container day 2022
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOps
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
 
[Konveyor] migrate and modernize your application portfolio to kubernetes wit...
[Konveyor] migrate and modernize your application portfolio to kubernetes wit...[Konveyor] migrate and modernize your application portfolio to kubernetes wit...
[Konveyor] migrate and modernize your application portfolio to kubernetes wit...
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
 
Cloud migration slides
Cloud migration slidesCloud migration slides
Cloud migration slides
 
The Silver Bullet for Endless Rebalancing
The Silver Bullet for Endless RebalancingThe Silver Bullet for Endless Rebalancing
The Silver Bullet for Endless Rebalancing
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)
 
Continuous Go Profiling & Observability
Continuous Go Profiling & ObservabilityContinuous Go Profiling & Observability
Continuous Go Profiling & Observability
 
Terraform GitOps on Codefresh
Terraform GitOps on CodefreshTerraform GitOps on Codefresh
Terraform GitOps on Codefresh
 
Introduction to SDN
Introduction to SDNIntroduction to SDN
Introduction to SDN
 

Similaire à Building Data Portals and Science Gateways with Globus

Advanced Computing Meets Data FAIRness
Advanced Computing Meets Data FAIRnessAdvanced Computing Meets Data FAIRness
Advanced Computing Meets Data FAIRness
Globus
 

Similaire à Building Data Portals and Science Gateways with Globus (20)

Advanced Computing Meets Data FAIRness
Advanced Computing Meets Data FAIRnessAdvanced Computing Meets Data FAIRness
Advanced Computing Meets Data FAIRness
 
Building Research Applications with Globus PaaS
Building Research Applications with Globus PaaSBuilding Research Applications with Globus PaaS
Building Research Applications with Globus PaaS
 
Enabling Secure Data Discoverability (SC21 Tutorial)
Enabling Secure Data Discoverability (SC21 Tutorial)Enabling Secure Data Discoverability (SC21 Tutorial)
Enabling Secure Data Discoverability (SC21 Tutorial)
 
Globus Portal Framework (APS Workshop)
Globus Portal Framework (APS Workshop)Globus Portal Framework (APS Workshop)
Globus Portal Framework (APS Workshop)
 
Facilitating Collaboration with Globus (GlobusWorld Tour - STFC)
Facilitating Collaboration with Globus (GlobusWorld Tour - STFC)Facilitating Collaboration with Globus (GlobusWorld Tour - STFC)
Facilitating Collaboration with Globus (GlobusWorld Tour - STFC)
 
Working with Globus Platform Services
Working with Globus Platform ServicesWorking with Globus Platform Services
Working with Globus Platform Services
 
Working with Globus Platform Services and Portals
Working with Globus Platform Services and PortalsWorking with Globus Platform Services and Portals
Working with Globus Platform Services and Portals
 
Tutorial: Leveraging Globus in your Research Applications
Tutorial: Leveraging Globus in your Research ApplicationsTutorial: Leveraging Globus in your Research Applications
Tutorial: Leveraging Globus in your Research Applications
 
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
 
Leveraging the Globus Platform (GlobusWorld Tour - Columbia University)
Leveraging the Globus Platform (GlobusWorld Tour - Columbia University)Leveraging the Globus Platform (GlobusWorld Tour - Columbia University)
Leveraging the Globus Platform (GlobusWorld Tour - Columbia University)
 
GlobusWorld 2021 Tutorial: Building with the Globus Platform
GlobusWorld 2021 Tutorial: Building with the Globus PlatformGlobusWorld 2021 Tutorial: Building with the Globus Platform
GlobusWorld 2021 Tutorial: Building with the Globus Platform
 
Data Publication and Discovery with Globus
Data Publication and Discovery with GlobusData Publication and Discovery with Globus
Data Publication and Discovery with Globus
 
Jupyter + Globus: The Foundation for Interactive Data Science
Jupyter + Globus: The Foundation for Interactive Data ScienceJupyter + Globus: The Foundation for Interactive Data Science
Jupyter + Globus: The Foundation for Interactive Data Science
 
Scalable Data Management: Automation and the Modern Research Data Portal
Scalable Data Management: Automation and the Modern Research Data PortalScalable Data Management: Automation and the Modern Research Data Portal
Scalable Data Management: Automation and the Modern Research Data Portal
 
Introduction to Globus: Research Data Management Software at the ALCF
Introduction to Globus: Research Data Management Software at the ALCFIntroduction to Globus: Research Data Management Software at the ALCF
Introduction to Globus: Research Data Management Software at the ALCF
 
Instrument Data Orchestration with Globus Search and Flows
Instrument Data Orchestration with Globus Search and FlowsInstrument Data Orchestration with Globus Search and Flows
Instrument Data Orchestration with Globus Search and Flows
 
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)
 
Introduction to the Globus Platform (APS Workshop)
Introduction to the Globus Platform (APS Workshop)Introduction to the Globus Platform (APS Workshop)
Introduction to the Globus Platform (APS Workshop)
 
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
 
Leveraging the Globus Platform (GlobusWorld Tour - UCSD)
Leveraging the Globus Platform (GlobusWorld Tour - UCSD)Leveraging the Globus Platform (GlobusWorld Tour - UCSD)
Leveraging the Globus Platform (GlobusWorld Tour - UCSD)
 

Plus de Globus

Plus de Globus (20)

Advanced Globus System Administration Topics
Advanced Globus System Administration TopicsAdvanced Globus System Administration Topics
Advanced Globus System Administration Topics
 
Instrument Data Automation: The Life of a Flow
Instrument Data Automation: The Life of a FlowInstrument Data Automation: The Life of a Flow
Instrument Data Automation: The Life of a Flow
 
Reliable, Remote Computation at All Scales
Reliable, Remote Computation at All ScalesReliable, Remote Computation at All Scales
Reliable, Remote Computation at All Scales
 
Best Practices for Data Sharing Using Globus
Best Practices for Data Sharing Using GlobusBest Practices for Data Sharing Using Globus
Best Practices for Data Sharing Using Globus
 
An Introduction to Globus for Researchers
An Introduction to Globus for ResearchersAn Introduction to Globus for Researchers
An Introduction to Globus for Researchers
 
Introduction to Research Automation with Globus
Introduction to Research Automation with GlobusIntroduction to Research Automation with Globus
Introduction to Research Automation with Globus
 
Globus for System Administrators
Globus for System AdministratorsGlobus for System Administrators
Globus for System Administrators
 
Introduction to Globus for System Administrators
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System Administrators
 
Introduction to Data Transfer and Sharing for Researchers
Introduction to Data Transfer and Sharing for ResearchersIntroduction to Data Transfer and Sharing for Researchers
Introduction to Data Transfer and Sharing for Researchers
 
Introduction to the Globus Platform for Developers
Introduction to the Globus Platform for DevelopersIntroduction to the Globus Platform for Developers
Introduction to the Globus Platform for Developers
 
Introduction to the Command Line Interface (CLI)
Introduction to the Command Line Interface (CLI)Introduction to the Command Line Interface (CLI)
Introduction to the Command Line Interface (CLI)
 
Automating Research Data with Globus Flows and Compute
Automating Research Data with Globus Flows and ComputeAutomating Research Data with Globus Flows and Compute
Automating Research Data with Globus Flows and Compute
 
Automating Research Data Flows and Introduction to the Globus Platform
Automating Research Data Flows and Introduction to the Globus PlatformAutomating Research Data Flows and Introduction to the Globus Platform
Automating Research Data Flows and Introduction to the Globus Platform
 
Advanced Globus System Administration
Advanced Globus System AdministrationAdvanced Globus System Administration
Advanced Globus System Administration
 
Introduction to Globus for System Administrators
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System Administrators
 
Introduction to Globus for New Users
Introduction to Globus for New UsersIntroduction to Globus for New Users
Introduction to Globus for New Users
 
Globus Automation
Globus AutomationGlobus Automation
Globus Automation
 
Advanced Globus System Administration
Advanced Globus System AdministrationAdvanced Globus System Administration
Advanced Globus System Administration
 
Introduction to Globus
Introduction to GlobusIntroduction to Globus
Introduction to Globus
 
Introduction to Globus for System Administrators
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System Administrators
 

Dernier

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Dernier (20)

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 

Building Data Portals and Science Gateways with Globus

  • 1. Lee Liming – lliming@uchicago.edu Steve Turoscy – sturoscy@globus.org Vas Vasiliadis – vas@uchicago.edu May 11, 2022 Building Data Portals and Science Gateways with Globus
  • 2. Agenda • Introduction and motivation • The Modern Research Data Portal design pattern • Introducing the Django Globus Portal • Deploying your Django Globus Portal • Globus data transfer: a range of options • Making data findable with Globus Search • Other customization examples - Hands-on exercise - Live demonstration
  • 5. Some challenges… • Increasing data rates, heterogeneity • Continuum of computing resources • Differing workflows across instruments
  • 6. Distribution Store Data Portal Advanced Computing Facility Instrument Facility A common data flow pattern Image Analysis 3 Search/Discovery 5 Science! 6 Imaging 1 Acquisition 2 Description/Identification 4 v
  • 7. Data gathering mediated by a web application A simpler case: import “big data” into a web app • You provide a web application (data portal, library service) that allows researchers to import “big” datasets • The datasets are too big for normal file upload interfaces or storage systems (1000+ files, TB+ data) • The datasets must be curated (authorized, reviewed & catalogued, managed) • You don’t want a lot of code maintenance, and you don’t want to give a lot of technical support to researchers Your Cloud Storage Example website: NIH Common Fund Data Ecosystem (CFDE) Portal
  • 8. Why we provide portals and science gateways • Enable a broad audience of researchers to access the latest research data • Simplify access to complicated data sources (beamlines, electron microscopes, sequencers, etc) • Add curation and cataloguing so data is findable • Enable researchers to customize their experience • Enforce (sometimes complex) access policies
  • 9. What does Globus do for portals? • Federated login – Globus handles authentication & identity federation – Your portal manages profiles • Rich groups API for access management – Public/private, group-, subject-level ACLs • Data upload/download at scale – Call out to Globus Transfer API • Facilitate discovery – Free text search in Globus Search – Filtering on specific values – User Friendly GUI • Automation – Define Flows for data handling steps (copy, move, add a search record, create a DOI, change permissions, etc.) – Run each Flow w/one API call & let Globus manage everything – Simplify your curation code
  • 10. Everything can be done using our web app… Web app Python CLI Python SDK Globus Public REST APIs Transfer API Search API Auth API Groups API Flows API …scripted using our Python CLI… …or built into an app with SDK & REST APIs
  • 11. A whirlwind tour of Globus APIs • Globus Auth * – authentication & identities • Globus Groups – groups & membership • Globus Transfer * – data transfer & guest collections • Globus Search – metadata & indexing • Globus Flows * – automation * covered in previous session
  • 12. Globus Groups: Use groups for authorization • Globus Connect Server & Transfer API use groups for guest collection permissions – Grant membership manager role to your application – Your web app can add/remove members to grant/remove access • Use groups for your application’s permissions – Instead of managing a bunch of ACLs in your application, use group membership – Lookup membership o Check membership to determine permissions – Add/remove members – Configure policy settings – Create/delete groups – Remember: you can also use the web app for any of the above! docs.globus.org/api/groups
  • 13. Using guest collections in your data portal • Create a guest collection; requires authentication – Cannot be completely automated – must ”log in” – Create once and automate rest of the steps • Grant the application Access Manager role – Allows the application to manage permissions on the collection – Set for application identity: appclientid@clients.auth.globus.org • Grant roles for management of endpoint and tasks
  • 14. Globus Search - Data description and discovery • Metadata store with fine- grained visibility controls • Schema agnostic à dynamic schemas • Simple search using URL query parameters • Complex search using search request document 14 docs.globus.org/api/search Search Index
  • 15. Distinct access policies may be applied to Data and Metadata …(ideally) using permissions on guest collections …using permissions on metadata elements
  • 16. Globus Search API overview • Ingest a new record – POST / index / id / ingest – Records include visibility field (Individual & Group IDs) • Simple query – GET / index / id / search ? q=type%3Ahdf5 • Faceted search – POST / index / id / search – Posted doc includes a query string and facet specifiers docs.globus.org/api/search
  • 17. The Modern Research Data Portal Design Pattern docs.globus.org/mrdp
  • 18. MRDP: Key elements Science DMZ Fast, clean data path Data Transfer Nodes Purpose-built data movers Globus Platform Secure, reliable data orchestration Globus Connect Storage system enabler 18 Globus Portal Framework Data discovery and access docs.globus.org/mrdp
  • 19. …makes your storage system a Globus endpoint
  • 20. Globus Connectors support diverse systems
  • 21. From yesterday’s Data Mobility Panel: Science DMZ network architecture 21 Source: ESnet Science Engagement team
  • 22. An exemplar: The ALCF Data Co-op 22 acdc.alcf.anl.gov
  • 23. Creating your data portal using the Django Globus Portal Framework 23
  • 24. Key features • Federated login (InCommon campus IDs) • Big data export using Globus • Browse datasets w/Globus Search calls • Template-driven search results & landing pages • Django-based framework & templating • Bootstrap your project with Cookiecutter Django 24 Source: github.com/globus/django-globus-portal-framework Docs: django-globus-portal-framework.readthedocs.io/en/stable/
  • 25. Step 0: Application registration • Set redirect URLs • Get client ID and secret • Consents implement least privileges principle 25 developers.globus.org Redirect URLs https://tutN.globusdemo.org:8443/ https://tutN.globusdemo.org:8443/complete/globus/
  • 26. Portal deployment • Install dependent libraries – For production use, add robust WSGI/ASGI server • Deploy a portal instance using cookiecutter • Configure settings • Run and use! • Future: containers
  • 27. Exporting data via Globus from easy to custom
  • 28. Where’s the data? • Remember – we’re using Globus Connect, so your datasets are in a Globus collection • Three options for enabling transfers from your portal: 1. Link to the collection in the Globus web app (Easy! But not customizable.) 2. Use the Globus Helper Page (Easy! A bit customizable.) 3. Use a JavaScript interface (Less easy. Very customizable.) • Let’s see an example of each…
  • 29. Easy: Link to the Globus web app
  • 30. Easy: Select destination with Globus Helper Page
  • 31. Advanced: Create a custom UI that uses the Globus SDK
  • 32. Adding a new search index to your portal 32
  • 34. Add image previews to search results