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
20k
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
29k
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.4k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
25
8.7k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.8k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.5k
freee のマイクロサービスを K8s + Go で組む! 短期プロジェクト成功の記録 / microservices-using-k8s-and-go
manabusakai
4
11k
Kubernetes 入門者が 3 か月で本番導入するためにやったこと / kubernetes-beginner
manabusakai
7
14k
バックオフィス全般をハックし続ける freee のカイゼンフロー / freee-kaizen-flow
manabusakai
2
9.1k
Other Decks in Technology
See All in Technology
CREが作る自己解決サイクルSlackワークフローに組み込んだAIによる社内ヘルプデスク改革 #cre_meetup
bengo4com
0
330
Observability — Extending Into Incident Response
nari_ex
1
250
OCIjp_Oracle AI World_Recap
shinpy
1
180
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
180
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
360
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
150
Linux カーネルが支えるコンテナの仕組み / LF Japan Community Days 2025 Osaka
tenforward
1
120
AIエージェント入門 〜基礎からMCP・A2Aまで〜
shukob
1
170
初めてのDatabricks Apps開発
taka_aki
1
370
事業開発におけるDify活用事例
kentarofujii
5
1.4k
IoTLT@ストラタシスジャパン_20251021
norioikedo
0
130
AIプロダクトのプロンプト実践テクニック / Practical Techniques for AI Product Prompts
saka2jp
0
110
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
431
66k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
How to Ace a Technical Interview
jacobian
280
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Six Lessons from altMBA
skipperchong
29
4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Build your cross-platform service in a week with App Engine
jlugia
233
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠