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
24k
GitHub Actions の self-hosted runner と Amazon EKS を使った Docker のビルドパイプライン / secure-docker-build-pipeline
manabusakai
0
2k
SaaS における EKS のシングルテナントクラスタ戦略とスポットインスタンス活用術 / EKS single-tenant cluster strategy and Spot Instances
manabusakai
0
6.9k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
24
8.5k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.6k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.1k
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.6k
Other Decks in Technology
See All in Technology
SQLによるオブザーバビリティの進化とClickHouseの実力
mikimatsumoto
0
160
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
1
710
ドメインと向き合う - 旅行予約編
hidenorigoto
4
540
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
1.2k
これはPerl? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
moznion
2
1.5k
Semantic Kernel の Agent 機能試してみた!
okazuki
1
120
【shownet.conf_】コンピューティング資源を統合した分散コンテナ基盤の進化
shownet
PRO
0
370
入門 バックアップ
ryuichi1208
18
6.4k
テストコードの品質を客観的な数値で担保しよう〜Mutation Testのすすめ〜
ysknsid25
10
2.9k
Pythonを活用したLLMによる構造的データ生成の手法と実践
brainpadpr
3
280
Causal Impactを用いたLINE Pay UIの効果検証とABテスト実施への貢献
lycorptech_jp
PRO
3
540
Hazard pointers with reference counter
ennael
PRO
0
120
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
Writing Fast Ruby
sferik
625
60k
Code Review Best Practice
trishagee
62
16k
Designing for Performance
lara
604
68k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
What's new in Ruby 2.0
geeforr
341
31k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
231
130k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
For a Future-Friendly Web
brad_frost
174
9.3k
KATA
mclloyd
27
13k
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠