Bryan Brancotte, Thomas Menard and Hervé MénagerPoster #212
+ + @
2 | Brancotte Bryan | DevOps bioinformatics services
3 | Brancotte Bryan | DevOps bioinformatics services
Why DevOps for bioinformatics services ?
Software reliability is critical for adoption.
● Tested, with unit tests● Documented (user and dev)● Reproductible● Highly available
DevOps practices help tackle these issues.
Code versioning with gitSoftware distributed in Docker containerUnit testing with Continuous integration with GitLab(Automated) Continuous deployment with Kubernetes
4 | Brancotte Bryan | DevOps bioinformatics services
5 | Brancotte Bryan | DevOps bioinformatics services
●
●
●
6 | Brancotte Bryan | DevOps bioinformatics services
Docker
7 | Brancotte Bryan | DevOps bioinformatics services
●●
○
●○
●○○○○
8 | Brancotte Bryan | DevOps bioinformatics services
GitLab
9 | Brancotte Bryan | DevOps bioinformatics services
●
●
●
●
●
●
10 | Brancotte Bryan | DevOps bioinformatics services
Kubernetes
Developer’s perspective
11 | Brancotte Bryan | DevOps bioinformatics services
gitpush
CI/CD : Developer’s perspective Test (CI)
(1)*
Build(2)*
* Only when previous step ok
use
use
App
user
dev
Takeway: Press enter once, 2 minutes later your user has the new version ready to use !
Deploy
(3)*
12 | Brancotte Bryan | DevOps bioinformatics services
13 | Brancotte Bryan | DevOps bioinformatics services
Namespace: MyApp
Deployment
Deployment
Serviceport 8080, frontend
The world
Ingresshttps://abc.pasteur.cloud
FrontendBackend
Serviceport 5432backendPersistent
VolumeClaim
Scalable
web-app #1(replicat)
web-app #2(replicat)
web-app #3(replicat)
Postgres
Kubernetes concepts
● Containersrun in pods
● DeploymentHow to run containers
● ServiceHow to reach Deployments
● IngressExpose Service
● Persistent VolumeStore data
14 | Brancotte Bryan | DevOps bioinformatics services
with YAML files
* or should be considered as is15 | Brancotte Bryan | DevOps bioinformatics services
YAML for the DB apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: postgresspec: template: metadata: labels: app: postgres-app role: backend spec: containers: - image: "postgres:10.1" name: postgres envFrom: - configMapRef: name: postgres-config-map ports: - containerPort: 5432 name: postgres volumeMounts: - name: postgres-data-pv mountPath: /var/lib/postgresql/data volumes: - name: postgres-data-pv persistentVolumeClaim: claimName: postgres-data-pv-claim
● Deployment known as
● Use pgsql container
(already exist, maintained
by the community)
● User, pwd, stored in a
ConfigMap
● Mount a volume
● Volume is a Persistent
Volume Claim
16 | Brancotte Bryan | DevOps bioinformatics services
●
●
●
17 | Brancotte Bryan | DevOps bioinformatics services
● Up since November 2018
● Open to the whole Institut Pasteur since January 2019
● 4 projects at the HUB○ Bacteriophage infection, CRISPR screen browser,
human protein database, Time tracking
● 10 servers, 320 cores, 2,5 TB of RAM
● 1 « GPU » Nvidia DGX1, 40 cores, 512 GB of RAM
18 | Brancotte Bryan | DevOps bioinformatics services
-
Why going DevOps?
19 | Brancotte Bryan | DevOps bioinformatics services
●⇒
●⇒⇒
●⇒
Poster 212
● https://bit.ly/2K3Clhu
●
●
●
Questions ?20 | Brancotte Bryan | DevOps bioinformatics services
Top Related