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
200
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
31
Other Decks in Technology
See All in Technology
MySQLのロックの種類とその競合
yoku0825
6
1.6k
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
620
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
150
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
エンジニア向け会社紹介資料
caddi_eng
14
220k
スレットハンティングについて知っておきたいこと
hacket
0
130
スタートアップにおける組織設計とスクラムの長期戦略 / Scrum Fest Kanazawa 2024
yoshikiiida
13
3.6k
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
運用改善、不都合な真実 / 20240722-ssmjp-kaizen
opelab
17
8k
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
The Mythical Team-Month
searls
217
43k
RailsConf 2023
tenderlove
16
720
Leading Effective Engineering Teams 2024
addyosmani
3
300
Embracing the Ebb and Flow
colly
81
4.3k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Optimizing for Happiness
mojombo
373
69k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
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