SlideShare a Scribd company logo
http://www.bioteam.net
Dev Ops and Automation for
Bioinformaticians
Simon Twigger, Ph.D.
Rocky Mountain Bioinformatics Conference, 2014
HPC & Bioinformatics
Consulting
Clients across Government,
Pharma, Biotech, Academia
Development/Deployment Challenge
Team
Local IT
‘The Cloud’Complex App
& Environment
Intimate link between your software and where its being
run
Chef
• Uses a Ruby DSL
• Cookbooks + recipes to
describe the infrastructure
https://www.getchef.com/
•Run chef to configure your
installation, set up users,
define ENV, checkout code,
install and build your
software
•Save to your lab chef-repo
and preserve configuration
•Wide variety of public
cookbooks available at the
supermarket…
Vagrant
• Host Virtual Machines on
your desktop
• Infrastructure
configuration described in
a Vagrantfile, saved and
tracked in github, etc.
• Use the Chef recipes to
provision the server
• Same tools can be used
to build for VMs, AWS,
https://www.vagrantup.com/
Continuous Integration/Deployment
• Don’t hope that it still works…
• Automate your test suite (you
do have a test suite…?)
• Don’t hope that it all still comes
together…
• Automate your deployment (at
least to a staging/test
environment) https://jenkins-ci.org/
https://codeship.io
Invest in DevOps
• Invest some time up front to learn some DevOps
tools/approaches
• Chef, Puppet, Ansible, even plain old Bash
• Manage your infrastructure like you manage your source
code
• Chef Recipes
• Ansible Playbooks
• Vagrant
• Consider Jenkins as a CI (and CD) solution
• Make Source Control a requirement
• Make testing a requirement
simon@bioteam.net
Invest in DevOps
• Invest some time up front to learn some DevOps
tools/approaches
• Chef, Puppet, Ansible, even plain old Bash
• Manage your infrastructure like you manage your source
code
• Chef Recipes
• Ansible Playbooks
• Vagrant
• Consider Jenkins as a CI (and CD) solution
• Make Source Control a requirement
• Make testing a requirement
simon@bioteam.net

More Related Content

What's hot

Docker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin ArcillaDocker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin Arcilla
DEVCON
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
3Pillar Global
 
Can't Do It with Spiceworks? You Can Build an Extension for That! - Scott Con...
Can't Do It with Spiceworks? You Can Build an Extension for That! - Scott Con...Can't Do It with Spiceworks? You Can Build an Extension for That! - Scott Con...
Can't Do It with Spiceworks? You Can Build an Extension for That! - Scott Con...
Spiceworks
 
Krishna resume
Krishna resumeKrishna resume
Krishna resume
krishnareddy435
 
Planning Application Resilience - Developer Week 2015
Planning Application Resilience - Developer Week 2015Planning Application Resilience - Developer Week 2015
Planning Application Resilience - Developer Week 2015
Jennifer Davis
 
Automated Performance Testing for Desktop Applications by Ciprian Balea
Automated Performance Testing for Desktop Applications by Ciprian BaleaAutomated Performance Testing for Desktop Applications by Ciprian Balea
Automated Performance Testing for Desktop Applications by Ciprian Balea
3Pillar Global
 
Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App Engine
Marian Borca
 
From Development to Production
From Development to ProductionFrom Development to Production
From Development to Production
Samuel Fuentes
 
Spca2014 debugging remote event receivers van hunen
Spca2014 debugging remote event receivers van hunenSpca2014 debugging remote event receivers van hunen
Spca2014 debugging remote event receivers van hunen
NCCOMMS
 
What is Spring Boot and Why Spring Boot ?
What is Spring Boot and Why Spring Boot ?What is Spring Boot and Why Spring Boot ?
What is Spring Boot and Why Spring Boot ?
narendrachinnu
 
Cross browser testing
Cross browser testingCross browser testing
Cross browser testing
Sauce Labs
 
Chef Automate - Wellington DevOps August 2, 2017
Chef Automate - Wellington DevOps August 2, 2017Chef Automate - Wellington DevOps August 2, 2017
Chef Automate - Wellington DevOps August 2, 2017
Matt Ray
 
Serverless lessons learned #4 circuit breaker
Serverless lessons learned #4 circuit breakerServerless lessons learned #4 circuit breaker
Serverless lessons learned #4 circuit breaker
Maik Wiesmüller
 
Cucumber with appium
Cucumber with appiumCucumber with appium
Cucumber with appium
Raman Gowda Hullur
 
Getting Started with WordPress Plugin Development
Getting Started with WordPress Plugin DevelopmentGetting Started with WordPress Plugin Development
Getting Started with WordPress Plugin Development
Abhishek Deshpande
 
5 Important Points To Remember If You Want To Reduce AWS EC2 Cost
5 Important Points To Remember If You Want To Reduce AWS EC2 Cost5 Important Points To Remember If You Want To Reduce AWS EC2 Cost
5 Important Points To Remember If You Want To Reduce AWS EC2 Cost
devopsjourney
 
Terraform Testing with InSpec Demo
Terraform Testing with InSpec DemoTerraform Testing with InSpec Demo
Terraform Testing with InSpec Demo
Annie Hedgpeth
 
Ruby on Rails and AWS Elastic Beanstalk
Ruby on Rails and AWS Elastic BeanstalkRuby on Rails and AWS Elastic Beanstalk
Ruby on Rails and AWS Elastic Beanstalk
Nathalie Steinmetz
 

What's hot (18)

Docker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin ArcillaDocker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin Arcilla
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
 
Can't Do It with Spiceworks? You Can Build an Extension for That! - Scott Con...
Can't Do It with Spiceworks? You Can Build an Extension for That! - Scott Con...Can't Do It with Spiceworks? You Can Build an Extension for That! - Scott Con...
Can't Do It with Spiceworks? You Can Build an Extension for That! - Scott Con...
 
Krishna resume
Krishna resumeKrishna resume
Krishna resume
 
Planning Application Resilience - Developer Week 2015
Planning Application Resilience - Developer Week 2015Planning Application Resilience - Developer Week 2015
Planning Application Resilience - Developer Week 2015
 
Automated Performance Testing for Desktop Applications by Ciprian Balea
Automated Performance Testing for Desktop Applications by Ciprian BaleaAutomated Performance Testing for Desktop Applications by Ciprian Balea
Automated Performance Testing for Desktop Applications by Ciprian Balea
 
Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App Engine
 
From Development to Production
From Development to ProductionFrom Development to Production
From Development to Production
 
Spca2014 debugging remote event receivers van hunen
Spca2014 debugging remote event receivers van hunenSpca2014 debugging remote event receivers van hunen
Spca2014 debugging remote event receivers van hunen
 
What is Spring Boot and Why Spring Boot ?
What is Spring Boot and Why Spring Boot ?What is Spring Boot and Why Spring Boot ?
What is Spring Boot and Why Spring Boot ?
 
Cross browser testing
Cross browser testingCross browser testing
Cross browser testing
 
Chef Automate - Wellington DevOps August 2, 2017
Chef Automate - Wellington DevOps August 2, 2017Chef Automate - Wellington DevOps August 2, 2017
Chef Automate - Wellington DevOps August 2, 2017
 
Serverless lessons learned #4 circuit breaker
Serverless lessons learned #4 circuit breakerServerless lessons learned #4 circuit breaker
Serverless lessons learned #4 circuit breaker
 
Cucumber with appium
Cucumber with appiumCucumber with appium
Cucumber with appium
 
Getting Started with WordPress Plugin Development
Getting Started with WordPress Plugin DevelopmentGetting Started with WordPress Plugin Development
Getting Started with WordPress Plugin Development
 
5 Important Points To Remember If You Want To Reduce AWS EC2 Cost
5 Important Points To Remember If You Want To Reduce AWS EC2 Cost5 Important Points To Remember If You Want To Reduce AWS EC2 Cost
5 Important Points To Remember If You Want To Reduce AWS EC2 Cost
 
Terraform Testing with InSpec Demo
Terraform Testing with InSpec DemoTerraform Testing with InSpec Demo
Terraform Testing with InSpec Demo
 
Ruby on Rails and AWS Elastic Beanstalk
Ruby on Rails and AWS Elastic BeanstalkRuby on Rails and AWS Elastic Beanstalk
Ruby on Rails and AWS Elastic Beanstalk
 

Viewers also liked

2015 09 emc lsug
2015 09 emc lsug2015 09 emc lsug
2015 09 emc lsug
Chris Dwan
 
2015 04 bio it world
2015 04 bio it world2015 04 bio it world
2015 04 bio it world
Chris Dwan
 
An MPI-IO Cloud Cluster Bioinformatics Summer Project (BDT205) | AWS re:Inven...
An MPI-IO Cloud Cluster Bioinformatics Summer Project (BDT205) | AWS re:Inven...An MPI-IO Cloud Cluster Bioinformatics Summer Project (BDT205) | AWS re:Inven...
An MPI-IO Cloud Cluster Bioinformatics Summer Project (BDT205) | AWS re:Inven...
Amazon Web Services
 
2016 09 cxo forum
2016 09 cxo forum2016 09 cxo forum
2016 09 cxo forum
Chris Dwan
 
Surveyssdasdasdasd
SurveyssdasdasdasdSurveyssdasdasdasd
Surveyssdasdasdasd
guestdf26a73
 
Let’s have a party
Let’s have  a partyLet’s have  a party
Let’s have a party
sweet34
 
Ghana technical note_cassava_en_feb2013
Ghana technical note_cassava_en_feb2013Ghana technical note_cassava_en_feb2013
Ghana technical note_cassava_en_feb2013
Herbert Asare
 
Virtual Proteomics Analysis Cluster in the Cloud
Virtual Proteomics Analysis Cluster in the CloudVirtual Proteomics Analysis Cluster in the Cloud
Virtual Proteomics Analysis Cluster in the Cloud
Simon Twigger
 
NCBO DBP
NCBO DBPNCBO DBP
NCBO DBP
Simon Twigger
 
Farm life
Farm lifeFarm life
Farm life
sweet34
 
relación de aspirantes OMJ
relación de aspirantes OMJrelación de aspirantes OMJ
relación de aspirantes OMJ
guest9b0389
 
aspirantes OMJ
aspirantes OMJaspirantes OMJ
aspirantes OMJ
guest9b0389
 
the iPad - an interface for Biologists?
the iPad - an interface for Biologists?the iPad - an interface for Biologists?
the iPad - an interface for Biologists?
Simon Twigger
 
Using Ontologies to accelerate candidate gene identification
Using Ontologies to accelerate candidate gene identificationUsing Ontologies to accelerate candidate gene identification
Using Ontologies to accelerate candidate gene identification
Simon Twigger
 
A Distributed Annotation Pipeline for MSSNG
A Distributed Annotation Pipeline for MSSNGA Distributed Annotation Pipeline for MSSNG
A Distributed Annotation Pipeline for MSSNG
Simon Twigger
 
relación de aspirantes OMJ
relación de aspirantes OMJrelación de aspirantes OMJ
relación de aspirantes OMJ
guest9b0389
 
Helping Haiti - a semantic web approach to crisis information management
Helping Haiti - a semantic web approach to crisis information managementHelping Haiti - a semantic web approach to crisis information management
Helping Haiti - a semantic web approach to crisis information management
Simon Twigger
 
aspirantes OMJ
aspirantes OMJaspirantes OMJ
aspirantes OMJ
guest9b0389
 
Gapsmodel
Gapsmodel Gapsmodel
Gapsmodel
Herbert Asare
 
Using the NCBO Web Services for Concept Recognition and Ontology Annotation o...
Using the NCBO Web Services for Concept Recognition and Ontology Annotation o...Using the NCBO Web Services for Concept Recognition and Ontology Annotation o...
Using the NCBO Web Services for Concept Recognition and Ontology Annotation o...
Simon Twigger
 

Viewers also liked (20)

2015 09 emc lsug
2015 09 emc lsug2015 09 emc lsug
2015 09 emc lsug
 
2015 04 bio it world
2015 04 bio it world2015 04 bio it world
2015 04 bio it world
 
An MPI-IO Cloud Cluster Bioinformatics Summer Project (BDT205) | AWS re:Inven...
An MPI-IO Cloud Cluster Bioinformatics Summer Project (BDT205) | AWS re:Inven...An MPI-IO Cloud Cluster Bioinformatics Summer Project (BDT205) | AWS re:Inven...
An MPI-IO Cloud Cluster Bioinformatics Summer Project (BDT205) | AWS re:Inven...
 
2016 09 cxo forum
2016 09 cxo forum2016 09 cxo forum
2016 09 cxo forum
 
Surveyssdasdasdasd
SurveyssdasdasdasdSurveyssdasdasdasd
Surveyssdasdasdasd
 
Let’s have a party
Let’s have  a partyLet’s have  a party
Let’s have a party
 
Ghana technical note_cassava_en_feb2013
Ghana technical note_cassava_en_feb2013Ghana technical note_cassava_en_feb2013
Ghana technical note_cassava_en_feb2013
 
Virtual Proteomics Analysis Cluster in the Cloud
Virtual Proteomics Analysis Cluster in the CloudVirtual Proteomics Analysis Cluster in the Cloud
Virtual Proteomics Analysis Cluster in the Cloud
 
NCBO DBP
NCBO DBPNCBO DBP
NCBO DBP
 
Farm life
Farm lifeFarm life
Farm life
 
relación de aspirantes OMJ
relación de aspirantes OMJrelación de aspirantes OMJ
relación de aspirantes OMJ
 
aspirantes OMJ
aspirantes OMJaspirantes OMJ
aspirantes OMJ
 
the iPad - an interface for Biologists?
the iPad - an interface for Biologists?the iPad - an interface for Biologists?
the iPad - an interface for Biologists?
 
Using Ontologies to accelerate candidate gene identification
Using Ontologies to accelerate candidate gene identificationUsing Ontologies to accelerate candidate gene identification
Using Ontologies to accelerate candidate gene identification
 
A Distributed Annotation Pipeline for MSSNG
A Distributed Annotation Pipeline for MSSNGA Distributed Annotation Pipeline for MSSNG
A Distributed Annotation Pipeline for MSSNG
 
relación de aspirantes OMJ
relación de aspirantes OMJrelación de aspirantes OMJ
relación de aspirantes OMJ
 
Helping Haiti - a semantic web approach to crisis information management
Helping Haiti - a semantic web approach to crisis information managementHelping Haiti - a semantic web approach to crisis information management
Helping Haiti - a semantic web approach to crisis information management
 
aspirantes OMJ
aspirantes OMJaspirantes OMJ
aspirantes OMJ
 
Gapsmodel
Gapsmodel Gapsmodel
Gapsmodel
 
Using the NCBO Web Services for Concept Recognition and Ontology Annotation o...
Using the NCBO Web Services for Concept Recognition and Ontology Annotation o...Using the NCBO Web Services for Concept Recognition and Ontology Annotation o...
Using the NCBO Web Services for Concept Recognition and Ontology Annotation o...
 

Similar to DevOps and Automation for Bioinformaticians

AWS re:Invent 2016: Configuration Management in the Cloud (DEV305)
AWS re:Invent 2016: Configuration Management in the Cloud (DEV305)AWS re:Invent 2016: Configuration Management in the Cloud (DEV305)
AWS re:Invent 2016: Configuration Management in the Cloud (DEV305)
Amazon Web Services
 
DOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your InfrastructureDOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your Infrastructure
decode2016
 
DevOps and Chef improve your life
DevOps and Chef improve your life DevOps and Chef improve your life
DevOps and Chef improve your life
Juan Vicente Herrera Ruiz de Alejo
 
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefOpscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Chef Software, Inc.
 
AWS OpsWorks for Chef Automate
AWS OpsWorks for Chef AutomateAWS OpsWorks for Chef Automate
AWS OpsWorks for Chef Automate
Amazon Web Services
 
Introduction to OpsWorks for Chef Automate
Introduction to OpsWorks for Chef AutomateIntroduction to OpsWorks for Chef Automate
Introduction to OpsWorks for Chef Automate
Amazon Web Services
 
Chef fundamentals
Chef fundamentalsChef fundamentals
Chef fundamentals
Ygor Nascimento
 
Chef
ChefChef
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for Openstack
Mohit Sethi
 
Configuration Management with AWS OpsWorks for Chef Automate
Configuration Management with AWS OpsWorks for Chef AutomateConfiguration Management with AWS OpsWorks for Chef Automate
Configuration Management with AWS OpsWorks for Chef Automate
Amazon Web Services
 
Managing Servers with Chef
Managing Servers with ChefManaging Servers with Chef
Managing Servers with Chef
Joe Kepley
 
Chef for openstack
Chef for openstackChef for openstack
Chef for openstack
openstackindia
 
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAchieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
Amazon Web Services
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
Johannes H. P. Skov Frandsen
 
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkDeploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Amazon Web Services
 
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech TalksAnnouncing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Amazon Web Services
 
Chef at EIS
Chef at EISChef at EIS
Chef at EIS
carpnick
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
Bitbar
 
Way to cloud
Way to cloudWay to cloud
Way to cloud
Andrew Yongjoon Kong
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User Group
Matt Ray
 

Similar to DevOps and Automation for Bioinformaticians (20)

AWS re:Invent 2016: Configuration Management in the Cloud (DEV305)
AWS re:Invent 2016: Configuration Management in the Cloud (DEV305)AWS re:Invent 2016: Configuration Management in the Cloud (DEV305)
AWS re:Invent 2016: Configuration Management in the Cloud (DEV305)
 
DOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your InfrastructureDOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your Infrastructure
 
DevOps and Chef improve your life
DevOps and Chef improve your life DevOps and Chef improve your life
DevOps and Chef improve your life
 
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefOpscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with Chef
 
AWS OpsWorks for Chef Automate
AWS OpsWorks for Chef AutomateAWS OpsWorks for Chef Automate
AWS OpsWorks for Chef Automate
 
Introduction to OpsWorks for Chef Automate
Introduction to OpsWorks for Chef AutomateIntroduction to OpsWorks for Chef Automate
Introduction to OpsWorks for Chef Automate
 
Chef fundamentals
Chef fundamentalsChef fundamentals
Chef fundamentals
 
Chef
ChefChef
Chef
 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for Openstack
 
Configuration Management with AWS OpsWorks for Chef Automate
Configuration Management with AWS OpsWorks for Chef AutomateConfiguration Management with AWS OpsWorks for Chef Automate
Configuration Management with AWS OpsWorks for Chef Automate
 
Managing Servers with Chef
Managing Servers with ChefManaging Servers with Chef
Managing Servers with Chef
 
Chef for openstack
Chef for openstackChef for openstack
Chef for openstack
 
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAchieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
 
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkDeploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
 
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech TalksAnnouncing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
 
Chef at EIS
Chef at EISChef at EIS
Chef at EIS
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
 
Way to cloud
Way to cloudWay to cloud
Way to cloud
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User Group
 

Recently uploaded

NuGOweek 2024 Ghent programme overview flyer
NuGOweek 2024 Ghent programme overview flyerNuGOweek 2024 Ghent programme overview flyer
NuGOweek 2024 Ghent programme overview flyer
pablovgd
 
Randomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNERandomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNE
University of Maribor
 
aziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobelaziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobel
İsa Badur
 
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
AbdullaAlAsif1
 
Chapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisisChapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisis
tonzsalvador2222
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
RitabrataSarkar3
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
muralinath2
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
yqqaatn0
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
Sérgio Sacani
 
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
University of Maribor
 
ESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptxESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptx
PRIYANKA PATEL
 
Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
yqqaatn0
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
Nistarini College, Purulia (W.B) India
 
Shallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptxShallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptx
Gokturk Mehmet Dilci
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills MN
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
IshaGoswami9
 
Cytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptxCytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptx
Hitesh Sikarwar
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Texas Alliance of Groundwater Districts
 
Medical Orthopedic PowerPoint Templates.pptx
Medical Orthopedic PowerPoint Templates.pptxMedical Orthopedic PowerPoint Templates.pptx
Medical Orthopedic PowerPoint Templates.pptx
terusbelajar5
 

Recently uploaded (20)

NuGOweek 2024 Ghent programme overview flyer
NuGOweek 2024 Ghent programme overview flyerNuGOweek 2024 Ghent programme overview flyer
NuGOweek 2024 Ghent programme overview flyer
 
Randomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNERandomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNE
 
aziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobelaziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobel
 
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
 
Chapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisisChapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisis
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
 
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
 
ESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptxESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptx
 
Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
 
Shallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptxShallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptx
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
 
Cytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptxCytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptx
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
 
Medical Orthopedic PowerPoint Templates.pptx
Medical Orthopedic PowerPoint Templates.pptxMedical Orthopedic PowerPoint Templates.pptx
Medical Orthopedic PowerPoint Templates.pptx
 

DevOps and Automation for Bioinformaticians

  • 1. http://www.bioteam.net Dev Ops and Automation for Bioinformaticians Simon Twigger, Ph.D. Rocky Mountain Bioinformatics Conference, 2014 HPC & Bioinformatics Consulting Clients across Government, Pharma, Biotech, Academia
  • 2. Development/Deployment Challenge Team Local IT ‘The Cloud’Complex App & Environment Intimate link between your software and where its being run
  • 3. Chef • Uses a Ruby DSL • Cookbooks + recipes to describe the infrastructure https://www.getchef.com/ •Run chef to configure your installation, set up users, define ENV, checkout code, install and build your software •Save to your lab chef-repo and preserve configuration •Wide variety of public cookbooks available at the supermarket…
  • 4. Vagrant • Host Virtual Machines on your desktop • Infrastructure configuration described in a Vagrantfile, saved and tracked in github, etc. • Use the Chef recipes to provision the server • Same tools can be used to build for VMs, AWS, https://www.vagrantup.com/
  • 5. Continuous Integration/Deployment • Don’t hope that it still works… • Automate your test suite (you do have a test suite…?) • Don’t hope that it all still comes together… • Automate your deployment (at least to a staging/test environment) https://jenkins-ci.org/ https://codeship.io
  • 6. Invest in DevOps • Invest some time up front to learn some DevOps tools/approaches • Chef, Puppet, Ansible, even plain old Bash • Manage your infrastructure like you manage your source code • Chef Recipes • Ansible Playbooks • Vagrant • Consider Jenkins as a CI (and CD) solution • Make Source Control a requirement • Make testing a requirement simon@bioteam.net
  • 7. Invest in DevOps • Invest some time up front to learn some DevOps tools/approaches • Chef, Puppet, Ansible, even plain old Bash • Manage your infrastructure like you manage your source code • Chef Recipes • Ansible Playbooks • Vagrant • Consider Jenkins as a CI (and CD) solution • Make Source Control a requirement • Make testing a requirement simon@bioteam.net

Editor's Notes

  1. Presentation for the Rocky Mountain Bioinformatics Conference, December 2014. Bioteam – small team of consultants that get to do some cool stuff with some cool clients (http://bioteam.net) Our breadth of clients provides us with great visibility into a wide spectrum of Bioinformatics and Bio-IT environments, what works and where the industry is moving. Getting a grip on infrastructure, embracing change and flexibility, leveraging the cloud are all high on the list. What can be done to make this easier?
  2. The problem: You are likely building some software, you start with some code, then download and add a library, set some environment variables, link to a database, some local data, etc. and pretty soon you have a complex application and a non-trivial environment. However, you want to distribute this app to your team, scale it to your local IT environment or move it to the cloud All those custom configurations and tweaks now come back to haunt you, you’d like to try some new compute options but you are stuck in the tar-pit of manual configuration unable to break free! If you want to be able to share your code you have to be able to share your whole environment too… How to do this? Just like in the lab - You need a recipe that describes exactly how to create your environment, something that’s repeatable and sharable
  3. Chef gives you a way to both describe your configuration and setup and create it You write ‘recipes’ and build cookbooks that describe your system in a repeatable fashion e.g. A basic recipe to deploy a genomics software package Create users Create install directory Grab a local copy of the software tarball Unzip and install This cookbook can be shared and run repeatedly with the same result (Idempotent) You have a way to describe and build your software but you need this running on a server or a dev box, how to do this?
  4. You are likely building on Linux of some type so you need sandbox, a place to develop your software that mimics the environment its going to end up in – Vagrant provides this. Built off Oracle’s VirtualBox VM you can download and run many common flavors of UNIX (Ubuntu, CentOS) Create a Vagrant file which brings in the desired base OS, set up networking, provision the VM and away you go Plugins allow you to build directly on VMWare or AWS if you want. Vagrant Up creates a complete environment on demand, you can pass in alternative configuration variables into your chef recipes to add in extra flexibility – e.g. here we’re defining a specific human reference genome to be loaded onto the server.
  5. You now have a way to describe and build your infrastructure on command, the next step is to build in some resiliency against change (new code, new dependencies, etc.). Continuous Integration (CI) tools take you code and can automatically check it out and run your test suite so you can be sure it still works (or know that its broken so you can fix it). You can also get one of those cool ‘Build: Passing’ badges on your github repo and be like all the cool kids. The final step is continuous deployment (CD) to give you confidence that you can still deploy the whole enchilada to somewhere useful. This will complete the loop – check out your code, run the tests and if they pass, deploy the new code so your new features can be put to use straight away. Using CD to production has a few more caveats to watch out for but deploying to a staging site or similar is a great way to get new code in the hands of your team or client so they can test it, provide feedback before you do move it to production. Example tools for CI/CD include commercial tools like Codeship (http://Codeship.io) and Jenkins (http://jenkins-ci.org) an excellent open source route.
  6. Consider investing some time in DevOps and get a handle on your infrastructure and your development pipeline. Yes, it is likely a change from how you used to do things, Yes, it will take you a bit of time to get up to speed. Yes it will save you time down the road, Yes your team will thank you when all they have to type is ‘vagrant up’ to get your new software running. Yes, your users will thank you for taking the time to put this in place so they can easily download and use your new algorithms. Yes, you will be psyched when you can run the same code on AWS or Google Compute Engine and try your software on a high memory node or compute optimized node to really make it go! Plus, these are the tools and techniques that the software industry is using, bring this knowledge to your academic institution/pharma/biotech and be better placed to take those skills to where ever your computational career may take you… https://www.getchef.com/ http://www.ansible.com/ - Slightly simpler than Chef with fewer dependencies, etc., newer kid on the block, not so much documentation and supporting resources but this is what we’re spending our time learning these days. https://www.vagrantup.com/ CI/CD Solutions https://codeship.com/ http://jenkins-ci.org/ Also: https://travis-ci.org/ https://www.solanolabs.com/ https://www.atlassian.com/software/bamboo This wouldn’t be complete without mentioning Docker (https://www.docker.com/) the newest kid on the ‘lets make deployment easier’ block! Clearly the newest hotness, Illumina has been making some headway using this as the underpinnings of their Basespace platform, check out their Native Apps documentation for more info: https://developer.basespace.illumina.com/docs/content/documentation/native-apps/native-app-overview