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
150
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
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
280
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.2k
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
130
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
150
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
190
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
140
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
190
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
890
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
100
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
620
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
740
Featured
See All Featured
Fireside Chat
paigeccino
37
3.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
How to Ace a Technical Interview
jacobian
277
23k
Six Lessons from altMBA
skipperchong
28
3.9k
A better future with KSS
kneath
239
17k
It's Worth the Effort
3n
185
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
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!