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
Stress-free software releases
Search
Tosho Trajanov
November 10, 2019
Technology
0
220
Stress-free software releases
Tosho Trajanov
November 10, 2019
Tweet
Share
More Decks by Tosho Trajanov
See All by Tosho Trajanov
The click that saves weekends
tstrv
0
32
Other Decks in Technology
See All in Technology
ゼロから実装まで!機械学習入門
natsuki0726
0
180
第45回 MLOps 勉強会 - ML Test Score を用いた機械学習システムの定量的なアセスメント
masatakashiwagi
3
310
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
47k
Oracle Database 23ai 新機能#4 Application Continuity
oracle4engineer
PRO
0
120
OPENLOGI Company Profile
hr01
0
54k
普通の Web エンジニアのための様相論理入門 #yapcjapan / YAPC Hakodate 2024
ytaka23
5
1.5k
【shownet.conf_】ネットワークテストの最適化と利便性の追求
shownet
PRO
0
340
トークナイザー入門
payanotty
2
970
KubeVirt Networking ONIC 2024
orimanabu
3
560
エムスリー全チーム紹介資料 / Introduction of M3 All Teams
m3_engineering
1
320
【完全版】Dify - LINE Bot連携 考え方と実用テクニック
uezo
1
380
電子辞書にステータスバーを実装する
puhitaku
0
100
Featured
See All Featured
Docker and Python
trallard
40
3k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
What's in a price? How to price your products and services
michaelherold
243
11k
A Philosophy of Restraint
colly
203
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for humans not robots
tammielis
249
25k
How to name files
jennybc
77
99k
Transcript
Stress-free software releases BGPHP 2019, Sofia
@TsTrv CTO Adeva - An Exclusive Developers Network Fully-distributed network
Worked with startups and Fortune 500 companies
@TsTrv Building strong engineering processes
@TsTrv Nirvana in software engineering
@TsTrv State of the application ー Legacy, enterprise application built
in PHP ー Being developed for over 10 years ー 0% test coverage ー 10 engineers - to keep it alive
@TsTrv The problems ー Unable to ship as fast as
we needed ー Never ending bug fixing cycles ー Full-regression testing took 3-4 weeks ー Releases once monthly ー Scheduled on weekends
@TsTrv Formula for stress and burnout
@TsTrv Continuous Everything
@TsTrv
@TsTrv Objections ー Complexity ー Risk ー Control ー Habit
@TsTrv Continuous Everything
@TsTrv Continuous Everything… Nirvana
@TsTrv Continuous Everything… Nirvana
@TsTrv Continuous Everything… Nirvana
@TsTrv Continuous Everything ー If you fail, you fail small
ー If something breaks, you know to fix immediately ー Fewer bugs ー Release new features faster ー Reduce Costs
@TsTrv What could potentially go wrong?
@TsTrv What could potentially go wrong right?
@TsTrv Legacy code ー Strangler Pattern ー Branch By Abstraction
Technique
@TsTrv Strangler Pattern
@TsTrv Branch By Abstraction
@TsTrv Automated Tests
@TsTrv Automated tests ー Assume legacy works flawlessly ?! ー
Utilize new modules to Increase the code coverage
@TsTrv Pipeline
@TsTrv Deployment vs Release ー Decoupling ー Feature Toggles –
Dark Launching – Phased rollout
@TsTrv
@TsTrv Deployment Strategy ー Blue Green ー Canary deployment
@TsTrv Blue Green Deployment
@TsTrv Blue Green Deployment
@TsTrv Canary Deployment
@TsTrv Mindset ー Everyone should participate ー Not a DevOps
work only ー Continuous improvement, day by day
@TsTrv Actions ー Wrapped up the legacy code ー Faked
automated tests for the legacy ー Identified pipeline ー Decoupled releases from deployment ー Created a culture of continuous improvement
@TsTrv Wins ー Release code to production multiple times daily.
ー Production bugs lowered by 80% ー From bug report to deploy < 30 mins ー No more weekends work
@TsTrv Always strive for continuous improvement, instead of perfection.
@TsTrv Thank you