SlideShare ist ein Scribd-Unternehmen logo
1 von 17
CLOUD-ENABLING A COLLABORATIVE
RESEARCH PLATFORM
THE GABBS STORY
Rajesh Kalyanam, Robert Campbell, Derrick Kearney, Leif Delgass, Larry
Biehl, Lan Zhao, Carolyn Ellis, Carol Song
Purdue University
I have historical
data on sub-
Saharan maize
yields
I’d love to use that
historical data in my
model predicting the
effect of climate
change on yields
I used the maize
yield data in my
thesis, how do I
cite it?
RESEARCH COLLABORATION LANDSCAPE
SCIENCE GATEWAYS
• Website for a scientific research community
• User, data, & content management
 Data sharing, access control
 Data processing, visualization, publication
 Wiki, static web pages, ticketing system
• Research tools
 Tool creation and web deployment
 Optional HPC resource availability
and more…
GEOSPATIAL DATA ANALYSIS BUILDING BLOCKS
Data Management
 Data sharing
 Geospatial
metadata
extraction
 Geospatial data
discovery (search)
 Data publication
Visualization
 Geospatial preview
 Diverse data format
overlays
 Visualization library
and control widgets
 Hardware and
software rendering
Computation
 Geospatial data
transformation
 Subset extraction
 Extended metadata
capture
 GIS-enabled
workflows
GABBs provides these domain-specific capabilities for
geospatial science gateways
GABBS SYSTEM ARCHITECTURE
• Based on HUBzero
cyberinfrastructure framework
• Containerized tools are web-
accessible via VNC
• Scalable, external
compute/render servers
 Support tool sessions
 Provide hardware and
software rendering
• represent
GABBs enhancements to
HUBzero
Blue blocks
WHY CLOUD ENABLE ?
Easily scalable
Increasingly adopted
by academia and
industry
Automatable,
repeatable solutions
even for lay-users
Offload physical
resource
maintenance,
provisioning to cloud
service provider
Software packages as
a byproduct, enabling
manual installation
MOVING GABBS TO THE CLOUD
GPU Render Server
• OSGEarth
rendering software
• Default base maps
Data Storage Server
• iRODS server software
• PostgreSQL database
• iRODS microservices
 Metadata
extraction
 Hub search
indexing
 Geospatial
preview
• GeoServer map server
HUBzero Web Host
• GABBs-HUBzero
integration software
• GABBs hub tools/libraries
and dependencies
 MultiSpec
 pyMapLib
 GeoBuilder
• iRODS FUSE mount
Hub server DNS/IP
iRODS server
DNS/IP
MOVING GABBS TO THE CLOUD
• Utilize Amazon Web Services (AWS)
 Vanilla HUBzero already available on AWS
• Provision other compute/storage servers
 iRODS + GeoServer
 Render server with appropriate hardware
• Setup installation/configuration of necessary
software and server interconnects
SOME AWS CONSIDERATIONS
• Each server (EC2 instance) requires a base machine
image (AMI)
• AMIs cannot contain hardcoded administrator
usernames, passwords
• Network security considerations
 Servers require unrestricted traffic between them
• Fully automated software installation at boot-up
rather than requiring user interaction
AWS CLOUDFORMATION
• Simplifies provisioning of AWS resources
• Automatable software installation &
configuration on boot-up
• User-specified parameters enable dynamic
configuration
• Resource reference enables DNS/IP queries
• Declarative template via JSON/YAML files
AWS CLOUDFORMATION TEMPLATE
Parameters: { gabbsUser: {
Default: gabbs,
Description: Username for iRODS connection,
Type: String,
MinLength: 1,
MaxLength: 41,
AllowedPattern : [a-zA-Z0-9]*
},
Resources: {
HUBZERO: {
Type: AWS::EC2::Instance,
Properties: {
ImageId: <ami-hubzero>,
InstanceType: <instance-type>,
SecurityGroups: [gabbsSG]}
},
UserData: {
#!/bin/bash
yum –y install irods-client
/tmp/update-irods-connection.sh
{Fn::GetAtt:[IRODS,PublicDnsName
]}
{Ref: gabbsUser}
…
}
Metadata: {
AWS::CloudFormation::Init: {
config: {
packages: {
rpm: {
repo: <gabbs-repo-url>}}}}
IRODS: {
Type: AWS::EC2::Instance,
Properties: {
ImageId: <ami-centos>
…
Reference user
parameter
Required
properties
Software
installation/configuration
shell script run on
boot-up
Automatic package
installation
via cloud-init
Reference
resource
property
CLOUDFORMATION ISSUES
INTERLEAVED DEPLOYMENT AND CONFIGURATION
HUBZERO: {
UserData: {
#!/bin/bash
/tmp/update-irods-connection.sh
{Fn::GetAtt:[IRODS,PublicDnsName]}
IRODS: {
UserData: {
#!/bin/bash
/tmp/update-hub-solr-connection.sh
{Fn::GetAtt:[HUBZERO,PublicDnsName]
}
• Resource reference forces deployment ordering
• UserData, cloud-init not separable from actual resource
provisioning
• Gives rise to cyclic dependency above
• Resource considered “created” before UserData is done
 HUBzero UserData may begin execution before iRODS server user setup is
done
CLOUDFORMATION ISSUES
INTERLEAVED DEPLOYMENT AND CONFIGURATION
• Solving cyclic dependency
 Decide on an ordering (iRODS before HUBzero)
 Configure HUBzero DNS in iRODS later via HUBzero
UserData
• Ensuring UserData completion before next resource
deployment
 Utilize AWS WaitCondition to force resource dependencies
 WaitCondition considered “created” only when signalled
 Signal WaitCondition at end of UserData script
CLOUDFORMATION ISSUES
SHARED PARAMETERS
HUBZERO: {
UserData: {
#!/bin/bash
/tmp/update-irods-connection.sh
{Fn::GetAtt:[IRODS,PublicDnsName]}
{"Ref": "gabbsUser"}
IRODS: {
UserData: {
#!/bin/bash
/tmp/add-irods-user.sh
{"Ref": "gabbsUser"}
• HUBzero needs to setup connection to iRODS server, after
iRODS has created a new service user
 Username required during deployment of both servers
• Cannot be hardcoded into AMIs
CLOUDFORMATION ISSUES
SHARED PARAMETERS
• Solving shared (dynamic) parameter requirement
 Use CloudFormation parameters
 User prompted to fill in value
 Cannot default to random value (only hardcoded defaults
supported)
 Necessitates explaining (ideally behind-the-scenes)
parameters
CONCLUSION & FUTURE WORK
• Current CloudFormation Template:
https://mygeohub.org/groups/gabbs/release
• Employ AutoScaling to scale up render servers and
tool execution servers on demand
• Provide configuration flexibility in CloudFormation
template
• Utilize configuration management tools like Chef,
Puppet to streamline server types and software
installation
ACKNOWLEDGEMENTS
This work was supported by the NSF Award ACI - 1261727
CIF21 DIBBs : Integrating Geospatial Capabilities into
HUBzero

Weitere ähnliche Inhalte

Was ist angesagt?

Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Michael Collier
 
Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Michael Collier
 
Azure Hd insigth news
Azure Hd insigth newsAzure Hd insigth news
Azure Hd insigth newsnnakasone
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureIdo Flatow
 
Puppetpreso
PuppetpresoPuppetpreso
Puppetpresoke4qqq
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)Michael Collier
 
From SQL to MongoDB
From SQL to MongoDBFrom SQL to MongoDB
From SQL to MongoDBNuxeo
 
Cloud Storage in Azure, AWS and Google Cloud
Cloud  Storage in Azure, AWS and Google CloudCloud  Storage in Azure, AWS and Google Cloud
Cloud Storage in Azure, AWS and Google CloudThurupathan Vijayakumar
 
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence ArchitectureMongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence ArchitectureMongoDB
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual MachinesClint Edmonson
 
Microsoft Azure Veri Servisleri
Microsoft Azure Veri ServisleriMicrosoft Azure Veri Servisleri
Microsoft Azure Veri ServisleriÖnder Değer
 
Node.js on Windows Azure
Node.js on Windows AzureNode.js on Windows Azure
Node.js on Windows AzureNeil Mackenzie
 
Jax Cloud 2016 Microsoft Ignite Recap
Jax Cloud 2016 Microsoft Ignite RecapJax Cloud 2016 Microsoft Ignite Recap
Jax Cloud 2016 Microsoft Ignite RecapBen Stegink
 
Deep dive into azure virtual machines
Deep dive into azure virtual machinesDeep dive into azure virtual machines
Deep dive into azure virtual machinesJasjit Chopra
 
Living on the edge at Netflix - Adrian Cole
Living on the edge at Netflix - Adrian ColeLiving on the edge at Netflix - Adrian Cole
Living on the edge at Netflix - Adrian Colejaxconf
 
Azure Storage
Azure StorageAzure Storage
Azure StorageMustafa
 

Was ist angesagt? (20)

Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)
 
Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)
 
Azure Hd insigth news
Azure Hd insigth newsAzure Hd insigth news
Azure Hd insigth news
 
Azure Data Storage
Azure Data StorageAzure Data Storage
Azure Data Storage
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with Azure
 
Puppetpreso
PuppetpresoPuppetpreso
Puppetpreso
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
 
From SQL to MongoDB
From SQL to MongoDBFrom SQL to MongoDB
From SQL to MongoDB
 
Windows Azure Storage – Architecture View
Windows Azure Storage – Architecture ViewWindows Azure Storage – Architecture View
Windows Azure Storage – Architecture View
 
Cloud Storage in Azure, AWS and Google Cloud
Cloud  Storage in Azure, AWS and Google CloudCloud  Storage in Azure, AWS and Google Cloud
Cloud Storage in Azure, AWS and Google Cloud
 
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence ArchitectureMongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
 
Azure CosmosDB
Azure CosmosDBAzure CosmosDB
Azure CosmosDB
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 
Microsoft Azure Veri Servisleri
Microsoft Azure Veri ServisleriMicrosoft Azure Veri Servisleri
Microsoft Azure Veri Servisleri
 
Clocker and OpenStack
Clocker and OpenStackClocker and OpenStack
Clocker and OpenStack
 
Node.js on Windows Azure
Node.js on Windows AzureNode.js on Windows Azure
Node.js on Windows Azure
 
Jax Cloud 2016 Microsoft Ignite Recap
Jax Cloud 2016 Microsoft Ignite RecapJax Cloud 2016 Microsoft Ignite Recap
Jax Cloud 2016 Microsoft Ignite Recap
 
Deep dive into azure virtual machines
Deep dive into azure virtual machinesDeep dive into azure virtual machines
Deep dive into azure virtual machines
 
Living on the edge at Netflix - Adrian Cole
Living on the edge at Netflix - Adrian ColeLiving on the edge at Netflix - Adrian Cole
Living on the edge at Netflix - Adrian Cole
 
Azure Storage
Azure StorageAzure Storage
Azure Storage
 

Ähnlich wie PEARC17: Cloud-enabling a Collaborative Research Platform: The GABBs Story

Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DBChristopher Foot
 
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBest Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBrian Benz
 
Securing the Hadoop Ecosystem
Securing the Hadoop EcosystemSecuring the Hadoop Ecosystem
Securing the Hadoop EcosystemDataWorks Summit
 
Secure Hadoop clusters on Windows platform
Secure Hadoop clusters on Windows platformSecure Hadoop clusters on Windows platform
Secure Hadoop clusters on Windows platformRemus Rusanu
 
What are clouds made from
What are clouds made fromWhat are clouds made from
What are clouds made fromJohn Garbutt
 
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...AFAS Software
 
Achieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefAchieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefMatt Ray
 
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersKoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersTobias Koprowski
 
Kudu voodoo slideshare
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshareAidan Casey
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesNirmal Thewarathanthri
 
The world with Cloud, Big Data, ML, IoT and AI
The world with Cloud, Big Data, ML, IoT and AIThe world with Cloud, Big Data, ML, IoT and AI
The world with Cloud, Big Data, ML, IoT and AIMeenakshiGupta127
 
Hadoop in the Cloud – The What, Why and How from the Experts
Hadoop in the Cloud – The What, Why and How from the ExpertsHadoop in the Cloud – The What, Why and How from the Experts
Hadoop in the Cloud – The What, Why and How from the ExpertsDataWorks Summit/Hadoop Summit
 
Migrating On-Premises DBs to Cloud Systems
Migrating On-Premises DBs to Cloud SystemsMigrating On-Premises DBs to Cloud Systems
Migrating On-Premises DBs to Cloud SystemsChristopher Foot
 
Hadoop Security Architecture
Hadoop Security ArchitectureHadoop Security Architecture
Hadoop Security ArchitectureOwen O'Malley
 
Amazon AWS vs Azure Cloud vs Kubernetes
Amazon AWS vs Azure Cloud vs KubernetesAmazon AWS vs Azure Cloud vs Kubernetes
Amazon AWS vs Azure Cloud vs KubernetesStridely Solutions
 

Ähnlich wie PEARC17: Cloud-enabling a Collaborative Research Platform: The GABBs Story (20)

Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DB
 
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBest Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
 
Securing the Hadoop Ecosystem
Securing the Hadoop EcosystemSecuring the Hadoop Ecosystem
Securing the Hadoop Ecosystem
 
Head in the clouds
Head in the cloudsHead in the clouds
Head in the clouds
 
Secure Hadoop clusters on Windows platform
Secure Hadoop clusters on Windows platformSecure Hadoop clusters on Windows platform
Secure Hadoop clusters on Windows platform
 
What are clouds made from
What are clouds made fromWhat are clouds made from
What are clouds made from
 
Azure full
Azure fullAzure full
Azure full
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Deploying Big-Data-as-a-Service (BDaaS) in the Enterprise
Deploying Big-Data-as-a-Service (BDaaS) in the EnterpriseDeploying Big-Data-as-a-Service (BDaaS) in the Enterprise
Deploying Big-Data-as-a-Service (BDaaS) in the Enterprise
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
 
Achieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefAchieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with Chef
 
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersKoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginners
 
Kudu voodoo slideshare
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshare
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
 
The world with Cloud, Big Data, ML, IoT and AI
The world with Cloud, Big Data, ML, IoT and AIThe world with Cloud, Big Data, ML, IoT and AI
The world with Cloud, Big Data, ML, IoT and AI
 
Hadoop in the Cloud – The What, Why and How from the Experts
Hadoop in the Cloud – The What, Why and How from the ExpertsHadoop in the Cloud – The What, Why and How from the Experts
Hadoop in the Cloud – The What, Why and How from the Experts
 
Migrating On-Premises DBs to Cloud Systems
Migrating On-Premises DBs to Cloud SystemsMigrating On-Premises DBs to Cloud Systems
Migrating On-Premises DBs to Cloud Systems
 
Hadoop Security Architecture
Hadoop Security ArchitectureHadoop Security Architecture
Hadoop Security Architecture
 
Amazon AWS vs Azure Cloud vs Kubernetes
Amazon AWS vs Azure Cloud vs KubernetesAmazon AWS vs Azure Cloud vs Kubernetes
Amazon AWS vs Azure Cloud vs Kubernetes
 

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Kürzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

PEARC17: Cloud-enabling a Collaborative Research Platform: The GABBs Story

  • 1. CLOUD-ENABLING A COLLABORATIVE RESEARCH PLATFORM THE GABBS STORY Rajesh Kalyanam, Robert Campbell, Derrick Kearney, Leif Delgass, Larry Biehl, Lan Zhao, Carolyn Ellis, Carol Song Purdue University
  • 2. I have historical data on sub- Saharan maize yields I’d love to use that historical data in my model predicting the effect of climate change on yields I used the maize yield data in my thesis, how do I cite it? RESEARCH COLLABORATION LANDSCAPE
  • 3. SCIENCE GATEWAYS • Website for a scientific research community • User, data, & content management  Data sharing, access control  Data processing, visualization, publication  Wiki, static web pages, ticketing system • Research tools  Tool creation and web deployment  Optional HPC resource availability and more…
  • 4. GEOSPATIAL DATA ANALYSIS BUILDING BLOCKS Data Management  Data sharing  Geospatial metadata extraction  Geospatial data discovery (search)  Data publication Visualization  Geospatial preview  Diverse data format overlays  Visualization library and control widgets  Hardware and software rendering Computation  Geospatial data transformation  Subset extraction  Extended metadata capture  GIS-enabled workflows GABBs provides these domain-specific capabilities for geospatial science gateways
  • 5. GABBS SYSTEM ARCHITECTURE • Based on HUBzero cyberinfrastructure framework • Containerized tools are web- accessible via VNC • Scalable, external compute/render servers  Support tool sessions  Provide hardware and software rendering • represent GABBs enhancements to HUBzero Blue blocks
  • 6. WHY CLOUD ENABLE ? Easily scalable Increasingly adopted by academia and industry Automatable, repeatable solutions even for lay-users Offload physical resource maintenance, provisioning to cloud service provider Software packages as a byproduct, enabling manual installation
  • 7. MOVING GABBS TO THE CLOUD GPU Render Server • OSGEarth rendering software • Default base maps Data Storage Server • iRODS server software • PostgreSQL database • iRODS microservices  Metadata extraction  Hub search indexing  Geospatial preview • GeoServer map server HUBzero Web Host • GABBs-HUBzero integration software • GABBs hub tools/libraries and dependencies  MultiSpec  pyMapLib  GeoBuilder • iRODS FUSE mount Hub server DNS/IP iRODS server DNS/IP
  • 8. MOVING GABBS TO THE CLOUD • Utilize Amazon Web Services (AWS)  Vanilla HUBzero already available on AWS • Provision other compute/storage servers  iRODS + GeoServer  Render server with appropriate hardware • Setup installation/configuration of necessary software and server interconnects
  • 9. SOME AWS CONSIDERATIONS • Each server (EC2 instance) requires a base machine image (AMI) • AMIs cannot contain hardcoded administrator usernames, passwords • Network security considerations  Servers require unrestricted traffic between them • Fully automated software installation at boot-up rather than requiring user interaction
  • 10. AWS CLOUDFORMATION • Simplifies provisioning of AWS resources • Automatable software installation & configuration on boot-up • User-specified parameters enable dynamic configuration • Resource reference enables DNS/IP queries • Declarative template via JSON/YAML files
  • 11. AWS CLOUDFORMATION TEMPLATE Parameters: { gabbsUser: { Default: gabbs, Description: Username for iRODS connection, Type: String, MinLength: 1, MaxLength: 41, AllowedPattern : [a-zA-Z0-9]* }, Resources: { HUBZERO: { Type: AWS::EC2::Instance, Properties: { ImageId: <ami-hubzero>, InstanceType: <instance-type>, SecurityGroups: [gabbsSG]} }, UserData: { #!/bin/bash yum –y install irods-client /tmp/update-irods-connection.sh {Fn::GetAtt:[IRODS,PublicDnsName ]} {Ref: gabbsUser} … } Metadata: { AWS::CloudFormation::Init: { config: { packages: { rpm: { repo: <gabbs-repo-url>}}}} IRODS: { Type: AWS::EC2::Instance, Properties: { ImageId: <ami-centos> … Reference user parameter Required properties Software installation/configuration shell script run on boot-up Automatic package installation via cloud-init Reference resource property
  • 12. CLOUDFORMATION ISSUES INTERLEAVED DEPLOYMENT AND CONFIGURATION HUBZERO: { UserData: { #!/bin/bash /tmp/update-irods-connection.sh {Fn::GetAtt:[IRODS,PublicDnsName]} IRODS: { UserData: { #!/bin/bash /tmp/update-hub-solr-connection.sh {Fn::GetAtt:[HUBZERO,PublicDnsName] } • Resource reference forces deployment ordering • UserData, cloud-init not separable from actual resource provisioning • Gives rise to cyclic dependency above • Resource considered “created” before UserData is done  HUBzero UserData may begin execution before iRODS server user setup is done
  • 13. CLOUDFORMATION ISSUES INTERLEAVED DEPLOYMENT AND CONFIGURATION • Solving cyclic dependency  Decide on an ordering (iRODS before HUBzero)  Configure HUBzero DNS in iRODS later via HUBzero UserData • Ensuring UserData completion before next resource deployment  Utilize AWS WaitCondition to force resource dependencies  WaitCondition considered “created” only when signalled  Signal WaitCondition at end of UserData script
  • 14. CLOUDFORMATION ISSUES SHARED PARAMETERS HUBZERO: { UserData: { #!/bin/bash /tmp/update-irods-connection.sh {Fn::GetAtt:[IRODS,PublicDnsName]} {"Ref": "gabbsUser"} IRODS: { UserData: { #!/bin/bash /tmp/add-irods-user.sh {"Ref": "gabbsUser"} • HUBzero needs to setup connection to iRODS server, after iRODS has created a new service user  Username required during deployment of both servers • Cannot be hardcoded into AMIs
  • 15. CLOUDFORMATION ISSUES SHARED PARAMETERS • Solving shared (dynamic) parameter requirement  Use CloudFormation parameters  User prompted to fill in value  Cannot default to random value (only hardcoded defaults supported)  Necessitates explaining (ideally behind-the-scenes) parameters
  • 16. CONCLUSION & FUTURE WORK • Current CloudFormation Template: https://mygeohub.org/groups/gabbs/release • Employ AutoScaling to scale up render servers and tool execution servers on demand • Provide configuration flexibility in CloudFormation template • Utilize configuration management tools like Chef, Puppet to streamline server types and software installation
  • 17. ACKNOWLEDGEMENTS This work was supported by the NSF Award ACI - 1261727 CIF21 DIBBs : Integrating Geospatial Capabilities into HUBzero