SlideShare a Scribd company logo
1 of 27
JUPYTER ASCENDING:
A PRACTICAL HAND GUIDE TO GALACTIC SCALE,
REPRODUCIBLE DATA SCIENCE
John Fonner, PhD
University of Texas at Austin
April 5th, 2016
4/5/2016 1
 Photos, Tweets, and hate mail all welcome!
 Email: jfonner@tacc.utexas.edu
 Twitter: @johnfonner
4/5/2016 2
SCIENCE AS A SECOND THOUGHT
1. Formulate a theory
2. Gather data
3. Learn about data storage
4. Learn about data movement
protocols
5. Lose data
6. Check out of rehab
7. Learn about backup and
replication
8. Gather data
9. Learn about versioning
10. Start preliminary analysis
11. Buy a newer laptop
12. Buy more memory
13. Buy a desktop with more
memory
14. Buy a bigger monitor & GPUs
“for work”
15. Google “250GB Excel
Spreadsheet”
16. Learn about batch processing
17. Learn about batch schedulers
18. Learn about patience.
19. Learn more about data storage
20. Learn about distributed
systems.
21. Go back through notes to
remember the science question.
22. Learn R & Python
23. Learn linux admin
24. Finish preliminary analysis.
25. Grow a ponytail
26. Write a paper.
27. Learn about data publishing
28. Learn about reproducibility
29. Plot the death of your
advisor/dept. head
30. Apply for grants & research
allocations on public systems
31. Wait to apply next time
32. Finish analyzing data
33. Reformulate your theory
34. Goto 1
4/5/2016 3
SCIENTIFIC REPRODUCIBILITY
4/5/2016 4
+ +
SOME ASSEMBLY REQUIRED…
4/5/2016 5
?
? ?
?
4/5/2016 6
SCIENTISTS, WITH FEW EXCEPTIONS,
ARE NOT TRAINED PROGRAMMERS
 Research is hard
 Coding is hard
 Research code is
 well designed,
 documented,
 leverages design patterns,
 highly reusable,
 portable,
 and usually open source.
4/5/2016 7
ACCESSIBILITY >= CAPABILITY
 For scientific reproducibility, the impact of your work
will be more about accessibility than capability
 Domain grad students, not sys admins, are the early
adopters
 Where can we focus effort to create community around
capability?
4/5/2016 8
 What has changed the least about the computation
you do over the last 10 years?
 What do we ask domain researchers to learn to use
our tools and data?
4/5/2016 9
Memory/CPU/Disk
Operating System
Applications
Interface
4/5/2016 10
4/5/2016 11
4/5/2016 12
 Decoupling the technology “stack”
4/5/2016 13
“Reproducers”
• Web Browser
• GUIs
• Windows / Mac OS
Support
• Sample Data and Sample
Workflows
“Producers”
• Linux CLI
• Hadoop / GPFS / Lustre
• Clusters / Clouds /
Containers
• Dockerfile / Makefile /
Ansible
BACKEND INFRASTRUCTURE: SYSTEMS
 Categorize systems as either Storage or Execution
 Describe and support relevant protocols, directories,
schedulers, and quotas
 Each system includes the credentials to log into the
system (SSH Keys, X509, username/password)
 Register everything with a JSON document
http://agaveapi.co/documentation/tutorials/system-
management-tutorial/
4/5/2016 14
BACKEND INFRASTRUCTURE: APPS
 An “App” is a versioned instance of a software package
on a specific Execution System
 App assets are bundled into a directory and stored on a
Storage System
 Apps can be private, shared with individual users, or
made public
 Public apps are compressed, assigned a checksum, and
stored in a protected space
http://agaveapi.co/documentation/tutorials/app-
management-tutorial/
4/5/2016 15
BACKEND INFRASTRUCTURE: JOBS
 A “Job” is an execution of an App with a specific set
of input files and parameters
 All jobs are given an ID, all inputs and parameters are
preserved, output is also tracked
 Jobs can be shared with others
http://agaveapi.co/documentation/tutorials/job-
management-tutorial/
4/5/2016 16
4/5/2016 17
4/5/2016 18
4/5/2016 19
4/5/2016 20
4/5/2016 21
DEVELOPER COMMAND-LINE TOOLS
 https://bitbucket.org/agaveapi/cli
 Requires bash and python’s json.tool
 Uses caching for authentication
 Parses JSON responses to condense output
 As a Linux user, this is home-sweet-home
4/5/2016 22
WHAT ABOUT JUPYTER?
 Bleeding edge research will never be on a webpage
 Data exploration “outside the app” also needs to be
captured
 An infrastructure for responsible computing at scale
inevitably must support responsible data exploration
 Jupyter has broad OS support, domain adoption,
domain libraries, and a more interactive UI
4/5/2016 23
AGAVEPY
 github.com/TACC/agavepy
 Pythonic wrapper for all Agave endpoints
 pip install agavepy
 Developers actively “dogfooding” the module
 (Obviously) usable within Jupyter
 Has had greater uptake by users (not just developers)
4/5/2016 24
AGAVE-AWARE JUPYTERHUB
 Going one step further – give users a notebook
 jupyter.public.tenants.prod.agaveapi.co/
 (Free) account creation here:
public.tenants.prod.agaveapi.co/create_account
 Beta implementation at the moment
 data purges during updates
 Limited capacity on the current VM
 All notebooks run inside Docker containers
4/5/2016 25
WHAT’S NEXT?
 Full-featured developer portal
 Open-source reference implementation of an
Angular Javascript portal built on Agave
 Additional Jupyter notebook examples
 Production-grade support for a hosted JupyterHub
4/5/2016 26
THANKS!
QUESTIONS?
Email: jfonner@tacc.utexas.edu
Twitter: @johnfonner
TACC: www.tacc.utexas.edu
Agave: www.agaveapi.co
AgavePy: github.com/TACC/agavepy
4/5/2016 27

More Related Content

Similar to Jupyter Ascending: a practical hand guide to galactic scale, reproducible data science

Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...
oiisdp
 
Apache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesdayApache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesday
Andrei Savu
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysis
xulioc
 
Being FAIR: FAIR data and model management SSBSS 2017 Summer School
Being FAIR:  FAIR data and model management SSBSS 2017 Summer SchoolBeing FAIR:  FAIR data and model management SSBSS 2017 Summer School
Being FAIR: FAIR data and model management SSBSS 2017 Summer School
Carole Goble
 
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
inside-BigData.com
 

Similar to Jupyter Ascending: a practical hand guide to galactic scale, reproducible data science (20)

Scaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data ChallengesScaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data Challenges
 
Packaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reusePackaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reuse
 
Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...
 
Apache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesdayApache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesday
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysis
 
Being FAIR: FAIR data and model management SSBSS 2017 Summer School
Being FAIR:  FAIR data and model management SSBSS 2017 Summer SchoolBeing FAIR:  FAIR data and model management SSBSS 2017 Summer School
Being FAIR: FAIR data and model management SSBSS 2017 Summer School
 
Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014
 
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
 
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
 
Analysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data AnalyticsAnalysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data Analytics
 
Analysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data AnalyticsAnalysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data Analytics
 
Keep Calm and Curate
Keep Calm and CurateKeep Calm and Curate
Keep Calm and Curate
 
Sharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reportsSharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reports
 
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summit
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summitAnalysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summit
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summit
 
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
 
'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa
 
Collaborations in the Extreme: 
The rise of open code development in the scie...
Collaborations in the Extreme: 
The rise of open code development in the scie...Collaborations in the Extreme: 
The rise of open code development in the scie...
Collaborations in the Extreme: 
The rise of open code development in the scie...
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better Science
 
Globus Integrations (GlobusWorld Tour - UCSD)
Globus Integrations (GlobusWorld Tour - UCSD)Globus Integrations (GlobusWorld Tour - UCSD)
Globus Integrations (GlobusWorld Tour - UCSD)
 
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
 

Recently uploaded

Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
Areesha Ahmad
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
Areesha Ahmad
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
AlMamun560346
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
PirithiRaju
 
Introduction,importance and scope of horticulture.pptx
Introduction,importance and scope of horticulture.pptxIntroduction,importance and scope of horticulture.pptx
Introduction,importance and scope of horticulture.pptx
Bhagirath Gogikar
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
1301aanya
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
RizalinePalanog2
 

Recently uploaded (20)

Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learning
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATIONSTS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
 
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
 
Introduction,importance and scope of horticulture.pptx
Introduction,importance and scope of horticulture.pptxIntroduction,importance and scope of horticulture.pptx
Introduction,importance and scope of horticulture.pptx
 
Site Acceptance Test .
Site Acceptance Test                    .Site Acceptance Test                    .
Site Acceptance Test .
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 

Jupyter Ascending: a practical hand guide to galactic scale, reproducible data science

  • 1. JUPYTER ASCENDING: A PRACTICAL HAND GUIDE TO GALACTIC SCALE, REPRODUCIBLE DATA SCIENCE John Fonner, PhD University of Texas at Austin April 5th, 2016 4/5/2016 1
  • 2.  Photos, Tweets, and hate mail all welcome!  Email: jfonner@tacc.utexas.edu  Twitter: @johnfonner 4/5/2016 2
  • 3. SCIENCE AS A SECOND THOUGHT 1. Formulate a theory 2. Gather data 3. Learn about data storage 4. Learn about data movement protocols 5. Lose data 6. Check out of rehab 7. Learn about backup and replication 8. Gather data 9. Learn about versioning 10. Start preliminary analysis 11. Buy a newer laptop 12. Buy more memory 13. Buy a desktop with more memory 14. Buy a bigger monitor & GPUs “for work” 15. Google “250GB Excel Spreadsheet” 16. Learn about batch processing 17. Learn about batch schedulers 18. Learn about patience. 19. Learn more about data storage 20. Learn about distributed systems. 21. Go back through notes to remember the science question. 22. Learn R & Python 23. Learn linux admin 24. Finish preliminary analysis. 25. Grow a ponytail 26. Write a paper. 27. Learn about data publishing 28. Learn about reproducibility 29. Plot the death of your advisor/dept. head 30. Apply for grants & research allocations on public systems 31. Wait to apply next time 32. Finish analyzing data 33. Reformulate your theory 34. Goto 1 4/5/2016 3
  • 7. SCIENTISTS, WITH FEW EXCEPTIONS, ARE NOT TRAINED PROGRAMMERS  Research is hard  Coding is hard  Research code is  well designed,  documented,  leverages design patterns,  highly reusable,  portable,  and usually open source. 4/5/2016 7
  • 8. ACCESSIBILITY >= CAPABILITY  For scientific reproducibility, the impact of your work will be more about accessibility than capability  Domain grad students, not sys admins, are the early adopters  Where can we focus effort to create community around capability? 4/5/2016 8
  • 9.  What has changed the least about the computation you do over the last 10 years?  What do we ask domain researchers to learn to use our tools and data? 4/5/2016 9 Memory/CPU/Disk Operating System Applications Interface
  • 13.  Decoupling the technology “stack” 4/5/2016 13 “Reproducers” • Web Browser • GUIs • Windows / Mac OS Support • Sample Data and Sample Workflows “Producers” • Linux CLI • Hadoop / GPFS / Lustre • Clusters / Clouds / Containers • Dockerfile / Makefile / Ansible
  • 14. BACKEND INFRASTRUCTURE: SYSTEMS  Categorize systems as either Storage or Execution  Describe and support relevant protocols, directories, schedulers, and quotas  Each system includes the credentials to log into the system (SSH Keys, X509, username/password)  Register everything with a JSON document http://agaveapi.co/documentation/tutorials/system- management-tutorial/ 4/5/2016 14
  • 15. BACKEND INFRASTRUCTURE: APPS  An “App” is a versioned instance of a software package on a specific Execution System  App assets are bundled into a directory and stored on a Storage System  Apps can be private, shared with individual users, or made public  Public apps are compressed, assigned a checksum, and stored in a protected space http://agaveapi.co/documentation/tutorials/app- management-tutorial/ 4/5/2016 15
  • 16. BACKEND INFRASTRUCTURE: JOBS  A “Job” is an execution of an App with a specific set of input files and parameters  All jobs are given an ID, all inputs and parameters are preserved, output is also tracked  Jobs can be shared with others http://agaveapi.co/documentation/tutorials/job- management-tutorial/ 4/5/2016 16
  • 22. DEVELOPER COMMAND-LINE TOOLS  https://bitbucket.org/agaveapi/cli  Requires bash and python’s json.tool  Uses caching for authentication  Parses JSON responses to condense output  As a Linux user, this is home-sweet-home 4/5/2016 22
  • 23. WHAT ABOUT JUPYTER?  Bleeding edge research will never be on a webpage  Data exploration “outside the app” also needs to be captured  An infrastructure for responsible computing at scale inevitably must support responsible data exploration  Jupyter has broad OS support, domain adoption, domain libraries, and a more interactive UI 4/5/2016 23
  • 24. AGAVEPY  github.com/TACC/agavepy  Pythonic wrapper for all Agave endpoints  pip install agavepy  Developers actively “dogfooding” the module  (Obviously) usable within Jupyter  Has had greater uptake by users (not just developers) 4/5/2016 24
  • 25. AGAVE-AWARE JUPYTERHUB  Going one step further – give users a notebook  jupyter.public.tenants.prod.agaveapi.co/  (Free) account creation here: public.tenants.prod.agaveapi.co/create_account  Beta implementation at the moment  data purges during updates  Limited capacity on the current VM  All notebooks run inside Docker containers 4/5/2016 25
  • 26. WHAT’S NEXT?  Full-featured developer portal  Open-source reference implementation of an Angular Javascript portal built on Agave  Additional Jupyter notebook examples  Production-grade support for a hosted JupyterHub 4/5/2016 26
  • 27. THANKS! QUESTIONS? Email: jfonner@tacc.utexas.edu Twitter: @johnfonner TACC: www.tacc.utexas.edu Agave: www.agaveapi.co AgavePy: github.com/TACC/agavepy 4/5/2016 27

Editor's Notes

  1. Traditionally, the Methods section of a paper captured the process In computation, we commonly have the methods section + the raw input data Enterprising students add source code