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
freee のエンジニアは障害から何を学び、どう改善しているのか? / What do fre...
Search
Manabu Sakai
January 25, 2020
Technology
21k
8
Share
freee のエンジニアは障害から何を学び、どう改善しているのか? / What do freee engineers learn and improve from failures?
SRE NEXT 2020 の登壇資料です。
https://sre-next.dev/schedule/#a3
Manabu Sakai
January 25, 2020
More Decks by Manabu Sakai
See All by Manabu Sakai
アウトプットが切り拓いた自分のエンジニア人生 / Infra Study 2nd #8
manabusakai
0
31k
GitHub Actions の self-hosted runner と Amazon EKS を使った Docker のビルドパイプライン / secure-docker-build-pipeline
manabusakai
0
2.2k
SaaS における EKS のシングルテナントクラスタ戦略とスポットインスタンス活用術 / EKS single-tenant cluster strategy and Spot Instances
manabusakai
0
9.2k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
25
9.1k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.8k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.9k
freee のマイクロサービスを K8s + Go で組む! 短期プロジェクト成功の記録 / microservices-using-k8s-and-go
manabusakai
4
12k
Kubernetes 入門者が 3 か月で本番導入するためにやったこと / kubernetes-beginner
manabusakai
7
16k
バックオフィス全般をハックし続ける freee のカイゼンフロー / freee-kaizen-flow
manabusakai
2
11k
Other Decks in Technology
See All in Technology
責任あるソフトウェアエンジニアリングの紹介4章・5章 / RSE_Ch4-5
ido_kara_deru
0
290
はじめてのAI-DLC
yoshidashingo
2
430
コーポレートサイトのアクセシビリティ改善とJIS準拠への実践
lycorptech_jp
PRO
2
120
データ分析基盤の信頼を支える視点と設計
yuki_saito
1
590
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
210
AIコーディングエージェントの活用で、コードは静かに肥大化した
yosukeshinoda
1
230
コーディングAIが導くリスクベースド探索的テストの実践
lycorptech_jp
PRO
1
320
権限管理設計を完全に理解した
rsugi
1
180
Loadbalancing exporter internals
ymotongpoo
1
120
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
3
2.3k
"スキルファースト"で作る、AIの自走環境
subroh0508
1
690
JavaScript実装の自作プログラミング言語をTypeScript実装に移行した話
keisukeikeda
1
100
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Google's AI Overviews - The New Search
badams
0
1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
It's Worth the Effort
3n
188
29k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
From π to Pie charts
rasagy
0
180
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
So, you think you're a good person
axbom
PRO
2
2k
Claude Code のすすめ
schroneko
67
220k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
freee のエンジニアは障害から 何を学び、 どう改善しているのか? 43&/&95 ࡔҪֶ!NBOBCVTBLBJ
#srenextA
w GSFFFגࣜձࣾ43&ΤϯδχΞ w ͔ΒϓϨΠϯάϚωʔδϟʔ w ෳۀͰελʔτΞοϓͷٕज़ΞυόΠβʔ w 5XJUUFS (JU)VC w
!NBOBCVTBLBJ w ϒϩά w NBOBCVTBLBJEFW ࡔҪֶ .BOBCV4BLBJ
εϞʔϧϏδωεΛɺ ੈքͷओʹɻ .*44*0/ ੜ࢈ྸਓޱ͕ܶతʹݮগ͠ɺຫੑతͳਓखෆͱͳΔຊ Ͱ࿑ಇੜ࢈ੑ্ۓٸͷ՝ͱͳ͍ͬͯ·͢ɻ GSFFFʮਓೳʯͱʮ౷߹جװۀγεςϜʯΛΫϥυ ٕज़Λ׆༻͠ɺۀޮԽͷαϙʔτΛଓ͚Δ͜ͱͰɺதݎத খاۀͷόοΫΦϑΟεۀޮԽΛࢦ͍ͯ͠·͢ɻ
PRODUCTS
6 ۀ͔Β*10·Ͱɺதখاۀ׆ੑԽͷͨΊͷαʔϏεΛҰؾ௨؏Ͱఏڙ ձࣾ֓ཁ ❂ೲ੫͢Δ ⾭ҭͯΔ ↻ӡӦ͢Δ ✩͡ΊΔ ձࣾઃཱGSFFF ։ۀGSFFF ΫϥυձܭιϑτGSFFF
ਓࣄ࿑GSFFF ϚΠφϯόʔཧGSFFFؚΉ ΫϥυਃࠂGSFFF 161ԯ603ສԁ (ࢿຊ४උؚۚΉ) ैۀһ ࣄۀ༰ ΫϥυܕόοΫΦϑΟεαʔϏεͷ։ൃɾൢച ࢿຊۚ ઃཱ݄ 20127݄ 506໊ʢ20196݄࣌ʣ 2019ʮಇ͖͕͍ͷ͋Δձࣾʯ ϥϯΩϯά4Ґ
ར༻ࣄۀॴྦྷܭ ສ 2014.3 2015.3 2016.3 2017.3 2018.3 800,000 600,000 300,000
65,000 1,000,000 1,000,000
8 GSFFFͷϓϩμΫτͷಛ োʹͲ͏ཱ͔͖͔ͪͬͯͨʁ োͷֶͼΛͲ͏Ί͖͔ͯͨʁ ·ͱΊ ΞδΣϯμ
9 ʮোରԠʹ՝Λײ͍ͯ͡Δਓ͕ɺվળͷͨΊͷୈҰาΛ౿Έग़ͦ͏ͱ ࢥ͑ΔΑ͏ʹͳΔ͜ͱʯ GSFFFͰͷऔΓΈΛདʑʹ͓͠͠·͕͢·ͩ·ͩ՝͋Γ·͢ɻ ͥͻօ͞ΜͷऔΓΈڭ͍͑ͯͩ͘͞ ࠓͷΰʔϧ
GSFFFͷϓϩμΫτͷಛ 01 Section
11 w GSFFFͷϓϩμΫτl͓ۚzlਓzʹؔΘΔใ͕ଟ͍ w ձܭGSFFFݸਓࣄۀ๏ਓͷࡒใ w ਓࣄ࿑GSFFFैۀһͷݸਓใڅ༩ใ w ϚΠφϯόʔཧGSFFFैۀһͷϚΠφϯόʔใ GSFFFͷϓϩμΫτ͕ѻ͏ใ
12 w ձܭGSFFFిࢠܾࡁߦۀʹͨΔ w ۜߦ๏ʹجͮ͘ొ͕ඞཁͰۚ༥ிʹొࡁΈ w ࢠձࣾ GSFFFGJOBODFMBC ۚ༥αʔϏεࣄۀߦ͍ͬͯΔ w
্ʹΑͬͯϓϥΠϕʔτΧϯύχʔ͔ΒύϒϦοΫΧϯύχʔ Ҏલʹ૿ͯ͠ɺোʹରͯ͠ΑΓγϏΞͳରԠ͕ٻΊΒΕΔɻ ΑΓࣾձΠϯϑϥʹۙͮ͘
োθϩʹͰ͖ΔͩΖ͏͔ʁ
14 w GSFFFͷΑ͏ͳ4BB4ϏδωεʹͱͬͯϓϩμΫτͷਐԽ໋॓ w ৽͍͠ՁΛੜΈग़͢தͰࣦഊʢ㲈োʣආ͚ΒΕͳ͍ w όάͷͳ͍ϓϩάϥϜଘࡏ͠ͳ͍ w ਓ͕ӡ༻͢ΔݶΓώϡʔϚϯΤϥʔى͜Γ͏Δ w
FUD োΛड͚ೖΕͳ͕Β҆ఆͨ͠ϓϩμΫτͱ͍͏૬͢ΔͷΛࢦ ͢ɻ োΛθϩʹ͢Δ͜ͱ͍͠
োʹͲ͏ཱ͔͖͔ͪͬͯͨʁ 02 Section
16 w ΤϯδχΞਓ͘Β͍ w ໌֬ͳোରԠϑϩʔͳ͔ͬͨ w ϙετϞʔςϜͷΑ͏ͳυΩϡϝϯτ΄΅͍ͬͯͳ͍ w ൿͷίϚϯυͱ͍ͬͨ҉ w
ࠜຊతͳରࡦޙճ͠ʢػೳ։ൃͷํ͕༏ઌ͕ߴ͔ͬͨʣ w ελʔτΞοϓ͋Δ͋Δͳײ͡ w αʔϏεͷن͕খ͍͞͏ͪ͋·ΓʹͳΒͳ͍ ͕ࣗೖࣾͨ͠ࠒʢʣ
17 w ϓϩμΫτͷʹ߹Θͤͯ։ൃ৫͕֦େ w গͣͭ͠ϙετϞʔςϜΛॻ͘श׳͕͕Δ w ͱ͍͑ɺϑΥʔϚοτใͷཻόϥόϥ w ใࢄҳ (PPHMF%PDT
2JJUB5FBN $POGMVFODF w Өڹ͕খ͍͞ͱ໘Ͱॻ͔Εͳ͍͜ͱΑ͋ͬͨ͘ʜ ͜ͷࠒ·Ͱোରࡦͷֶͼ͕ݸਓʹͱͲ·Γଐਓతʹͳ͍ͬͯͨɻ ։ൃ৫ͷ֦େʢʣ
18 w 40$औಘʹ͚ͨ४උͷҰͰোରԠϑϩʔ͕ࡦఆ w োͷӨڹ߹͍ʹԠͯ͡ɺϨϕϧʙ·Ͱͷোఆٛ w FHʮ͘͝Ұ෦ͷࣄۀॴʹସखஈͰճආෆՄೳͳো͕ൃੜʯ w ࣈ͕େ͖͍ํ͕Өڹൣғ͕େ͖͍ɻϨϕϧۓٸটू w
োஅͷϒϨ͕ͳ͘ͳͬͨ w ϙετϞʔςϜͷϑΥʔϚοτ͕Ͱ͖ͨ͜ͱͰ࣭վળ 40$औಘʹ͚ͨ४උʢʣ
ͦͯ͠ʹ ࣄ݅ى͜Δ
None
21 w ͱ͋ΔΦϖϛε͕ݪҼͰো͕ى͖ɺσʔλෆ߹ͷՄೳੑ͕ൃ֮ w ͓٬༷ͷσʔλอޢΛ࠷༏ઌ͢ΔͨΊʹΉΛಘͣશαʔϏεఀࢭ w SFGIUUQTXXXGSFFFDPKQCMPH@JOGPSNBUJPOIUNM w ݄ʹ࣌ؒʹΓͯ͢ͷػೳ͕͑ͳ͍ঢ়ଶ w
GSFFFͷϓϩμΫτ݄݄ॳʹ࠷ར༻͞ΕΔ ͜ͷো͔Β͞·͟·ͳֶͼΛಘͯɺશࣾҰؙͱͳͬͯվળ͍ͯ͘͠ ݄ʹશαʔϏεఀࢭʢʣ
ͦͷҰ෦Λ͝հ
23 w 40$औಘʹ͚ͯඋͨ͠োରԠϑϩʔΛϒϥογϡΞοϓ w োൃੜ࣌ͷରԠʹ͍ͭͯͷlͯ͢zΛ·ͱΊͨυΩϡϝϯτΛ༻ҙ w ॳಈରԠ w োରԠʹ͓͚Δׂ w
ୂɺهɺ੍ࣨɺҙࢥܾఆऀͷॱং w ࢦشΛऔΔਓҙࢥܾఆऀखΛಈ͔͞ͳ͍ w ࣾ֎ίϛϡχέʔγϣϯ w ͞·͟·ͳརؔऀʹεϜʔζʹใΛୡ ୭͕ԿΛ͖͔͢໌֬ʹͨ͜͠ͱͰোରԠ͕εϜʔζʹɻ ରԠͷ໌֬Խ
24 w োൃੜ࣌ʹཧతʹू·ΕΔΤϦΞʮϒϦοδʯΛઃஔ w େܕσΟεϓϨΠϏσΦձٞγεςϜͳͲΛৗઃ w ো࣌ϒϦοδ͕ΤϯδχΞͷ࡞ઓجʹͳΔ w ใΛҰ͔ॴʹू͠ɺ෮چ·ͰऔΓΛ͢Δ w
ผʑͷॴͰ࡞ۀ͍ͯ͠ΔͱೝࣝͷζϨ͓ݟ߹͍͕ى͖͍͢ োରԠΤϦΞͷઃஔ
25 w ো͍࣌ͭͷߦಈ͕औΕͳ͍ͷͰɺॳಈΛͱʹ͔͘লྗԽ͢Δ w 4MBDLCPU8PSLGMPXͷ׆༻ w ϙετϞʔςϜͷࣗಈ࡞ w ("4ΛͬͨࣾࠂͷࣗಈԽ ॳಈͷলྗԽ
োͷֶͼΛͲ͏Ί͖͔ͯͨʁ 03 Section
27 w ʮࣦഊͯ͠߈ΊΑ͏ʯ w ֶͼͷ͋ΔࣦഊΛͯ͠࠷Ͱ͠Α͏ w ֶͼͷ͋ΔࣦഊͱνʔϜϓϩμΫτͷʹͭͳ͕Δࣦഊ w ֶͼͷ͋ΔࣦഊΛ͍ͯ͠ͳ͍ͷͷઓ͕Γͳ͍ ۀ͔࣌Βࣦഊ͔ΒֶͿͱ͍͏จԽ͕͍͍ࠜͯͨɻ
GSFFFͷ։ൃจԽ
28 w োͷֶͼΛ։ൃ৫શମʹڞ༗͢Δ w ى͖ͨࣄӨڹɺରࡦ༰ɺ͔ͦ͜ΒಘֶͨͼΛݐઃతʹڞ༗͢Δ w ൜ਓ୳͠ٴͷͰͳ͍ w ϙετϞʔςϜΛؔΘΓͷͳ͍ਓʹͬͯΒ͏ w
νʔϜͰͷোৼΓฦΓผ్ߦ͍ͬͯΔ w ো͕ͳ͔݄ͬͨʮण࢘KTʯʹͳΔ ࣦഊKT
29 w খ͞ͳ͕େ͖͘ͳΔલʹվળ͢Δ༗ࢤͷ׆ಈ w ܰඍͳώϠϦϋοτΛ์ஔ͢Δͱେ͖ͳʹൃల͢Δ w ि࣍Ͱ͘͘ձΛ։͖όοΫϩάΛফԽ͍ͯ͘͠ w ͔݄Ͱݸͷ͕ڍ͕Γɺ͏ͪʹݸ͕ղফࡁΈ w
ͯͳ͞ΜͷऔΓΈΛࢀߟʹͨ͠ w SFGׂΕ૭ཧΛ8FCΠϯϑϥͷվળʹ׆༻͠ɺνʔϜͷࣝڞ༗Λଅਐ͠ ͍ͯΔ ׂΕ૭Λվળ͠ୂ
30 w ۙिؒͷBMFSUΛৼΓฦΓɺϊϋΛڞ༗͢Δ׆ಈ w ϊΠδʔͳ௨͕૿͑ͨΓɺোରԠͷଐਓԽΛ͙ͷ͕త w ࠓ͔Β࢝Ίͨͱ͜Ζ w ଐਓతͳͷ͕໌֬ʹͳͬͨΓɺ৽ͨͳׂΕ૭͕ݟ͔ͭͬͨΓ͢Δ BMFSUΛৼΓฦΓୂ
·ͱΊ 04 Section
32 w ࣗͨͪͷ৫ϓϩμΫτʹ͋ͬͨোରԠϑϩʔΛ࡞Δ w ଞࣾͷਅࣅ͚ͩͩͱ͏·͍͔͘ͳ͍͔ w େ͖ͳোֶͼͷๅݿ w ͳ͍ʹӽͨ͜͠ͱͳ͍Ͱ͕͢ w
ো͔Βͷֶͼ͕ଐਓతʹͳΒͳ͍Α͏ʹ͢Δ w ࣦഊKT w ׂΕ૭Λվળ͠ୂ w BMFSUৼΓฦΓୂ ·ͱΊ
@manabusakai
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠