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
NewsDigestの開発を支える足回り: CI/CDと障害対応
Search
Tatch
September 30, 2021
Programming
1
580
NewsDigestの開発を支える足回り: CI/CDと障害対応
「BPStudy#169〜JX通信社を支える技術/速報サービスのエンジニアリングとチームのひみつ」でお話ししたものです
Tatch
September 30, 2021
Tweet
Share
More Decks by Tatch
See All by Tatch
pyconjp2021-locust
tatchnicolas
2
6.2k
dynamic-environment-setup-and-teardown-with-gitlab-and-k8s
tatchnicolas
1
6.4k
Other Decks in Programming
See All in Programming
Runtime Objects in Rust
mitsuhiko
0
210
TypeScriptコードの漸進的改善 / Progressive Improvement of TypeScript Code
medley
1
420
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
550
Adding Security to Microcontroller Ruby
sylph01
0
140
CQRS meets modern Java
simas
PRO
2
470
Timeline エディター拡張入門
yucchiy
0
440
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
510
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
170
Going beyond Apache Parquet's default settings
xhochy
0
150
Three ways to use AI on Android: The Good, the Bad and the Ugly
marxallski
0
120
Try creating your own orderedmap
kazamori
1
280
AppRouter Panel Talk
yosuke_furukawa
PRO
1
520
Featured
See All Featured
Designing for humans not robots
tammielis
247
25k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
We Have a Design System, Now What?
morganepeng
43
6.8k
Adopting Sorbet at Scale
ufuk
69
8.6k
Web development in the modern age
philhawksworth
203
10k
4 Signs Your Business is Dying
shpigford
176
21k
Teambox: Starting and Learning
jrom
128
8.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Atom: Resistance is Futile
akmur
260
25k
A better future with KSS
kneath
231
16k
For a Future-Friendly Web
brad_frost
172
9k
Transcript
NewsDigestͷ։ൃΛࢧ͑ΔճΓ CI / CDͱোରԠ ฏ ୡ
ฏୡ!5BUDI/JDPMBT ͔Β+9௨৴ࣾɻ 1ZUIPO(PͰαʔόαΠυ։ൃͨ͠Γɺ "84($1্Ͱڥ͑ͨΓͯ͠·͢ɻ ӳޠͱதࠃޠ͕ͪΐͬͱ͚ͩͤ·͢ɻ ࣗݾհ
w ͢͜ͱ w πʔϧΈͷత w ͦͷഎܠʹ͋Δ+9ͷจԽ w ͞ͳ͍͜ͱ w
ݸผͷπʔϧͷ͍ํ w αϯϓϧίʔυ ͡Ίʹ
"HFOEB 1. CI/C D 1.1. ύΠϓϥΠϯ։࢝ɺͦͷલʹ 1.2. σϓϩΠπʔϧ 1.3. γʔΫϨοτཧ
2. োରԠ 2.1. ใͷऩूͱཧ 2.2. ରԠͷ࣭Λఈ্͛͢Δ
εϐʔσΟͳ։ൃͷͨΊʹ $*$% 1
ύΠϓϥΠϯ։࢝ɺͦͷલʹ ίϛοτલͷ͋Ε͜ΕΛΈͰकΔ w 1ZUIPOͷίʔυϑΥʔϚοτCMBDL w ϧʔϧ͕ݫ͘͠ɺઃఆͷ༨͕ͳ͍Ή༨ͳ͍ w ͦΕͬͯ1ZUIPOJDͰʁ w 5IFSFTIPVMECFPOFBOEQSFGFSBCMZPOMZPOFPCWJPVTXBZUPEPJU
༁ͳΔ͘ɺ͋Δ͜ͱΛ͢ํ๏Ұ͚ͭͩͰ͋Δ͖ w ίϛοτલͷࣗಈద༻QSFDPNNJU w $*ͰνΣοΫͯ͠Δ͕ɺͦΕͰ1JQFMJOF͕͚͜Δͷ࣌ؒͷແବ w ϩʔΧϧڥͷγʔΫϨοτཧUFMMFS HJUTFDSFU
ύΠϓϥΠϯ։࢝ɺͦͷલʹ ίϛοτલͷ͋Ε͜ΕΛΈͰकΔ UFMMFS
σϓϩΠπʔϧ 044ͷྗΛआΓͯ$*ఆٛͷهड़ྔΛݮΒ͢ w &$4FDTQSFTTP w طଘͷ&$4αʔϏεΛΠϯϙʔτͯ͠ಋೖͰ͖Δ w -BNCEBTFSWFSMFTTGSBNFXPSL w ෳڥͷઃఆͭͷ:".-ϑΝΠϧͰ݁͢Δ
"84$-*Λͦͷ··͏ΑΓந͕ߴ͍
σϓϩΠͷݖݶཧ Ұ࣌తͳݖݶΛ࡞ͬͯফ͢ w 7BVMU w "84Λ$*͔Β৮ΔݖݶΛूதཧ w *".ϢʔβͷҰ࣌ൃߦ͕Ͱ͖Δ
σϓϩΠͷݖݶཧ Ұ࣌తͳݖݶΛ࡞ͬͯফ͢ w (JU-BC$* w QSFQPTUಛघͳεςʔδɺඞͣ࠷ॳͱ࠷ޙʹಈ͘ w ύΠϓϥΠϯ࣮ߦ࣌ʹ+85Λൃߦͯ͠ɺ7BVMUʹೝূΛ௨ͤΔ w ʮ͜ͷϦϙδτϦɺ͜ͷ"84ΞΧϯτͷɺ͜ͷݖݶηοτͶʯ
߈ΊकΓ োରԠ 2
ใͷऩूͱཧ ใͷछྨʹΑͬͯπʔϧΛ͍͚Δ w ઐ༻ͷ͍ࣺͯ4MBDLνϟϯωϧ w /PUJPOʹΑΔλεΫཧɾه
ใͷऩूͱཧ ઐ༻ͷ͍ࣺͯ4MBDLνϟϯωϧ • #incident-2021-09-30-database-slow-respons e w ϝϦοτ w োνϟϯωϧ͕࡞͞Εͯট͞ΕΔʮΉΉɺԿ͔͋ͬͨͳʯ w
ΞʔΧΠϒ͞ΕΔղܾͨ͠ͱ͍͏ϚʔΫʹͳΔ w ॻ͖ԥΓ͍͢ ࣗવͱ࣌ܥྻʹͳΔ w σϝϦοτ w ࣌ܥྻͰ͋Δ͕ɺ͕ೋసࡾసͯ͠ใͷ·ͱ·Γ͕ͳ͍ w ฒߦͯ͠ಈ͍ͯΔௐࠪɾ࡞ۀͷશମ૾͕ݟ͑ʹ͍͘
ใͷऩूͱཧ /PUJPOͰใཧͱλεΫͷཧ w ͲΜͳোͰඞͣΔ͜ͱΛνΣοΫϘοΫεʹ͢Δ w SVOCPPLखॱॻΑΓେ͖Ίͷཻ w ॳಈɾऴྃ࣌ͷಈ͖͕த৺ w ྫ
νϟϯωϧ࡞ؔऀ࿈བྷӨڹൣғ֬ೝ w ਐߦதͷௐࠪɾ࡞ۀλεΫΛΧϯόϯͰཧ w ʮ֬ఆɾ࠷৽ใʯ͕ཷ·͍ͬͯ͋͘ͱͰͦͷ··ݟฦͤΔࢿྉʹͳΔ w ޙ͔Βདྷͨਓʹͱͬͯʮࠓ͖ͨɺࡾߦͰঢ়گڭ͑ͯʯʹͳΔ
ใͷऩूͱཧ /PUJPOͰใཧͱλεΫͷཧ
ରԠͷ࣭Λఈ্͛͢Δ ʮ͠ɺଞͷਓ͕ͨͬͨΒྨࣅ͕ൃੜͨ͠Βʜʯ w োରԠ͕ऴΘͬͨ࣌Ͱɺ/PUJPO্ʹͦͦ͜͜ཧ͞Ε͍ͯΔ w ྨࣅͷোΛ͙ىͬͨ͜ͱ͖ʹରԠ͢ΔͷώϯτʹͳΔ w ϙετϞʔςϜ w ۩ମతͳোͷݪҼɾ߃ٱରԠ
w োରԠͦͷͷʹ͍ͭͯͷվળ w ʮͬͺΓॳಈͷ͜͜ม͑·ͤΜʁʯʮղࢄલʹ99ͨ͠΄͏͕Αͦ͞͏ʁʯ w νʔϜͱͯ͠ςϯϓϨΛҭ͍ͯͯ͘จԽʹ
·ͱΊ εϐʔυ͕ٻΊΒΕΔνʔϜ͔ͩΒͦ͜ɺ ʮߟ͑ͳ͍Ͱ͍͍͜ͱʯΛ಄͔ΒͲΜͲΜ͍ग़͢
5IBOL:PV