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
8
19k
freee のエンジニアは障害から何を学び、どう改善しているのか? / What do freee engineers learn and improve from failures?
SRE NEXT 2020 の登壇資料です。
https://sre-next.dev/schedule/#a3
Manabu Sakai
January 25, 2020
Tweet
Share
More Decks by Manabu Sakai
See All by Manabu Sakai
アウトプットが切り拓いた自分のエンジニア人生 / Infra Study 2nd #8
manabusakai
0
28k
GitHub Actions の self-hosted runner と Amazon EKS を使った Docker のビルドパイプライン / secure-docker-build-pipeline
manabusakai
0
2.1k
SaaS における EKS のシングルテナントクラスタ戦略とスポットインスタンス活用術 / EKS single-tenant cluster strategy and Spot Instances
manabusakai
0
7.2k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
25
8.6k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.7k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.4k
freee のマイクロサービスを K8s + Go で組む! 短期プロジェクト成功の記録 / microservices-using-k8s-and-go
manabusakai
4
10k
Kubernetes 入門者が 3 か月で本番導入するためにやったこと / kubernetes-beginner
manabusakai
7
14k
バックオフィス全般をハックし続ける freee のカイゼンフロー / freee-kaizen-flow
manabusakai
2
8.9k
Other Decks in Technology
See All in Technology
NW運用の工夫と発明
recuraki
1
800
RDRA3.0を知ろう
kanzaki
2
440
単一Gitリポジトリから独立しました
lycorptech_jp
PRO
0
120
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
アプリケーションの中身が見える!Mackerel APMの全貌と展望 / Mackerel APMリリースパーティ
mackerelio
0
450
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.2k
AIとSREの未来 / AI and SRE
ymotongpoo
2
1.4k
從開發到架構設計的可觀測性實踐
philipz
0
120
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.2k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
8
65k
積み上げられた技術資産と向き合いながら、プロダクトの信頼性をどう守るか
plaidtech
PRO
0
960
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Six Lessons from altMBA
skipperchong
28
3.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
890
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Code Review Best Practice
trishagee
68
18k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
How to train your dragon (web standard)
notwaldorf
92
6k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠