Globus Automation

Globus
Globus Automation
Rachana Ananthakrishnan
ranantha@uchicago.edu
September 8, 2022
Sponsored by
Globus Automation Capabilities
Timer Service
Scheduled and recurring transfers
(a.k.a. Globus cron)
Command Line Interface
Ad hoc scripting and integration
Globus Flows service
Comprehensive task (data and
compute) orchestration with human in
the loop interactions
“Simple” Automation Use Cases
• Data backup – as user, as system
• Stage data in or out as part of a compute
job
• Portal/science gateway submits a
transfer of compute results as the user
• Portal/science gateway monitors users
transfer, and initiates processing or
backup of data.
4
Recurring transfers
with sync option
Copy /ingest
Daily @ 3:30am
Globus Timer Service
Scripting with the Globus Timer service
6
$ globus–timer session {login, logout, whoami}
$ globus–timer job transfer 
--name example–job 
--label "Timer Transfer Job" 
--interval 28800 
--start '2020–01–01T12:34:56' 
--source–endpoint ddb59aef–6d04–11e5–ba46–22000b92c6ec 
--dest–endpoint ddb59af0–6d04–11e5–ba46–22000b92c6ec 
--item ~/file1.txt ~/new_file1.txt false 
--item ~/file2.txt ~/new_file2.txt false
Globus Command Line
Interface (CLI)
Globus Command Line Interface
Automation of
simple data
management tasks
Integration with
existing scripts
(job submission …)
Open source, uses
the Python SDK
Commands refer to resources by UUID
• UUIDs for endpoint, task, user identity, groups…
• Use search/list options
• get-identities for identity username to UUID
$ globus endpoint search 'Tutorial Endpoint 1'
$ globus task list
$ globus get-identities vas@globusid.org
bfc122a3-af43-43e1-8a41-d36f28a2bc0a
Parsing CLI output
• Default output is text; for JSON output use --format json
$ globus endpoint search --filter-scope my-endpoints
$ globus endpoint search --filter-scope my-endpoints --
format json
• Extract specific attributes using --jmespath <expression>
$ globus endpoint search --filter-scope my-endpoints --
jmespath 'DATA[].[id, display_name]'
Using CLI
11
https://docs.globus.org/cli/examples/
A simple, yet very common use case
Transfer data
Transfer
Set access controls for
sharing data
Share
1 2
• Analyze raw data from an instrument
• Distribute results from computation
Key Globus capabilities for automation
• Applications are first class entities
– Register application at developers.globus.org
– <client_id>@clients.auth.globus.org
• Guest collections
– No human in the loop for data access
– Creation of guest collection requires user authentication
Key Globus capabilities for automation
• Permissions management can be delegated
– Applications can be access managers
• Applications can renew tokens
– Refresh tokens along with Access tokens
– Refresh tokens can be used to get Access tokens
– Refresh token good for 6 months after last use
– Consent rescindment revokes refresh token
14
Examples: automation using CLI
github.com/globus/automation-examples
• ./share_data.sh
– Transfer a folder, and set permission for a users
• ./cli-sync.sh
– Sync one folder with the other
• See README for installation
• Python scripts that use SDK
15
Globus Flows Service
CityCOVID
• Integrated COVID-19 pandemic
monitoring, modeling, and analysis
capability.
• CityCOVID is a city-scale agent-
based model
• Automate flow
– Scrape daily Chicago reports
– Perform simulations at ALCF
– Postprocess data at LCRC
Jonathan Ozik, Nick Collier, and
Charles Macal
Enabling serial crystallography at scale
• Serially image chips with
thousands of embedded crystals
• Quality control first 1,000 to report
failures
• Analyze batches of images as they
are collected
• Report statistics and images during
experiment
• Return crystal structure to scientist
Darren Sherrell, Gyorgy Babnigg, Andrzej Joachimiak
19
Automation using the Globus platform
Managed, secure, reliable task
orchestration across heterogenous
resources, using a declarative language
for composition and an event driven
execution model, extensible via
custom actions, for automation at scale
The Globus Flows service
• Flows: A platform service for defining, applying, and
sharing distributed research automation flows
• Flows comprise Actions
• Action Providers: Called by Flows to perform tasks
• Triggers*: Start flows based on events
* Coming soon
Create and deploy flows
21
• Define the flow and
deploy to Flows service
• Uses declarative
language (JSON or
YAML)
• Set policy: visibility,
runnable by
Action 1 Action 2 Action 3 Action 4
Action 1
Action 2
Choice
Action 4 Action 5
Action 3
Start and manage runs
22
• An instance of Flow
execution
– Provide input parameter
– Check status
– Cancel
• Set policy: monitor,
manager
• Triggers to start flows
Start and Manage runs from webapp
23
Create and deploy new flows
24
Flow 1: transfer and set permissions
25
• Notebook at jupyter.demo.globus.org
• Choose “Automation Using Globus
Flows”
• Define and deploy flow using notebook
(Section A and B)
• Use Globus webapp to run the flow and
manage the run
Programmatic start of flows
26
• API to start and manage runs
• Globus Automate CLI and SDK
• Event driven start of flows: Triggers
- When a file of specific type is created
- Every 12 hours
Trigger: start flow when file is created
27
• SSH to the tutorial machine
• Set up GCP (if not done)
• Edit simple_sync.py
–Set it to run flow created using notebook
• Run simple_sync.py
• Monitor runs on the webapp
bit.ly/gw-tut
End to end instrument data management
28
• Trigger:
– Watch for file of specific type
– Start a flow with folder path and metadata about folder
• Flow
– Transfer data
– Set permissions
– Ingest public metadata to index
– Ingest restricted metadata to index
Flow 2: transfer, set permissions & ingest
29
• Notebook at jupyter.demo.globus.org
• Choose “Automation Using Flows with
Search”
• Define and deploy flow using notebook
(Section A and B)
Trigger: start flow when file is created
30
• SSH to the tutorial machine
• cd globus-flows-trigger-examples/
• Set up GCP (if not done)
• Edit trigger_transfer_share_flow.py
– Set it to run flow created using notebooks
• Edit and run trigger_transfer_publish_flow.py
• Monitor runs on the webapp
bit.ly/gw-tut
Automation services ecosystem
GET /provider_url/
POST /provider_url/run
GET /provider_url/action_id/status
GET /provider_url/action_id/cancel
GET /provider_url/action_id/status
Create Action
Providers
Define and
deploy flows
{ “StartAt”: ”ToProject”,
”States” : {
”ToProject” : { … },
”SetPermission” : { …},
“ProcessData” : { … } … }}
Run flows
Build action providers
32
• Action Provider is a
service endpoint
– Run
– Status
– Cancel
– Release
– Resume
• Action Provider Toolkit
action-provider-
tools.readthedocs.io/en/latest
Search
Transfer
Notification
ACLs Identifier
Delete
Ingest
User
Form
Describe Xtract
funcX Web
Form
Custom built
Globus Provided
Automating computation with funcX*
Managed, federated
Functions-as-a-Service for
reliably, scalably and securely
executing functions on remote
endpoints from laptops to
supercomputers
* funcX is in currently under development and in limited production use
CityCOVID
funcX
Analyze
Transfer
Publish
Auth
Get
credentials
funcX
Scrape
funcX
Simulate
Transfer
Transfer
data
SSX Automation
Index funcX
Visualize
Transfer
Return
results
funcX
QA
Process
Stop?
Threshold
Transfer
Transfer
data
Publish
Publish
results
funcX
Analyze
Catalog
Generate
crystal
map
Image
processing
Data capture
High quality FAIR
data
Thank you, funders...
U . S . D E P A R T M E N T O F
ENERGY
Support resources
• Globus documentation: docs.globus.org
• YouTube channel: youtube.com/user/GlobusOnline
• Helpdesk and issue escalation: support@globus.org
• Mailing Lists
– globus.org/mailing-lists
• Customer engagement team
– Office Hours
• Professional services team
1 of 36

Recommended

Automating Research Data Flows and an Introduction to the Globus Platform by
Automating Research Data Flows and an Introduction to the Globus PlatformAutomating Research Data Flows and an Introduction to the Globus Platform
Automating Research Data Flows and an Introduction to the Globus PlatformGlobus
132 views42 slides
Automating Research Data Flows and Introduction to the Globus Platform by
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 PlatformGlobus
50 views41 slides
Using Globus to Streamline Research at Scale by
Using Globus to Streamline Research at ScaleUsing Globus to Streamline Research at Scale
Using Globus to Streamline Research at ScaleGlobus
30 views28 slides
Automating Data Flows with the Globus CLI (GlobusWorld Tour - UMich) by
Automating Data Flows with the Globus CLI (GlobusWorld Tour - UMich)Automating Data Flows with the Globus CLI (GlobusWorld Tour - UMich)
Automating Data Flows with the Globus CLI (GlobusWorld Tour - UMich)Globus
231 views23 slides
Tutorial: Automating Research Data Workflows by
Tutorial: Automating Research Data WorkflowsTutorial: Automating Research Data Workflows
Tutorial: Automating Research Data WorkflowsGlobus
135 views23 slides
Automating Research Data Flows with the Globus Command Line Interface (CLI) by
Automating Research Data Flows with the Globus Command Line Interface (CLI)Automating Research Data Flows with the Globus Command Line Interface (CLI)
Automating Research Data Flows with the Globus Command Line Interface (CLI)Globus
237 views23 slides

More Related Content

Similar to Globus Automation

GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK by
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDKGlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDKGlobus
176 views32 slides
Globus Command Line Interface (APS Workshop) by
Globus Command Line Interface (APS Workshop)Globus Command Line Interface (APS Workshop)
Globus Command Line Interface (APS Workshop)Globus
100 views25 slides
Automating Research Data Workflows (GlobusWorld Tour - UCSD) by
Automating Research Data Workflows (GlobusWorld Tour - UCSD)Automating Research Data Workflows (GlobusWorld Tour - UCSD)
Automating Research Data Workflows (GlobusWorld Tour - UCSD)Globus
29 views26 slides
Automating Research Data with Globus Flows and Compute by
Automating Research Data with Globus Flows and ComputeAutomating Research Data with Globus Flows and Compute
Automating Research Data with Globus Flows and ComputeGlobus
6 views60 slides
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa) by
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)Globus
106 views30 slides
Automating Research Data Workflows (GlobusWorld Tour - STFC) by
Automating Research Data Workflows (GlobusWorld Tour - STFC)Automating Research Data Workflows (GlobusWorld Tour - STFC)
Automating Research Data Workflows (GlobusWorld Tour - STFC)Globus
128 views23 slides

Similar to Globus Automation(20)

GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK by Globus
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDKGlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK
Globus 176 views
Globus Command Line Interface (APS Workshop) by Globus
Globus Command Line Interface (APS Workshop)Globus Command Line Interface (APS Workshop)
Globus Command Line Interface (APS Workshop)
Globus 100 views
Automating Research Data Workflows (GlobusWorld Tour - UCSD) by Globus
Automating Research Data Workflows (GlobusWorld Tour - UCSD)Automating Research Data Workflows (GlobusWorld Tour - UCSD)
Automating Research Data Workflows (GlobusWorld Tour - UCSD)
Globus 29 views
Automating Research Data with Globus Flows and Compute by Globus
Automating Research Data with Globus Flows and ComputeAutomating Research Data with Globus Flows and Compute
Automating Research Data with Globus Flows and Compute
Globus 6 views
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa) by Globus
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)
Globus 106 views
Automating Research Data Workflows (GlobusWorld Tour - STFC) by Globus
Automating Research Data Workflows (GlobusWorld Tour - STFC)Automating Research Data Workflows (GlobusWorld Tour - STFC)
Automating Research Data Workflows (GlobusWorld Tour - STFC)
Globus 128 views
Data Publication and Discovery with Globus by Globus
Data Publication and Discovery with GlobusData Publication and Discovery with Globus
Data Publication and Discovery with Globus
Globus 266 views
Leveraging the Globus Platform (GlobusWorld Tour - Columbia University) by Globus
Leveraging the Globus Platform (GlobusWorld Tour - Columbia University)Leveraging the Globus Platform (GlobusWorld Tour - Columbia University)
Leveraging the Globus Platform (GlobusWorld Tour - Columbia University)
Globus 84 views
Jupyter + Globus: The Foundation for Interactive Data Science by Globus
Jupyter + Globus: The Foundation for Interactive Data ScienceJupyter + Globus: The Foundation for Interactive Data Science
Jupyter + Globus: The Foundation for Interactive Data Science
Globus 423 views
Automating Research Data Management at Scale with Globus by Globus
Automating Research Data Management at Scale with GlobusAutomating Research Data Management at Scale with Globus
Automating Research Data Management at Scale with Globus
Globus 221 views
Drupal project-rules by STIinnsbruck
Drupal project-rulesDrupal project-rules
Drupal project-rules
STIinnsbruck407 views
Globus Platform Overview by Globus
Globus Platform OverviewGlobus Platform Overview
Globus Platform Overview
Globus 260 views
Introduction to Globus: Research Data Management Software at the ALCF by Globus
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
Globus 274 views
A Taste of Monitoring and Post Mortem Debugging with Node by ibmwebspheresoftware
A Taste of Monitoring and Post Mortem Debugging with Node A Taste of Monitoring and Post Mortem Debugging with Node
A Taste of Monitoring and Post Mortem Debugging with Node
Tutorial: Leveraging Globus in your Research Applications by Globus
Tutorial: Leveraging Globus in your Research ApplicationsTutorial: Leveraging Globus in your Research Applications
Tutorial: Leveraging Globus in your Research Applications
Globus 292 views
Introduction to the Globus Platform (GlobusWorld Tour - UMich) by Globus
Introduction to the Globus Platform (GlobusWorld Tour - UMich)Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Globus 136 views
Gateways 2020 Tutorial - Large Scale Data Transfer with Globus by Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with GlobusGateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with Globus
Globus 137 views
Introduction to Globus for New Users by Globus
Introduction to Globus for New UsersIntroduction to Globus for New Users
Introduction to Globus for New Users
Globus 58 views
Automate: The Globus Vision (GlobusWorld Tour - UMich) by Globus
Automate: The Globus Vision (GlobusWorld Tour - UMich)Automate: The Globus Vision (GlobusWorld Tour - UMich)
Automate: The Globus Vision (GlobusWorld Tour - UMich)
Globus 124 views
MuleSoft Meetup Roma - Processi di Automazione su CloudHub by Alfonso Martino
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
Alfonso Martino419 views

More from Globus

Introduction to Globus for System Administrators by
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System AdministratorsGlobus
11 views55 slides
Introduction to Data Transfer and Sharing for Researchers by
Introduction to Data Transfer and Sharing for ResearchersIntroduction to Data Transfer and Sharing for Researchers
Introduction to Data Transfer and Sharing for ResearchersGlobus
4 views33 slides
Introduction to the Globus Platform for Developers by
Introduction to the Globus Platform for DevelopersIntroduction to the Globus Platform for Developers
Introduction to the Globus Platform for DevelopersGlobus
4 views28 slides
Introduction to the Command Line Interface (CLI) by
Introduction to the Command Line Interface (CLI)Introduction to the Command Line Interface (CLI)
Introduction to the Command Line Interface (CLI)Globus
13 views12 slides
Advanced Globus System Administration by
Advanced Globus System AdministrationAdvanced Globus System Administration
Advanced Globus System AdministrationGlobus
26 views29 slides
Introduction to Globus for System Administrators by
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System AdministratorsGlobus
94 views54 slides

More from Globus (20)

Introduction to Globus for System Administrators by Globus
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System Administrators
Globus 11 views
Introduction to Data Transfer and Sharing for Researchers by Globus
Introduction to Data Transfer and Sharing for ResearchersIntroduction to Data Transfer and Sharing for Researchers
Introduction to Data Transfer and Sharing for Researchers
Globus 4 views
Introduction to the Globus Platform for Developers by Globus
Introduction to the Globus Platform for DevelopersIntroduction to the Globus Platform for Developers
Introduction to the Globus Platform for Developers
Globus 4 views
Introduction to the Command Line Interface (CLI) by Globus
Introduction to the Command Line Interface (CLI)Introduction to the Command Line Interface (CLI)
Introduction to the Command Line Interface (CLI)
Globus 13 views
Advanced Globus System Administration by Globus
Advanced Globus System AdministrationAdvanced Globus System Administration
Advanced Globus System Administration
Globus 26 views
Introduction to Globus for System Administrators by Globus
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System Administrators
Globus 94 views
Introduction to Globus for New Users by Globus
Introduction to Globus for New UsersIntroduction to Globus for New Users
Introduction to Globus for New Users
Globus 55 views
Working with Globus Platform Services and Portals by Globus
Working with Globus Platform Services and PortalsWorking with Globus Platform Services and Portals
Working with Globus Platform Services and Portals
Globus 28 views
Advanced Globus System Administration by Globus
Advanced Globus System AdministrationAdvanced Globus System Administration
Advanced Globus System Administration
Globus 21 views
Introduction to Globus by Globus
Introduction to GlobusIntroduction to Globus
Introduction to Globus
Globus 43 views
Introduction to Globus for System Administrators by Globus
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System Administrators
Globus 27 views
Working with Globus Platform Services by Globus
Working with Globus Platform ServicesWorking with Globus Platform Services
Working with Globus Platform Services
Globus 42 views
Advanced Globus System Administration by Globus
Advanced Globus System AdministrationAdvanced Globus System Administration
Advanced Globus System Administration
Globus 29 views
Introduction to Globus for System Administrators by Globus
Introduction to Globus for System AdministratorsIntroduction to Globus for System Administrators
Introduction to Globus for System Administrators
Globus 145 views
Introduction to Globus for Researchers by Globus
Introduction to Globus for ResearchersIntroduction to Globus for Researchers
Introduction to Globus for Researchers
Globus 89 views
Globus Endpoint Migration and Advanced Administration Topics by Globus
Globus Endpoint Migration and Advanced Administration TopicsGlobus Endpoint Migration and Advanced Administration Topics
Globus Endpoint Migration and Advanced Administration Topics
Globus 55 views
Globus for System Administrators by Globus
Globus for System AdministratorsGlobus for System Administrators
Globus for System Administrators
Globus 68 views
Building Data Portals and Science Gateways with Globus by Globus
Building Data Portals and Science Gateways with GlobusBuilding Data Portals and Science Gateways with Globus
Building Data Portals and Science Gateways with Globus
Globus 133 views
Automating Research Data Management with Globus by Globus
Automating Research Data Management with GlobusAutomating Research Data Management with Globus
Automating Research Data Management with Globus
Globus 250 views
Moemoea nui Aotearoa: Challenges and Strategies in Data Lifecycle Management ... by Globus
Moemoea nui Aotearoa: Challenges and Strategies in Data Lifecycle Management ...Moemoea nui Aotearoa: Challenges and Strategies in Data Lifecycle Management ...
Moemoea nui Aotearoa: Challenges and Strategies in Data Lifecycle Management ...
Globus 151 views

Recently uploaded

MariaDB stored procedures and why they should be improved by
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improvedFederico Razzoli
8 views32 slides
Headless JS UG Presentation.pptx by
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptxJack Spektor
7 views24 slides
WebAssembly by
WebAssemblyWebAssembly
WebAssemblyJens Siebert
37 views18 slides
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDeltares
8 views17 slides
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDeltares
7 views23 slides
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...Deltares
14 views23 slides

Recently uploaded(20)

MariaDB stored procedures and why they should be improved by Federico Razzoli
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improved
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares14 views
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri795 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... by Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares10 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski10 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8711 views

Globus Automation

  • 2. Globus Automation Capabilities Timer Service Scheduled and recurring transfers (a.k.a. Globus cron) Command Line Interface Ad hoc scripting and integration Globus Flows service Comprehensive task (data and compute) orchestration with human in the loop interactions
  • 3. “Simple” Automation Use Cases • Data backup – as user, as system • Stage data in or out as part of a compute job • Portal/science gateway submits a transfer of compute results as the user • Portal/science gateway monitors users transfer, and initiates processing or backup of data. 4 Recurring transfers with sync option Copy /ingest Daily @ 3:30am
  • 5. Scripting with the Globus Timer service 6 $ globus–timer session {login, logout, whoami} $ globus–timer job transfer --name example–job --label "Timer Transfer Job" --interval 28800 --start '2020–01–01T12:34:56' --source–endpoint ddb59aef–6d04–11e5–ba46–22000b92c6ec --dest–endpoint ddb59af0–6d04–11e5–ba46–22000b92c6ec --item ~/file1.txt ~/new_file1.txt false --item ~/file2.txt ~/new_file2.txt false
  • 7. Globus Command Line Interface Automation of simple data management tasks Integration with existing scripts (job submission …) Open source, uses the Python SDK
  • 8. Commands refer to resources by UUID • UUIDs for endpoint, task, user identity, groups… • Use search/list options • get-identities for identity username to UUID $ globus endpoint search 'Tutorial Endpoint 1' $ globus task list $ globus get-identities vas@globusid.org bfc122a3-af43-43e1-8a41-d36f28a2bc0a
  • 9. Parsing CLI output • Default output is text; for JSON output use --format json $ globus endpoint search --filter-scope my-endpoints $ globus endpoint search --filter-scope my-endpoints -- format json • Extract specific attributes using --jmespath <expression> $ globus endpoint search --filter-scope my-endpoints -- jmespath 'DATA[].[id, display_name]'
  • 11. A simple, yet very common use case Transfer data Transfer Set access controls for sharing data Share 1 2 • Analyze raw data from an instrument • Distribute results from computation
  • 12. Key Globus capabilities for automation • Applications are first class entities – Register application at developers.globus.org – <client_id>@clients.auth.globus.org • Guest collections – No human in the loop for data access – Creation of guest collection requires user authentication
  • 13. Key Globus capabilities for automation • Permissions management can be delegated – Applications can be access managers • Applications can renew tokens – Refresh tokens along with Access tokens – Refresh tokens can be used to get Access tokens – Refresh token good for 6 months after last use – Consent rescindment revokes refresh token 14
  • 14. Examples: automation using CLI github.com/globus/automation-examples • ./share_data.sh – Transfer a folder, and set permission for a users • ./cli-sync.sh – Sync one folder with the other • See README for installation • Python scripts that use SDK 15
  • 16. CityCOVID • Integrated COVID-19 pandemic monitoring, modeling, and analysis capability. • CityCOVID is a city-scale agent- based model • Automate flow – Scrape daily Chicago reports – Perform simulations at ALCF – Postprocess data at LCRC Jonathan Ozik, Nick Collier, and Charles Macal
  • 17. Enabling serial crystallography at scale • Serially image chips with thousands of embedded crystals • Quality control first 1,000 to report failures • Analyze batches of images as they are collected • Report statistics and images during experiment • Return crystal structure to scientist Darren Sherrell, Gyorgy Babnigg, Andrzej Joachimiak
  • 18. 19 Automation using the Globus platform Managed, secure, reliable task orchestration across heterogenous resources, using a declarative language for composition and an event driven execution model, extensible via custom actions, for automation at scale
  • 19. The Globus Flows service • Flows: A platform service for defining, applying, and sharing distributed research automation flows • Flows comprise Actions • Action Providers: Called by Flows to perform tasks • Triggers*: Start flows based on events * Coming soon
  • 20. Create and deploy flows 21 • Define the flow and deploy to Flows service • Uses declarative language (JSON or YAML) • Set policy: visibility, runnable by Action 1 Action 2 Action 3 Action 4 Action 1 Action 2 Choice Action 4 Action 5 Action 3
  • 21. Start and manage runs 22 • An instance of Flow execution – Provide input parameter – Check status – Cancel • Set policy: monitor, manager • Triggers to start flows
  • 22. Start and Manage runs from webapp 23
  • 23. Create and deploy new flows 24
  • 24. Flow 1: transfer and set permissions 25 • Notebook at jupyter.demo.globus.org • Choose “Automation Using Globus Flows” • Define and deploy flow using notebook (Section A and B) • Use Globus webapp to run the flow and manage the run
  • 25. Programmatic start of flows 26 • API to start and manage runs • Globus Automate CLI and SDK • Event driven start of flows: Triggers - When a file of specific type is created - Every 12 hours
  • 26. Trigger: start flow when file is created 27 • SSH to the tutorial machine • Set up GCP (if not done) • Edit simple_sync.py –Set it to run flow created using notebook • Run simple_sync.py • Monitor runs on the webapp bit.ly/gw-tut
  • 27. End to end instrument data management 28 • Trigger: – Watch for file of specific type – Start a flow with folder path and metadata about folder • Flow – Transfer data – Set permissions – Ingest public metadata to index – Ingest restricted metadata to index
  • 28. Flow 2: transfer, set permissions & ingest 29 • Notebook at jupyter.demo.globus.org • Choose “Automation Using Flows with Search” • Define and deploy flow using notebook (Section A and B)
  • 29. Trigger: start flow when file is created 30 • SSH to the tutorial machine • cd globus-flows-trigger-examples/ • Set up GCP (if not done) • Edit trigger_transfer_share_flow.py – Set it to run flow created using notebooks • Edit and run trigger_transfer_publish_flow.py • Monitor runs on the webapp bit.ly/gw-tut
  • 30. Automation services ecosystem GET /provider_url/ POST /provider_url/run GET /provider_url/action_id/status GET /provider_url/action_id/cancel GET /provider_url/action_id/status Create Action Providers Define and deploy flows { “StartAt”: ”ToProject”, ”States” : { ”ToProject” : { … }, ”SetPermission” : { …}, “ProcessData” : { … } … }} Run flows
  • 31. Build action providers 32 • Action Provider is a service endpoint – Run – Status – Cancel – Release – Resume • Action Provider Toolkit action-provider- tools.readthedocs.io/en/latest Search Transfer Notification ACLs Identifier Delete Ingest User Form Describe Xtract funcX Web Form Custom built Globus Provided
  • 32. Automating computation with funcX* Managed, federated Functions-as-a-Service for reliably, scalably and securely executing functions on remote endpoints from laptops to supercomputers * funcX is in currently under development and in limited production use
  • 35. Thank you, funders... U . S . D E P A R T M E N T O F ENERGY
  • 36. Support resources • Globus documentation: docs.globus.org • YouTube channel: youtube.com/user/GlobusOnline • Helpdesk and issue escalation: support@globus.org • Mailing Lists – globus.org/mailing-lists • Customer engagement team – Office Hours • Professional services team