SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
11/20/2015 Reproducibility of your development environment
http://localhost:4567/slides/environments.html#/?pdf-print 1/1
| |PyData2015 ContinuumAnalytics malev
Reproducibility of your
development environment
by / /
PyData NYC 2015
Marcos Vanetta @malev Continuum Analytics
| |PyData2015 ContinuumAnalytics malev
Marcos Vanetta ( )
Powered by tacos
Sponsored by Continuum Analytics
@malev
| |PyData2015 ContinuumAnalytics malev
Reproducibility
Reproducibility is the ability of an entire experiment or study to be
duplicated, either by the same researcher or by someone else working
independently.
| |PyData2015 ContinuumAnalytics malev
Development Environment
A computer system in which a computer program or software
component is deployed and executed.
A development environment is a collection of procedures and
tools for developing, testing and debugging an application or
program.
A development environment contains everything required by
a team to build and deploy software-intensive systems.
| |PyData2015 ContinuumAnalytics malev
Components
Method
Tools
Enablement
Organization
Infrastructure
Adoption
| |PyData2015 ContinuumAnalytics malev
Components
Method
Tools
Enablement
Organization
Infrastructure
Adoption
| |PyData2015 ContinuumAnalytics malev
Method
Roles, work products, tasks, and processes
Standards, guidelines, checklists, templates, and examples
Deployment topology
| |PyData2015 ContinuumAnalytics malev
Tools
Development tools and their integrations
Development tool configurations and installation scripts
Deployment topology, which considers the software and
hardware required
| |PyData2015 ContinuumAnalytics malev
Infrastructure
A development environment considers infrastructure in terms
of both hardware and software.
Locations, nodes, and connectivity
Software (such as operating systems, database management
systems, board-level controls, and test harnesses).
| |PyData2015 ContinuumAnalytics malev
How do we work with data?
Everything is production
Everything is NOT production
Multi-language
Local | Cloud | both
Data ~Gb | Data ~Tb | ...
| |PyData2015 ContinuumAnalytics malev
What do we want to reproduce?
Coding and documentation styles
Software dependencies (libraries, databases, etc.)
Configuration files and environmental variables
Data (dummy data and real data)
Keys (aws, ssh, etc)
| |PyData2015 ContinuumAnalytics malev
Coding and documentation styles
Coding styles
Linter ( , , , , etc)
IDE configuration
pep8 flake8 YAPF AirBnB JS Styleguide
EditorConfig
Sphinx MkDocs
| |PyData2015 ContinuumAnalytics malev
Dependencies
Database engines
Installation instructions
Schema
Configuration
Dummy data
Docker or Vagrant
Makefiles or bash scripts
SaaS
Migrations
Automate
| |PyData2015 ContinuumAnalytics malev
Dependencies: libraries
pip conda
Lot of packages Data packages mostrly
~ Multi platform Multi platform
Not so fast Fast
Included in Anaconda Included in Anaconda
Consider tools like or .pipreqs defrost
| |PyData2015 ContinuumAnalytics malev
Exporting your dependencies with pip
Reusing an environment
Keep it simple
$pipfreeze>requirements.txt
$catrequirements.txt
requests==2.8.1
virtualenv==13.0.1
wheel==0.26.0
$virtualenv.my-env
$source.my-env/bin/activate
(my-env)$pipinstall-rrequirements.txt
| |PyData2015 ContinuumAnalytics malev
Exporting your dependencies with conda
Reusing with conda
Keep it simple
$condaenvexport-nplease-work-fenvironment.yml
$catenvironment.yml
name:my-project
dependencies:
-bokeh=0.8.0=np19py27_0
-colorama=0.3.3=py27_0
-pip:
-flask
$condaenvcreate
...
$sourceactivatemy-project
discarding/Users/mvanetta/miniconda/binfromPATH
prepending/Users/mvanetta/miniconda/envs/my-project/bintoPATH
(my-project)$
| |PyData2015 ContinuumAnalytics malev
Using pill
$condainstallpilldeps-cmalev
$pillinit
$sourcepillin
$depsinstall
$sourcepillout
$rm-rf.pill
| |PyData2015 ContinuumAnalytics malev
Working with notebooks
Reusing your notebook
$condacreate-nproject
$condainstall-ybokehpandasjupyter
$ipythonnotebookiris.ipynb
$condaenvattach-nirisiris.ipynb
$anacondanotebookuploadiris.ipynb
$anacondanotebookdownloadmalev/iris
$condaenvcreateiris.ipynb
$sourceactivateiris
$ipythonnotebookiris.ipynb
| |PyData2015 ContinuumAnalytics malev
Configuration files and environmental variables
Essential part of configuration management
yaml, ini, json files
Generally stored in programmer's brains
Attach to the repo, document, use tools like
and automate.autoenv
| |PyData2015 ContinuumAnalytics malev
keys
Security concerns
Don't put it in the repo
Talk to your IT department
| |PyData2015 ContinuumAnalytics malev
Conclusions
We still have some work to do
We have a lot of manual work
It is an expensive process
| |PyData2015 ContinuumAnalytics malev
Questions

Mais conteúdo relacionado

Destaque

Can Your Web Hosting Survive The Digg Effect?
Can Your Web Hosting Survive The Digg Effect?Can Your Web Hosting Survive The Digg Effect?
Can Your Web Hosting Survive The Digg Effect?Sharksfly Marketing Inc.
 
Туберкулез: иллюстрированная история болезни
Туберкулез: иллюстрированная история болезни Туберкулез: иллюстрированная история болезни
Туберкулез: иллюстрированная история болезни Tania Evlampieva
 
State of Local Search Today - Social Goes Local
State of Local Search Today - Social Goes LocalState of Local Search Today - Social Goes Local
State of Local Search Today - Social Goes LocalSharksfly Marketing Inc.
 

Destaque (6)

Can Your Web Hosting Survive The Digg Effect?
Can Your Web Hosting Survive The Digg Effect?Can Your Web Hosting Survive The Digg Effect?
Can Your Web Hosting Survive The Digg Effect?
 
Туберкулез: иллюстрированная история болезни
Туберкулез: иллюстрированная история болезни Туберкулез: иллюстрированная история болезни
Туберкулез: иллюстрированная история болезни
 
State of Local Search Today - Social Goes Local
State of Local Search Today - Social Goes LocalState of Local Search Today - Social Goes Local
State of Local Search Today - Social Goes Local
 
2016 Lavorare Felici NEW
2016 Lavorare Felici NEW2016 Lavorare Felici NEW
2016 Lavorare Felici NEW
 
Guía capas de la tierra
Guía capas de la tierraGuía capas de la tierra
Guía capas de la tierra
 
Mongodb With Mongoid
Mongodb With MongoidMongodb With Mongoid
Mongodb With Mongoid
 

Semelhante a Reproducibility of Development Environments

Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterMatt Tesauro
 
Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Matt Tesauro
 
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...DataKitchen
 
Syhunt Presentation 2011
Syhunt Presentation 2011Syhunt Presentation 2011
Syhunt Presentation 2011syhunt
 
Introduction to data flow management using apache nifi
Introduction to data flow management using apache nifiIntroduction to data flow management using apache nifi
Introduction to data flow management using apache nifiAnshuman Ghosh
 
ApacheCon 2021 - Apache NiFi Deep Dive 300
ApacheCon 2021 - Apache NiFi Deep Dive 300ApacheCon 2021 - Apache NiFi Deep Dive 300
ApacheCon 2021 - Apache NiFi Deep Dive 300Timothy Spann
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationMark Rendell
 
Presto for the Enterprise @ Hadoop Meetup
Presto for the Enterprise @ Hadoop MeetupPresto for the Enterprise @ Hadoop Meetup
Presto for the Enterprise @ Hadoop MeetupWojciech Biela
 
Apache Flink Training: System Overview
Apache Flink Training: System OverviewApache Flink Training: System Overview
Apache Flink Training: System OverviewFlink Forward
 
Systematic Load Testing of Web Applications
Systematic Load Testing of Web ApplicationsSystematic Load Testing of Web Applications
Systematic Load Testing of Web ApplicationsJürg Stuker
 
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriThinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriDemi Ben-Ari
 
Leveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleLeveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleTechWell
 
LCA13: Android Infrastructure Automation Improvements
LCA13: Android Infrastructure Automation ImprovementsLCA13: Android Infrastructure Automation Improvements
LCA13: Android Infrastructure Automation ImprovementsLinaro
 
[DSC Adria 23] Mikhail Rozhkov DVC in Machine Learning Engineering and MLOps ...
[DSC Adria 23] Mikhail Rozhkov DVC in Machine Learning Engineering and MLOps ...[DSC Adria 23] Mikhail Rozhkov DVC in Machine Learning Engineering and MLOps ...
[DSC Adria 23] Mikhail Rozhkov DVC in Machine Learning Engineering and MLOps ...DataScienceConferenc1
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultDataWorks Summit
 
CNCF_ A step to step guide to platforming your delivery setup.pdf
CNCF_ A step to step guide to platforming your delivery setup.pdfCNCF_ A step to step guide to platforming your delivery setup.pdf
CNCF_ A step to step guide to platforming your delivery setup.pdfLibbySchulze
 
Discover How Volvo Cars Uses a Time Series Database to Become Data-Driven
Discover How Volvo Cars Uses a Time Series Database to Become Data-DrivenDiscover How Volvo Cars Uses a Time Series Database to Become Data-Driven
Discover How Volvo Cars Uses a Time Series Database to Become Data-DrivenDevOps.com
 
Seminaire od devops 10traps 1.0
Seminaire od devops 10traps 1.0Seminaire od devops 10traps 1.0
Seminaire od devops 10traps 1.0Alain Delafosse
 

Semelhante a Reproducibility of Development Environments (20)

Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
 
Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016
 
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
 
Syhunt Presentation 2011
Syhunt Presentation 2011Syhunt Presentation 2011
Syhunt Presentation 2011
 
Introduction to data flow management using apache nifi
Introduction to data flow management using apache nifiIntroduction to data flow management using apache nifi
Introduction to data flow management using apache nifi
 
ApacheCon 2021 - Apache NiFi Deep Dive 300
ApacheCon 2021 - Apache NiFi Deep Dive 300ApacheCon 2021 - Apache NiFi Deep Dive 300
ApacheCon 2021 - Apache NiFi Deep Dive 300
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
Presto for the Enterprise @ Hadoop Meetup
Presto for the Enterprise @ Hadoop MeetupPresto for the Enterprise @ Hadoop Meetup
Presto for the Enterprise @ Hadoop Meetup
 
Apache Flink Training: System Overview
Apache Flink Training: System OverviewApache Flink Training: System Overview
Apache Flink Training: System Overview
 
Systematic Load Testing of Web Applications
Systematic Load Testing of Web ApplicationsSystematic Load Testing of Web Applications
Systematic Load Testing of Web Applications
 
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriThinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
 
Leveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleLeveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver Example
 
LCA13: Android Infrastructure Automation Improvements
LCA13: Android Infrastructure Automation ImprovementsLCA13: Android Infrastructure Automation Improvements
LCA13: Android Infrastructure Automation Improvements
 
[DSC Adria 23] Mikhail Rozhkov DVC in Machine Learning Engineering and MLOps ...
[DSC Adria 23] Mikhail Rozhkov DVC in Machine Learning Engineering and MLOps ...[DSC Adria 23] Mikhail Rozhkov DVC in Machine Learning Engineering and MLOps ...
[DSC Adria 23] Mikhail Rozhkov DVC in Machine Learning Engineering and MLOps ...
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at Renault
 
AvenDATA and Devops
AvenDATA and DevopsAvenDATA and Devops
AvenDATA and Devops
 
CNCF_ A step to step guide to platforming your delivery setup.pdf
CNCF_ A step to step guide to platforming your delivery setup.pdfCNCF_ A step to step guide to platforming your delivery setup.pdf
CNCF_ A step to step guide to platforming your delivery setup.pdf
 
Discover How Volvo Cars Uses a Time Series Database to Become Data-Driven
Discover How Volvo Cars Uses a Time Series Database to Become Data-DrivenDiscover How Volvo Cars Uses a Time Series Database to Become Data-Driven
Discover How Volvo Cars Uses a Time Series Database to Become Data-Driven
 
Devops training
Devops trainingDevops training
Devops training
 
Seminaire od devops 10traps 1.0
Seminaire od devops 10traps 1.0Seminaire od devops 10traps 1.0
Seminaire od devops 10traps 1.0
 

Último

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 

Último (20)

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 

Reproducibility of Development Environments

  • 1. 11/20/2015 Reproducibility of your development environment http://localhost:4567/slides/environments.html#/?pdf-print 1/1 | |PyData2015 ContinuumAnalytics malev Reproducibility of your development environment by / / PyData NYC 2015 Marcos Vanetta @malev Continuum Analytics
  • 2. | |PyData2015 ContinuumAnalytics malev Marcos Vanetta ( ) Powered by tacos Sponsored by Continuum Analytics @malev
  • 3. | |PyData2015 ContinuumAnalytics malev Reproducibility Reproducibility is the ability of an entire experiment or study to be duplicated, either by the same researcher or by someone else working independently.
  • 4. | |PyData2015 ContinuumAnalytics malev Development Environment A computer system in which a computer program or software component is deployed and executed. A development environment is a collection of procedures and tools for developing, testing and debugging an application or program. A development environment contains everything required by a team to build and deploy software-intensive systems.
  • 5. | |PyData2015 ContinuumAnalytics malev Components Method Tools Enablement Organization Infrastructure Adoption
  • 6. | |PyData2015 ContinuumAnalytics malev Components Method Tools Enablement Organization Infrastructure Adoption
  • 7. | |PyData2015 ContinuumAnalytics malev Method Roles, work products, tasks, and processes Standards, guidelines, checklists, templates, and examples Deployment topology
  • 8. | |PyData2015 ContinuumAnalytics malev Tools Development tools and their integrations Development tool configurations and installation scripts Deployment topology, which considers the software and hardware required
  • 9. | |PyData2015 ContinuumAnalytics malev Infrastructure A development environment considers infrastructure in terms of both hardware and software. Locations, nodes, and connectivity Software (such as operating systems, database management systems, board-level controls, and test harnesses).
  • 10. | |PyData2015 ContinuumAnalytics malev How do we work with data? Everything is production Everything is NOT production Multi-language Local | Cloud | both Data ~Gb | Data ~Tb | ...
  • 11. | |PyData2015 ContinuumAnalytics malev What do we want to reproduce? Coding and documentation styles Software dependencies (libraries, databases, etc.) Configuration files and environmental variables Data (dummy data and real data) Keys (aws, ssh, etc)
  • 12. | |PyData2015 ContinuumAnalytics malev Coding and documentation styles Coding styles Linter ( , , , , etc) IDE configuration pep8 flake8 YAPF AirBnB JS Styleguide EditorConfig Sphinx MkDocs
  • 13. | |PyData2015 ContinuumAnalytics malev Dependencies Database engines Installation instructions Schema Configuration Dummy data Docker or Vagrant Makefiles or bash scripts SaaS Migrations Automate
  • 14. | |PyData2015 ContinuumAnalytics malev Dependencies: libraries pip conda Lot of packages Data packages mostrly ~ Multi platform Multi platform Not so fast Fast Included in Anaconda Included in Anaconda Consider tools like or .pipreqs defrost
  • 15. | |PyData2015 ContinuumAnalytics malev Exporting your dependencies with pip Reusing an environment Keep it simple $pipfreeze>requirements.txt $catrequirements.txt requests==2.8.1 virtualenv==13.0.1 wheel==0.26.0 $virtualenv.my-env $source.my-env/bin/activate (my-env)$pipinstall-rrequirements.txt
  • 16. | |PyData2015 ContinuumAnalytics malev Exporting your dependencies with conda Reusing with conda Keep it simple $condaenvexport-nplease-work-fenvironment.yml $catenvironment.yml name:my-project dependencies: -bokeh=0.8.0=np19py27_0 -colorama=0.3.3=py27_0 -pip: -flask $condaenvcreate ... $sourceactivatemy-project discarding/Users/mvanetta/miniconda/binfromPATH prepending/Users/mvanetta/miniconda/envs/my-project/bintoPATH (my-project)$
  • 17. | |PyData2015 ContinuumAnalytics malev Using pill $condainstallpilldeps-cmalev $pillinit $sourcepillin $depsinstall $sourcepillout $rm-rf.pill
  • 18. | |PyData2015 ContinuumAnalytics malev Working with notebooks Reusing your notebook $condacreate-nproject $condainstall-ybokehpandasjupyter $ipythonnotebookiris.ipynb $condaenvattach-nirisiris.ipynb $anacondanotebookuploadiris.ipynb $anacondanotebookdownloadmalev/iris $condaenvcreateiris.ipynb $sourceactivateiris $ipythonnotebookiris.ipynb
  • 19. | |PyData2015 ContinuumAnalytics malev Configuration files and environmental variables Essential part of configuration management yaml, ini, json files Generally stored in programmer's brains Attach to the repo, document, use tools like and automate.autoenv
  • 20. | |PyData2015 ContinuumAnalytics malev keys Security concerns Don't put it in the repo Talk to your IT department
  • 21. | |PyData2015 ContinuumAnalytics malev Conclusions We still have some work to do We have a lot of manual work It is an expensive process