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
740
NewsDigestの開発を支える足回り: CI/CDと障害対応
「BPStudy#169〜JX通信社を支える技術/速報サービスのエンジニアリングとチームのひみつ」でお話ししたものです
Tatch
September 30, 2021
Tweet
Share
More Decks by Tatch
See All by Tatch
pyconjp2021-locust
tatchnicolas
3
6.9k
dynamic-environment-setup-and-teardown-with-gitlab-and-k8s
tatchnicolas
1
7.3k
Other Decks in Programming
See All in Programming
Model Pollution
hschwentner
1
190
dynamic!
moro
9
6.7k
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
350
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
170
CSC509 Lecture 02
javiergs
PRO
0
410
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
150
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.6k
Cloudflare AgentsとAI SDKでAIエージェントを作ってみた
briete
0
120
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
930
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
240
Featured
See All Featured
The Language of Interfaces
destraynor
162
25k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Writing Fast Ruby
sferik
629
62k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Unsuck your backbone
ammeep
671
58k
Bash Introduction
62gerente
615
210k
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