Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Agile Tour Sherbrooke 2019 - DevOps et déploiem...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Olivier Lafleur
May 10, 2019
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Agile Tour Sherbrooke 2019 - DevOps et déploiement continu : on commence comment?
Présentation faite le 10 mai 2019 à l'Agile Tour 2019
Olivier Lafleur
May 10, 2019
More Decks by Olivier Lafleur
See All by Olivier Lafleur
Mob programming : “seul, on va plus vite, ensemble, on va plus loin!” - Agile Tour Québec 2020
olafleur
0
170
L'informatique : un catalyseur pour la science!
olafleur
0
55
Agile Tour Québec 2019 - DDD et programmation fonctionnelle : des alliés naturels
olafleur
0
70
Agile Tour Sherbrooke 2018 - DDD et programmation fonctionnelle : des alliés naturels
olafleur
0
71
Other Decks in Programming
See All in Programming
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
130
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
320
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
730
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
190
Google Apps Script で Ruby を動かす
kawahara
0
260
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
230
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.5k
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
120
AIを紡ぐPMのお話
swdtkuy
0
110
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
740
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
390
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Become a Pro
speakerdeck
PRO
31
6.2k
A Tale of Four Properties
chriscoyier
163
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
The Language of Interfaces
destraynor
162
27k
Raft: Consensus for Rubyists
vanstee
141
7.6k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
73
41k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
340
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Speed Design
sergeychernyshev
33
2k
New Earth Scene 8
popppiees
3
2.5k
Transcript
DevOps et déploiement continu : on commence comment? Agile Tour
Sherbrooke - 10 mai 2019
Olivier Lafleur, M.Sc., PSM Coach agile / technique Mentor dans
le programme de résidence @olilafleur
None
C’est quoi le rapport avec l’agilité?
Notre plus haute priorité est de satisfaire le client en
livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. - Principes sous-jacents au manifeste
Notre plus haute priorité est de satisfaire le client en
livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. - Principes sous-jacents au manifeste
Livrez fréquemment un logiciel opérationnel avec des cycles de quelques
semaines à quelques mois et une préférence pour les plus courts. - Principes sous-jacents au manifeste
Livrez fréquemment un logiciel opérationnel avec des cycles de quelques
semaines à quelques mois et une préférence pour les plus courts. - Principes sous-jacents au manifeste
Source
POURQUOI?
Feedback fréquent
None
Un déploiement devrait être un non-événement
None
None
Quelques conséquences de viser le déploiement continu :
Quelques conséquences de viser le déploiement continu : - déploiements
sans downtime
Quelques conséquences de viser le déploiement continu : - déploiements
sans downtime - beaucoup d’automatisation
Quelques conséquences de viser le déploiement continu : - déploiements
sans downtime - beaucoup d’automatisation - bon découplage logiciel
Quelques conséquences de viser le déploiement continu : - déploiements
sans downtime - beaucoup d’automatisation - bon découplage logiciel - moins de silos
Quelques conséquences de viser le déploiement continu : - déploiements
sans downtime - beaucoup d’automatisation - bon découplage logiciel - moins de silos - tests et vérification rapide
COMMENT?
Le moyen le plus efficace de créer l’état futur est
de combler l’écart entre l’état actuel et la conception idéalisée. - Loi d’Ackoff
Quel est notre état idéal?
Par exemple : - tous les devs peuvent déployer en
une commande - le déploiement prend moins de 5 minutes - le rollback est facile (une commande)
Mais nous on peut pas parce que...
None
Explorons des problèmes potentiels et des solutions potentielles
“J’ai rempli un ticket et je dois maintenant attendre après
le tech pour qu’une machine soit disponible et qu’il ait ouvert les bons ports.”
None
DevOps?
Pas un rôle, une philosophie !
None
Passer du tech “gardien” au tech “facilitateur”
Mettre en place une infrastructure à la demande ou utiliser
le cloud
“Infrastructure as Code”
None
FROM ubuntu:18.04 COPY . /app RUN make /app CMD python
/app/app.py EXPOSE 80
“Mes tests prennent des heures à rouler et/ou les QAs
doivent faire les tests manuels”
None
None
Pyramide de tests
PETITS MOYENS LARGES 70% 20% 10%
Supposons une moyenne de 20 ms pour un test unitaire
Combien je peux en rouler en 30 secondes?
Environ 1500
“Ça nous prend plusieurs jours à réintégrer dans master les
nouvelles fonctionnalités”
None
None
Intégration continue
Trunk-based : une seule branche partagée
Feature Toggle
Déployer du code même si inactif !
function uneFonction(){ if(fonctionActivee("nouvel-algo") ){ return superAlgo(); } else{ return ancienAlgo();
} }
Par défaut, on active ou désactive le toggle?
None
Canary release?
Canary release! Source
None
“On travaille dans du vieux code épeurant”
None
Tests de caractérisation
None
Découpage en microservices
ATTENTION : découper en domaines d’affaires!
None
“On ferme le système durant certaines fin de semaines pour
déployer la nouvelle version”
Déploiement bleu-vert Source
ATTENTION : Accent sur des solutions techniques !
None
Méthode scientifique! Agilité : l’art d’expérimenter
Soyez patients! Un goulot d’étranglement à la fois
Nous découvrons comment mieux développer des logiciels par la pratique
et en aidant les autres à le faire. - Manifeste Agile
Quel est le plus gros problème qui vous empêche de
faire du déploiement continu?
Quelles expériences pourriez-vous mettre en place pour vous rapprocher de
l’idéal?
Merci!