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
26k
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
7k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
24
8.5k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.7k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.2k
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.7k
Other Decks in Technology
See All in Technology
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
140
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
460
AWS re:Invent 2024 recap in 20min / JAWSUG 千葉 2025.1.14
shimy
1
100
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
6
710
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
190
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
190
FODにおけるホーム画面編成のレコメンド
watarukudo
PRO
2
240
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
150
コロプラのオンボーディングを採用から語りたい
colopl
5
940
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
160
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
240
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
110
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Mobile First: as difficult as doing things right
swwweet
222
9k
RailsConf 2023
tenderlove
29
970
Building Applications with DynamoDB
mza
93
6.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
Embracing the Ebb and Flow
colly
84
4.5k
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠