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
Olivier Lafleur
May 10, 2019
Programming
0
160
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
Tweet
Share
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
160
L'informatique : un catalyseur pour la science!
olafleur
0
44
Agile Tour Québec 2019 - DDD et programmation fonctionnelle : des alliés naturels
olafleur
0
64
Agile Tour Sherbrooke 2018 - DDD et programmation fonctionnelle : des alliés naturels
olafleur
0
66
Other Decks in Programming
See All in Programming
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
160
CSC305 Lecture 04
javiergs
PRO
0
270
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
600
チームの境界をブチ抜いていけ
tokai235
0
180
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
1
670
品質ワークショップをやってみた
nealle
0
530
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
170
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
210
AI Agent 時代的開發者生存指南
eddie
3
1.8k
Go言語はstack overflowの夢を見るか?
logica0419
0
380
私はどうやって技術力を上げたのか
yusukebe
44
19k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
What's in a price? How to price your products and services
michaelherold
246
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
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!