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
660
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.6k
dynamic-environment-setup-and-teardown-with-gitlab-and-k8s
tatchnicolas
1
6.9k
Other Decks in Programming
See All in Programming
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
Alba: Why, How and What's So Interesting
okuramasafumi
0
210
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
390
return文におけるstd::moveについて
onihusube
1
1.4k
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
940
為你自己學 Python
eddie
0
520
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
Flatt Security XSS Challenge 解答・解説
flatt_security
0
730
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
ErdMap: Thinking about a map for Rails applications
makicamel
1
630
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Side Projects
sachag
452
42k
Music & Morning Musume
bryan
46
6.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Speed Design
sergeychernyshev
25
740
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Raft: Consensus for Rubyists
vanstee
137
6.7k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
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