devops ignition to reach galaxy continuous integration · mission stages stage 1 : – build a vm...

23
NOM DE L’AUTEUR / NOM DE LA PRESENTATION NOM DE L’AUTEUR DevOps Ignition to reach Galaxy continuous integration Olivier Inizan, Mikael Loaec, Jonathan Kreplak and Hadi Quesneville. INRA URGI, RD 10 route de Saint Cyr 78026 Versailles Cedex

Upload: others

Post on 12-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

NOM DE L’AUTEUR / NOM DE LA PRESENTATION NOM DE L’AUTEUR

DevOps Ignition to reach Galaxy continuous integration

Olivier Inizan, Mikael Loaec, Jonathan Kreplak and Hadi Quesneville.

INRA URGI, RD 10 route de Saint Cyr 78026 Versailles Cedex

Page 2: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Mikael Loaec Olivier Inizan

Page 3: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

DevOps ignition ...

DevOps

Page 4: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

DevOps

● Dev Ops in 2 sentences :– « The DevOps is a software development mouvement that

stresses a close relationship between software developers and netsys admins. »

– « The goal is to enhance and speed up the cycle of software production from the creation to the delivery to final users, with a special focus on quick resolution of users issues. »

Page 5: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

DevOps● Usually a wall between dev teams and operational

(netsys) teams

=> how to break the wall ?

creativity

reactivity

stability

securityDEV OPS

I suggest a new strategy, R2. Let the wookie win. Grrr..

Page 6: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

3 hammers to break the wall

● Collaboration :– A collaborative approach : work together, talk together

● Infrastructure as a code :– You manage your infrastructure as you manage a piece of code– Ex : creating a new image via a script/api execution

● Continuous delivery– « Continuous Delivery is a software development discipline where you build

software in such a way that the software can be released to production at any time. » Martin Fowler.

Page 7: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

The mission ...

● Objective : put quickly new releases in production– Tools, workflows

– New Galaxy releases

● The problem :– Big differences between dev env

and prod env

– Galaxy instance difficult to update

– Only netsys admin team can put in production

Page 8: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Design a dev workflow

● Virtualization tech are avalaible

● A model for dev workflow :

v.m.template

v.m.PROD

Galaxy up to date release

Tools / Workflowsintegrations

v.m.PROD-RC

Toolbox n° 1

Toolbox n° 2

Wkfl n°1

Wkfl n°2v.m.

Releasecandidate

Production

Page 9: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Fix the problems

● Differences dev/prod:– Dev image becomes production image

● Update problem:– A template with a fresh version of Galaxy

● Only netsys admin ...:– Ask the developers to “execute” the workflow !

Page 10: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Existing resources : the crewSoftware developers team: (i) working on TEs and mobile elements detection

+ workflows NGS

(ii) and organize itself according Agile :

for project managment for code production

Page 11: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Exisiting resources:the ship

HPC Cluster :Nodes: 78 Cores : 888 

Powered by Rocks Cluster Linux and Sun Grid Engine

Netapp powered by DataOnTap Cluster-Mode

Storage Capacity :150To

Virtualization Server powered by Proxmox (KVM)

«  You’ve never heard of the Millennium Falcon? … It’s the ship that made the Kessel run  in less than 12  parsecs » H.S.

Page 12: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Mission stages

● Stage 1 :– Build a VM image with one of URGI's workflow inside

– Send a small crew for exploration : 1 netsys + 1 dev

– One month later a prototype :● A machine image● A template for image creation

● Stage 2 :– Improve the prototype with all URGI's workflows and toolboxes

– All the crew for this mission

– 3 months later : a new instance in production !

v.m.PROD -RC

DEAwkfl

v.m.template

v.m.tmpl

.PROD

PROD-RC

n° 1 n° 2 n°1

n°2.

Page 13: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Highlight (i)

● template construction :– too huge for a single man (netsys admin)

– skills transfered to the team …

skills

v.m.template

v.m.DEV

v.m.PROD

Galaxy latest release

Tools +Workflowintegration

template iteratively refined

Collaboration

Page 14: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Highlight (ii)

Tools

User datafiles, tmp_files,

jobs_working directory

Libraries and binaries/share/apps

VM2

VM1CentOS

+ Gridengine+Postgres+python

virtualenvCluster compute Cluster compute

NodesNodesCentOS

KickstartKickstartfilefile

VM3

VM...

Infrastructure a as code

Submition proxy Submition proxy nodenode

Jobs submition

Page 15: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Summary

● Collaboration● Infrastructure as a code● Continuous Delivery

Page 16: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Summary

● Collaboration● Infrastructure as a code● Continuous Delivery

Page 17: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Summary

● Collaboration● Infrastructure as a code● Continuous Delivery

Page 18: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

PXE

Tools

User datafiles, tmp_files,

jobs_working directory

Libraries and binaries/share/apps

VM2

VM1CentOS+python

virtualenv

Clusters NodesClusters Nodes

KS VM3

VM...

Infrastructure a as code

KSKS Gridengine

r

Jobs submition

Page 19: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Summary

● Collaboration● Infrastructure as a code● Continuous Delivery

Page 20: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Continuous Delivery applied to our code ...

● Today : Source code repositorySource code repository

PackagesPackages

Packaging : manual

Integration : manual

Tests : automatic

Tests : manual

Tests : manual

Page 21: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Continuous Delivery applied to our code ...

● Tomorrow : Source code repositorySource code repository

PackagesPackages

Packaging : automatic

Integration : automatic

Tests : automatic

Tests : automatic

Tests : automatic

Page 22: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

A New Team is born ...

● Jonathan Kreplak● Véronique Jamilloux● Françoise Alfama● Nicolas Lapalu● Mark Moisette● Claire Viseux● Tina Alaeitabar● Timothée Chaumier● Hadi Quesneville

Page 23: DevOps Ignition to reach Galaxy continuous integration · Mission stages Stage 1 : – Build a VM image with one of URGI's workflow inside – Send a small crew for exploration :

Thank you for your attention !

« May the Force be with you ! »

Olivier [email protected]

Twitter: @OlivierInizan

Mikael [email protected]