$30 off During Our Annual Pro Sale. View Details »

NewsDigestの開発を支える足回り: CI/CDと障害対応

Tatch
September 30, 2021

NewsDigestの開発を支える足回り: CI/CDと障害対応

「BPStudy#169〜JX通信社を支える技術/速報サービスのエンジニアリングとチームのひみつ」でお話ししたものです

Tatch

September 30, 2021
Tweet

More Decks by Tatch

Other Decks in Programming

Transcript

  1. NewsDigestͷ։ൃΛࢧ͑Δ଍ճΓ
    CI / CDͱো֐ରԠ
    ฏ੉ ୡ໵

    View Slide

  2. ฏ੉ୡ໵!5BUDI/JDPMBT
    ೥͔Β+9௨৴ࣾɻ


    1ZUIPO(PͰαʔόαΠυ։ൃͨ͠Γɺ
    "84($1্Ͱ؀ڥ੔͑ͨΓͯ͠·͢ɻ
    ӳޠͱதࠃޠ͕ͪΐͬͱ͚ͩ࿩ͤ·͢ɻ
    ࣗݾ঺հ

    View Slide

  3. w ࿩͢͜ͱ
    w πʔϧ΍࢓૊Έͷ໨త
    w ͦͷഎܠʹ͋Δ+9ͷจԽ

    w ࿩͞ͳ͍͜ͱ
    w ݸผͷπʔϧͷ࢖͍ํ
    w αϯϓϧίʔυ
    ͸͡Ίʹ

    View Slide

  4. "HFOEB
    1. CI/C
    D

    1.1. ύΠϓϥΠϯ։࢝ɺͦͷલʹ
    1.2. σϓϩΠπʔϧ
    1.3. γʔΫϨοτ؅ཧ
    2. ো֐ରԠ
    2.1. ৘ใͷऩूͱ੔ཧ
    2.2. ରԠͷ඼࣭Λఈ্͛͢Δ޻෉

    View Slide

  5. εϐʔσΟͳ։ൃͷͨΊʹ
    $*$%
    1

    View Slide

  6. ύΠϓϥΠϯ։࢝ɺͦͷલʹ
    ίϛοτલͷ͋Ε͜ΕΛ࢓૊ΈͰकΔ
    w 1ZUIPOͷίʔυϑΥʔϚοτCMBDL
    w ϧʔϧ͕ݫ͘͠ɺઃఆͷ༨஍͕ͳ͍೰Ή༨஍΋ͳ͍
    w ͦΕͬͯ1ZUIPOJDͰ͸ʁ
    w 5IFSFTIPVMECFPOFBOEQSFGFSBCMZPOMZPOFPCWJPVTXBZUPEPJU

    ੿༁ͳΔ΂͘ɺ͋Δ͜ͱΛ੒͢ํ๏͸Ұ͚ͭͩͰ͋Δ΂͖

    w ίϛοτલͷࣗಈద༻QSFDPNNJU
    w $*Ͱ΋νΣοΫ͸ͯ͠Δ͕ɺͦΕͰ1JQFMJOF͕͚͜Δͷ͸࣌ؒͷແବ
    w ϩʔΧϧ؀ڥͷγʔΫϨοτ؅ཧUFMMFSHJUTFDSFU

    View Slide

  7. ύΠϓϥΠϯ։࢝ɺͦͷલʹ
    ίϛοτલͷ͋Ε͜ΕΛ࢓૊ΈͰकΔ UFMMFS

    View Slide

  8. σϓϩΠπʔϧ
    044ͷྗΛआΓͯ$*ఆٛͷهड़ྔΛݮΒ͢
    w &$4FDTQSFTTP
    w طଘͷ&$4αʔϏεΛΠϯϙʔτͯ͠ಋೖͰ͖Δ
    w -BNCEBTFSWFSMFTTGSBNFXPSL
    w ෳ਺؀ڥͷઃఆ΋ͭͷ:".-ϑΝΠϧͰ׬݁͢Δ
    "84$-*Λͦͷ··࢖͏ΑΓ΋ந৅౓͕ߴ͍

    View Slide

  9. σϓϩΠͷݖݶ؅ཧ
    Ұ࣌తͳݖݶΛ࡞ͬͯ͸ফ͢
    w 7BVMU
    w "84Λ$*͔Β৮ΔݖݶΛूத؅ཧ
    w *".ϢʔβͷҰ࣌ൃߦ͕Ͱ͖Δ

    View Slide

  10. σϓϩΠͷݖݶ؅ཧ
    Ұ࣌తͳݖݶΛ࡞ͬͯ͸ফ͢
    w (JU-BC$*
    w QSFQPTUಛघͳεςʔδɺඞͣ࠷ॳͱ࠷ޙʹಈ͘
    w ύΠϓϥΠϯ࣮ߦ࣌ʹ+85Λൃߦͯ͠ɺ7BVMUʹೝূΛ௨ͤΔ
    w ʮ͜ͷϦϙδτϦ͸ɺ͜ͷ"84ΞΧ΢ϯτͷɺ͜ͷݖݶηοτͶʯ

    View Slide

  11. ߈Ί΋कΓ΋
    ো֐ରԠ
    2

    View Slide

  12. ৘ใͷऩूͱ੔ཧ
    ৘ใͷछྨʹΑͬͯπʔϧΛ࢖͍෼͚Δ
    w ઐ༻ͷ࢖͍ࣺͯ4MBDLνϟϯωϧ
    w /PUJPOʹΑΔλεΫ؅ཧɾه࿥

    View Slide

  13. ৘ใͷऩूͱ੔ཧ
    ઐ༻ͷ࢖͍ࣺͯ4MBDLνϟϯωϧ
    • #incident-2021-09-30-database-slow-respons
    e

    w ϝϦοτ
    w ো֐νϟϯωϧ͕࡞੒͞Εͯট଴͞ΕΔʮΉΉɺԿ͔͋ͬͨͳʯ
    w ΞʔΧΠϒ͞ΕΔղܾͨ͠ͱ͍͏ϚʔΫʹͳΔ
    w ॻ͖ԥΓ΍͍ࣗ͢વͱ࣌ܥྻʹͳΔ
    w σϝϦοτ
    w ࣌ܥྻͰ͸͋Δ͕ɺ࿩୊͕ೋసࡾసͯ͠৘ใͷ·ͱ·Γ͕ͳ͍
    w ฒߦͯ͠ಈ͍ͯΔௐࠪɾ࡞ۀͷશମ૾͕ݟ͑ʹ͍͘

    View Slide

  14. ৘ใͷऩूͱ੔ཧ
    /PUJPOͰ৘ใ੔ཧͱλεΫͷ؅ཧ
    w ͲΜͳো֐Ͱ΋ඞͣ΍Δ͜ͱΛνΣοΫϘοΫεʹ͢Δ
    w SVOCPPL΍खॱॻΑΓ΋େ͖Ίͷཻ౓
    w ॳಈɾऴྃ࣌ͷಈ͖͕த৺
    w ྫ
    νϟϯωϧ࡞੒ؔ܎ऀ࿈བྷӨڹൣғ֬ೝ
    w ਐߦதͷௐࠪɾ࡞ۀλεΫΛΧϯόϯͰ؅ཧ
    w ʮ֬ఆɾ࠷৽৘ใʯ͕ཷ·͍ͬͯ͋͘ͱͰͦͷ··ݟฦͤΔࢿྉʹͳΔ
    w ޙ͔Βདྷͨਓʹͱͬͯ͸ʮࠓ͖ͨɺࡾߦͰঢ়گڭ͑ͯʯʹͳΔ

    View Slide

  15. ৘ใͷऩूͱ੔ཧ
    /PUJPOͰ৘ใ੔ཧͱλεΫͷ؅ཧ

    View Slide

  16. ରԠͷ඼࣭Λఈ্͛͢Δ޻෉
    ʮ΋͠ɺଞͷਓ͕౰ͨͬͨΒྨࣅ͕ൃੜͨ͠Βʜʯ
    w ো֐ରԠ͕ऴΘͬͨ࣌఺Ͱɺ/PUJPO্ʹͦͦ͜͜੔ཧ͞Ε͍ͯΔ
    w ྨࣅͷো֐Λ๷͙ىͬͨ͜ͱ͖ʹରԠ͢ΔͷώϯτʹͳΔ
    w ϙετϞʔςϜ
    w ۩ମతͳো֐ͷݪҼɾ߃ٱରԠ
    w ো֐ରԠͦͷ΋ͷʹ͍ͭͯͷվળ
    w ʮ΍ͬͺΓॳಈͷ͜͜ม͑·ͤΜʁʯʮղࢄલʹ99ͨ͠΄͏͕Αͦ͞͏ʁʯ
    w νʔϜͱͯ͠ςϯϓϨΛҭ͍ͯͯ͘จԽʹ

    View Slide

  17. ·ͱΊ
    εϐʔυ͕ٻΊΒΕΔνʔϜ͔ͩΒͦ͜ɺ
    ʮߟ͑ͳ͍Ͱ͍͍͜ͱʯΛ಄͔ΒͲΜͲΜ௥͍ग़͢

    View Slide

  18. 5IBOL:PV

    View Slide