Slide 1

Slide 1 text

גࣜձࣾ FiNC Technologies Kenji Suzuki ϚΠΫϩαʔϏεʹ͓͚Δ ࠷ߴͷ%9Λ໨ࢦͯ͠

Slide 2

Slide 2 text

• Kenji Suzuki • FiNC Technologies • Engineering Manager • SREάϧʔϓ • ٕज़ਪਐάϧʔϓ • ೖࣾ4೥͘Β͍ 8IPBN*

Slide 3

Slide 3 text

େن໛ʹ੒௕͍ͯ͘͠ϚΠΫϩαʔϏεΛ ؾ࣋ͪΑ͘։ൃɾӡ༻͢ΔͨΊʹͲ͏ͨ͠Βྑ͍͔ 5PEBZ`5BML

Slide 4

Slide 4 text

• ϚΠΫϩαʔϏε vs ϞϊϦε • ϚΠΫϩαʔϏεͲ͏΍ͬͯ੾Δʁ ࠓ೔࿩͞ͳ͍͜ͱ

Slide 5

Slide 5 text

• DX(Developer Experience)ͬͯԿʁ • Microservicesʹ͍ͭͯ • Microservicesʹ͓͚ΔDXʹ͍ͭͯߟ͑Δ • Microservicesʹ͓͚ΔDXΛྑ͘͢ΔͨΊʹ͸ "HFOEB

Slide 6

Slide 6 text

DX(Developer Experience)ͬͯԿʁ

Slide 7

Slide 7 text

• ։ൃऀମݧ • ؾ࣋ͪΑ͘։ൃ͕Ͱ͖͍ͯΔ͔Ͳ͏͔ʁ %9 %FWFMPQFS&YQFSJFODF ͱ͸ʁ

Slide 8

Slide 8 text

• ؾ͕࣋ͪྑ͍։ൃͷҰྫ • γεςϜશମͷݟ௨͕͠ྑ͍ɾ࠷৽ͷυΩϡϝϯτ͕ἧ͍ͬͯΔ • ίʔυͷ඼࣭͕ྑ͍ • ٕज़ෛ࠴͕গͳ͍ɺ·ͨ͸ద੾ʹ؅ཧ͞Ε͍ͯΔ • ςετ΍σϓϩΠΛߴ଎ʹߦ͏͜ͱ͕Ͱ͖Δ • ϥΠϒϥϦ΍ϑϨʔϜϫʔΫͷόʔδϣϯ͕ਖ਼͘͠؅ཧ͞Ε͍ͯΔ • ͳͲͳͲ %9͕ྑ͍ͱ͸ʁ

Slide 9

Slide 9 text

• ։ൃʹ༨༟͕ੜ·ΕΔ • ඇػೳཁ݅ʹ΋ख͕Ճ͑ΒΕΔ • ϦϑΝΫλϦϯάɾϦΞʔΩςΫτ͕͠΍͘͢ͳΔ • ۓٸͰ͸ͳ͍͕ॏཁͳ͜ͱʹ໨͕޲͘Α͏ʹͳΔ %9͕ྑ͍ͱͲ͏ͳΔʁ

Slide 10

Slide 10 text

• DX͕ྑ͍ঢ়ଶͰ͋Ε͹(։ൃʹ༨༟͕͋Ε͹) • ͞Βʹ։ൃ͕ؾ࣋ͪΑ͘ͳΔ׆ಈʹ࣌ؒΛׂ͚ΔΑ͏ʹͳΔ • ݁ՌతʹDX͸͞ΒʹΑ͘ͳΔ %9͸εύΠϥϧ

Slide 11

Slide 11 text

• DX͕ྑ͘ͳ͍ɺ΋͘͠͸Կ΋ߟ͍͑ͯͳ͍৔߹ • Կ΋ͯ͠ͳ͚Ε͹ѱԽ͢Δ • ྫ • ࠷৽ͷυΩϡϝϯτ͕ἧ͍ͬͯΔʁ • ϥΠϒϥϦ͸ద੾ʹόʔδϣϯΞοϓ͞Ε͍ͯΔʁ %9͸εύΠϥϧ

Slide 12

Slide 12 text

%9Ͱେࣄͳͷ͸ܧଓతҡ࣋׆ಈ

Slide 13

Slide 13 text

Microservicesʹ͍ͭͯ

Slide 14

Slide 14 text

େ͖ͳγεςϜΛɺখ͘͞ɺҰͭͷ໾ׂʹ෼ׂͨ͠΋ͷ 8IBUJT.JDSPTFSWJDFT

Slide 15

Slide 15 text

• ٕज़ಛҟੑ • ճ෮ੑ • εέʔϦϯά • ૊৫ͷҰக • ߹੒Մೳੑ • ͳͲͳͲ .FSJUTPG.JDSPTFSWJDFT

Slide 16

Slide 16 text

8IZ'J/$BEPQU.JDSPTFSWJDFT

Slide 17

Slide 17 text

ΧϥμͷશͯΛҰͭͷΞϓϦͰɻ ͱ͍͏ίϯηϓτ͕͏·͘͸·ͬͨ ϚΠΫϩαʔϏεͱඇৗʹ૬ੑ͕ྑ͘ɺ ৽ػೳΛߴ଎ͰϦϦʔε͖ͯͨ͠ UP$ΞϓϦ ೝূαʔϏε &$αΠτ "*ػೳ Ϋʔϙϯ ΢ΣΞϥϒϧ Ϩίϝϯυ ϥΠϑϩά 4/4ػೳ νϟοτ UP#αΠτ ϙΠϯτ αϓϦϝϯτ

Slide 18

Slide 18 text

ଟ͘ͷΞϓϦΛ։ൃɾӡ༻͍ͯ͠Δ ࢟੎෼ੳ &$αΠτ ؅ཧऀը໘ Ϣʔβʔ ϩʔϧ؅ཧ ৯ࣄղੳ ϓϨϛΞϜձһ ݈อαʔϏε UP$ΞϓϦ #'' νϟοτ ϥΠϑϩά UP#αΠτ ௨஌αʔϏε 4/4ػೳ ίϯςϯπ؅ཧ Ϣʔβʔ άϧʔϓ؅ཧ "*Ϩίϝϯυ ϓογϡ௨஌ UP$΢Σϒ ܾࡁ า਺Πϕϯτ νϡʔτϦΞϧ ϙΠϯτ؅ཧ ೝূج൫

Slide 19

Slide 19 text

Microservicesʹ͓͚ΔDXʹ͍ͭͯߟ͑Δ

Slide 20

Slide 20 text

.JDSPTFSWJDFTͱ%9ͷ૬ੑ MicroservicesΛ࠾༻͢ΔͱDXʹͲͷΑ͏ͳӨڹ͕͋Δ͔ʁ

Slide 21

Slide 21 text

ྑͦ͞͏ʹݟ͑Δ • γεςϜΛখ͘͞ΩʔϓͰ͖ΔͷͰҎԼͷ͜ͱ͕΍Γ΍͘͢ͳΔ • γεςϜશମͷݟ௨͕͠ྑ͍ɾ࠷৽ͷυΩϡϝϯτ͕ἧ͍ͬͯΔ • ίʔυͷ඼࣭͕ྑ͍ • ٕज़ෛ࠴͕গͳ͍ɺ·ͨ͸ద੾ʹ؅ཧ͞Ε͍ͯΔ • ςετ΍σϓϩΠΛߴ଎ʹߦ͏͜ͱ͕Ͱ͖Δ • ϥΠϒϥϦ΍ϑϨʔϜϫʔΫͷόʔδϣϯ͕ਖ਼͘͠؅ཧ͞Ε͍͍ͯΔ

Slide 22

Slide 22 text

৽نػೳͷ্ཱͪ͛ʹ͍ͭͯ͸͞ΒʹྗΛൃش͢Δ • DX͸طଘͷγεςϜͷෛ࠴ʹେ͖͘ҾͬுΒΕΔͷͰ • ৽نػೳΛϚΠΫϩαʔϏεͰ্ཱͪ͛Δͷ͸ඇৗʹྑ͍ • ͍͍ͩͨ3ഒ͘Β͍ͷεϐʔυͰ͍͚Δ(౰ࣾൺ)

Slide 23

Slide 23 text

αʔϏε։ൃମ੍ʹ͍ͭͯ΋͏Ұ౓ߟ͑௚ͯ͠Έ͍ͨ ྑͦ͞͏ʹݟ͑Δͷ͕ͩ

Slide 24

Slide 24 text

• DXͷର৅ऀ͸୭͔ʁ • ϚΠΫϩαʔϏεʹ͓͚Δڵຯͷൣғ ࠶ߟ͢Δ؍఺

Slide 25

Slide 25 text

DX = Developer Experience? %9ͷର৅ऀ͸୭͔ʁ

Slide 26

Slide 26 text

։ൃαΠΫϧʹ͸ଟ͘ͷొ৔ਓ෺͕͍Δ %FWFMPQFS 2" 3FMFBTF .BJOUFOBODF 4FDVSJUZ

Slide 27

Slide 27 text

'J/$5FDIOPMPHJFTͷνʔϜߏ੒ %FWFMPQFS 2" 43&4FDVSJUZ 2" 2" %FWFMPQFS %FWFMPQFS %FWFMPQFS %FWFMPQFS %FWFMPQFS

Slide 28

Slide 28 text

%9%FW5FTU4FD0QT&YQFSJFODF ͱͯ͠ߟ͍͑ͨ

Slide 29

Slide 29 text

ϚΠΫϩαʔϏεͷڵຯͷൣғ • Dev/Test/Sec/Ops ͳͲͦΕͧΕͷཱ৔Ͱڵຯͷൣғ͕ҟͳΔ • ҰͭͷϚΠΫϩαʔϏεͷൣғ • ͍͔ͭ͘ͷϚΠΫϩαʔϏεΛԣஅͨ͠ൣғ • γεςϜશମ

Slide 30

Slide 30 text

• ͋ΔػೳΛ։ൃ͢Δͱ͖ʹɺখ ͘͞ݟ௨͠ͷΑ͍Ұͭͷൣғʹ ूத͍ͨ͠ • ͋ΔػೳΛ։ൃ͢Δͱ͖ʹɺෳ ਺ͷΞϓϦέʔγϣϯʹखΛՃ ͑ͨ͘ͳ͍ • ଞͷ։ൃ΍ɺӡ༻ͷ౎߹Ͱαʔ Ϗε։ൃ଎౓Λམͱͨ͘͠ͳ͍ %FWFMPQFS 2" 43&4FDVSJUZ 2" 2" %FWFMPQFS %FWFMPQFS %FWFMPQFS %FWFMPQFS %FWFMPQFS ҰͭͷϚΠΫϩαʔϏε

Slide 31

Slide 31 text

%FWFMPQFS 2" 43&4FDVSJUZ 2" 2" %FWFMPQFS %FWFMPQFS %FWFMPQFS %FWFMPQFS %FWFMPQFS ͍͔ͭ͘ͷϚΠΫϩαʔϏε • ϦϦʔε୯ҐͰ੔߹ੑΛ୲อ͠ ͍ͨ • ೝূج൫ͳͲɺଟ͘ͷϚΠΫϩ αʔϏε͔Βґଘ͞ΕΔ΋ͷʹ ͍ͭͯ͸ଞͷϚΠΫϩαʔϏε ͷؔ৺͝ͱʹͳΒ͟ΔΛ͑ͳ͍

Slide 32

Slide 32 text

%FWFMPQFS 2" 43&4FDVSJUZ 2" 2" %FWFMPQFS %FWFMPQFS %FWFMPQFS %FWFMPQFS %FWFMPQFS γεςϜશମ • ڞ௨Ͱ࢖༻͢ΔΠϯϑϥج൫ • γεςϜશମʹ͓͚Δ୯Ұো֐ ఺ͷഉআ • γεςϜશମͷηΩϡϦςΟϨ ϕϧ͸Ұ൪௿͍ͱ͜Ζʹ͋ͬͯ ͠·͏

Slide 33

Slide 33 text

%9%FW5FTU4FD0QT&YQFSJFODF ͱͨ͠৔߹ɺͲͷΑ͏ͳ໰୊͕ݟ͑ͯ͘Δ͔ʁ

Slide 34

Slide 34 text

ҟͳΔؔ৺ͷൣғͰɺҟͳΔΠϯηϯςΟϒ %FWFMPQFS 43&4FDVSJUZ ϚΠΫϩαʔϏεຖʹҟͳΔ ݴޠΛબ୒͍ͨ͠ ։ൃऀͷಘҙͳݴޠΛબ୒Ͱ ͖ΔͷͰ։ൃ͕଎౓޲্͢Δ ࠾༻͢Δݴޠͷ਺͚ͩηΩϡ ϦςΟύονͷରԠ͕ඞཁ ࠾༻͢Δݴޠͷ਺͚ͩOpsʹ ӡ༻஌͕ࣝඞཁ ͢΂ͯͷ։ൃݴޠΛἧ͍͑ͨ

Slide 35

Slide 35 text

ϚΠΫϩαʔϏεଆʁڞ௨ج൫ଆʁ • ྫ͑͹ɺCI/CDͷઃఆ • αʔϏεػೳͰ͸ͳ͍͕ඞཁͳίϯϙʔωϯτ αʔϏεͷػೳ͡Όͳ͍͔Β γεςϜશମͱͯ͠ͷڞ௨ػ ೳͱͯ͠ఏڙͯ͠΄͍͠ Ϗϧυखॱ΍ϦϦʔεखॱʹ ͍ͭͯ΋ΧελϚΠζ͍ͨ͠ ͷͰɺ֤ϚΠΫϩαʔϏεຖ ʹ΍ΓํΛܾΊ͍ͨ Ϗϧυํ๏ʹमਖ਼͕͋ͬͨ৔ ߹ʹɺϚΠΫϩαʔϏεͷݸ ਺෼࡞ۀ͢Δͷ͸ਏ͍ͷͰڞ ௨ͰҰͭͷγεςϜʹ͍ͨ͠

Slide 36

Slide 36 text

େن໛ԽʹΑΔෳࡶੑͷ૿Ճ • ෳ਺ͷϚΠΫϩαʔϏεʹ·͕ͨΔΑ͏ͳػೳͷ։ൃ • ҶͮΔతʹμ΢ϯͨ͠αʔϏεͷݪҼಛఆͷࠔ೉͞ • ϚΠΫϩαʔϏε͕૿͑Ε͹૿͑Δ΄Ͳෳࡶੑ͕૿͢ 4FSWJDF 4FSWJDF 4FSWJDF

Slide 37

Slide 37 text

େن໛ԽʹΑΔ։ൃɾ2"؀ڥͷߏங೉қ౓Ξοϓ • ෳ਺ͷαʔϏεΛ্্ཱͪ͛ͨͰͷಈ࡞֬ೝ͕ඞཁ • σʔλ΋෼ࢄ͍ͯ͠ΔͷͰ੔߹ੑͷऔΕͨσʔληοτ͕ඞཁ ࢟੎෼ੳ &$αΠτ ؅ཧऀը໘ Ϣʔβʔ ϩʔϧ؅ཧ ৯ࣄղੳ ϓϨϛΞϜ ձһ ݈อαʔϏ ε UP$ΞϓϦ #'' νϟοτ ϥΠϑϩά UP#αΠτ ௨஌αʔϏ ε 4/4ػೳ ίϯςϯπ ؅ཧ Ϣʔβʔ άϧʔϓ؅ཧ "*Ϩίϝϯυ ϓογϡ௨ ஌ UP$΢Σϒ ܾࡁ า਺Πϕϯτ νϡʔτϦ Ξϧ ϙΠϯτ؅ཧ ೝূج൫

Slide 38

Slide 38 text

ϚΠΫϩαʔϏεͳΒͰ͸ͷ޻਺֦େ • ྫ͑͹શϚΠΫϩαʔϏεͷηΩϡϦςΟύον • ୯७ʹಉ͡࡞ۀΛԿेճ΋͢Δඞཁ͕͋Δ • ϥΠϒϥϦߋ৽ͷΑ͏ͳؾΛ࢖͏࡞ۀΛԿेճ΋ߦ͏ͷ͸ਏ͍ ࢟੎෼ੳ &$αΠτ ؅ཧऀը໘ Ϣʔβʔ ϩʔϧ؅ཧ ৯ࣄղੳ ϓϨϛΞϜ ձһ ݈อαʔϏ ε UP$ΞϓϦ #'' νϟοτ ϥΠϑϩά UP#αΠτ ௨஌αʔϏ ε 4/4ػೳ ίϯςϯπ ؅ཧ Ϣʔβʔ άϧʔϓ؅ཧ "*Ϩίϝϯυ ϓογϡ௨ ஌ UP$΢Σϒ ܾࡁ า਺Πϕϯτ νϡʔτϦ Ξϧ ϙΠϯτ؅ཧ ೝূج൫

Slide 39

Slide 39 text

ੜ͡Δ໰୊·ͱΊ • ΠϯηϯςΟϒͷҧ͍ʹΑΔিಥ • ڞ௨ vs ෼ࢄʹΑΔিಥ • େن໛ԽʹΑΔෳࡶԽ • ։ൃɺςετɺӡ༻ • αʔϏεͷݸ਺ʹൺྫͨ͠࡞ۀྔ

Slide 40

Slide 40 text

͜͏͍ͬͨ໰୊Λແࢹͯ͠େن໛Խ͢Δͱ • ৽αʔϏεͷ্ཱͪ͛͸ૣ͍ • ݴޠͷछྨ͕૿͑Δͱɺࣾ಺ͷϊ΢ϋ΢ڞ༗͕গͳ͘ͳΔ • CI/CDपΓ͕ෆ҆ఆʹͳͬͨΓɺςετͷ͕࣌ؒ௕͘ͳΔ • ηΩϡϦςΟύον͕์ஔ͞ΕΔ • ো֐͔࣌Βͷ෮چ͕࣌ؒ৳ͼΔ • ͖Ε͍ͳ؀ڥͰ։ൃ΍QA͕Ͱ͖ͳ͘ͳΔ • όά͕ଟ͘ɺόάfixʹଟ͘ͷ࣌ؒΛ࢖͏Α͏ʹͳΔ ॳ଎Ҏ֎ͷ։ൃ଎౓͕஗͘ͳΔ

Slide 41

Slide 41 text

ͭ·Γ.JDSPTFSWJDFTͱ%9͸ • ϚΠΫϩαʔϏεͷ։ൃͷ୯ମ଎౓Λམͱͣ͞ʹ • ϚΠΫϩαʔϏε୯ମ͔Β࿙Εग़͢՝୊Λղܾ͢Δ ࣋ଓՄೳͳ։ൃ଎౓ͷ࠷େԽΛ໨ࢦ͢

Slide 42

Slide 42 text

ؓ࿩ $*$%ͷឯ༨ۂં࿩

Slide 43

Slide 43 text

$*$%͸୭͕؅ཧ͢Δʁ Ұ൪࠷ॳͷϚΠΫϩαʔϏε͸֤ΞϓϦ͕σϓϩΠઃఆΛ͍࣋ͬͯͨ

Slide 44

Slide 44 text

$*$%͸୭͕؅ཧ͢Δʁ Ұ൪࠷ॳͷϚΠΫϩαʔϏε͸֤ΞϓϦ͕σϓϩΠઃఆΛ͍࣋ͬͯͨ Πϯϑϥ୲౰ऀ͕σϓϩΠվमΛߦ͏ػձ͕૿͑ෆศʹ

Slide 45

Slide 45 text

$*$%͸୭͕؅ཧ͢Δʁ Ұ൪࠷ॳͷϚΠΫϩαʔϏε͸֤ΞϓϦ͕σϓϩΠઃఆΛ͍࣋ͬͯͨ Πϯϑϥ୲౰ऀ͕σϓϩΠվमΛߦ͏ػձ͕૿͑ෆศʹ σϓϩΠΛ୲౰͢ΔϚΠΫϩαʔϏεΛ࡞Γڞ௨Խ

Slide 46

Slide 46 text

$*$%͸୭͕؅ཧ͢Δʁ Ұ൪࠷ॳͷϚΠΫϩαʔϏε͸֤ΞϓϦ͕σϓϩΠઃఆΛ͍࣋ͬͯͨ Πϯϑϥ୲౰ऀ͕σϓϩΠվमΛߦ͏ػձ͕૿͑ෆศʹ σϓϩΠΛ୲౰͢ΔϚΠΫϩαʔϏεΛ࡞Γڞ௨Խ ଟݴޠԽ͕ਐΈෳࡶͳγεςϜʹͳΓ୲౰ऀҎ֎͕͞ΘΕͳ͘ͳͬͨ

Slide 47

Slide 47 text

$*$%͸୭͕؅ཧ͢Δʁ Ұ൪࠷ॳͷϚΠΫϩαʔϏε͸֤ΞϓϦ͕σϓϩΠઃఆΛ͍࣋ͬͯͨ Πϯϑϥ୲౰ऀ͕σϓϩΠվमΛߦ͏ػձ͕૿͑ෆศʹ σϓϩΠΛ୲౰͢ΔϚΠΫϩαʔϏεΛ࡞Γڞ௨Խ αʔϏε͸૿Ճ͠ଓ͚ɺ୲౰ऀͷ࡞ۀ͕ϘτϧωοΫʹ ଟݴޠԽ͕ਐΈෳࡶͳγεςϜʹͳΓ୲౰ऀҎ֎͕͞ΘΕͳ͘ͳͬͨ

Slide 48

Slide 48 text

$*$%͸୭͕؅ཧ͢Δʁ Ұ൪࠷ॳͷϚΠΫϩαʔϏε͸֤ΞϓϦ͕σϓϩΠઃఆΛ͍࣋ͬͯͨ Πϯϑϥ୲౰ऀ͕σϓϩΠվमΛߦ͏ػձ͕૿͑ෆศʹ σϓϩΠΛ୲౰͢ΔϚΠΫϩαʔϏεΛ࡞Γڞ௨Խ αʔϏε͸૿Ճ͠ଓ͚ɺ୲౰ऀͷ࡞ۀ͕ϘτϧωοΫʹ ࠶ͼɺCI/CDͷઃఆΛ֤ΞϓϦʹ໭ͨ͠ ଟݴޠԽ͕ਐΈෳࡶͳγεςϜʹͳΓ୲౰ऀҎ֎͕͞ΘΕͳ͘ͳͬͨ

Slide 49

Slide 49 text

$*$%͸୭͕؅ཧ͢Δʁ • ϚΠΫϩαʔϏε͕େن໛Ͱ͋Ε͹֤ΞϓϦͰ؅ཧ • ͦ΋ͦ΋ϚΠΫϩαʔϏε͸େن໛ͳγεςϜͷҝͷ΋ͷ͕ͩ • ymlͰهड़Ͱ͖Δ͘Β͍؆୯ʹͯ͠෼ࢄ؅ཧ͢΂͖

Slide 50

Slide 50 text

Microservicesʹ͓͚ΔDXΛྑ͘͢ΔͨΊʹ͸

Slide 51

Slide 51 text

.JDSPTFSWJDFTͷ%9Λྑ͘͢ΔऔΓ૊Έ πʔϧͷಋೖ ૊৫తͳऔ૊ ϚΠΫϩαʔϏε͕େن໛Խͨ͠ͱͯ͠΋ ୯ମͷ։ൃ଎౓Λམͱ͞ͳ͍ҝͷπʔϧ πʔϧΛಋೖͨ͠ͱͯ͠΋ΧόʔͰ͖ͳ͍ ൣғΛ૊৫తͳऔ૊ͰϑΥϩʔ͢Δ

Slide 52

Slide 52 text

πʔϧͷಋೖ ૊৫తͳऔ૊ ϚΠΫϩαʔϏε͕େن໛Խͨ͠ͱͯ͠΋ ୯ମͷ։ൃ଎౓Λམͱ͞ͳ͍ҝͷπʔϧ πʔϧΛಋೖͨ͠ͱͯ͠΋ΧόʔͰ͖ͳ͍ ൣғΛ૊৫తͳऔ૊ͰϑΥϩʔ͢Δ

Slide 53

Slide 53 text

αʔϏεϝογϡɺ෼ࢄτϨʔγϯά • ෳ਺ͷϚΠΫϩαʔϏεʹ·͕ͨΔ໰୊ʹରͯ͠ͷରԠ • ӨڹൣғͷՄࢹԽ • ো֐࣌ͷ໰୊ಛఆ଎౓ͷ޲্ 4FSWJDF 4FSWJDF 4FSWJDF

Slide 54

Slide 54 text

αʔΩοτϒϨΠΧʔ • ಛఆͷαʔϏεͷো֐͕ଞͷαʔϏεʹӨڹ͠ͳ͍࢓૊Έ • Ұͭͷো֐ͰγεςϜશମ͕μ΢ϯ͠ͳ͍Α͏ʹ(Ops) • ϦϦʔεʹର͢Δ৺ཧతোน͕Լ͕Δ(Dev) 4FSWJDF 4FSWJDF 4FSWJDF

Slide 55

Slide 55 text

ΧφϦΞϦϦʔε • ϥΠϒϥϦͷΞοϓσʔτͷ޻਺͸๲େ • ϑϨʔϜϫʔΫ΍ݴޠͷόʔδϣϯ্͛͸ಛʹ໢ཏతͳQAͷ࣮ࢪ͕ ඞཁ • ΧφϦΞϦϦʔεʹΑͬͯ͜ͷ޻਺΍৺ཧతোนΛԼ͛Δ ϚΠΫϩαʔϏεͷ਺͚ͩߦΘͳ͍ͱ ͍͚ͳ͍࡞ۀͷ୯ମͷෛ୲ΛԼ͛Δ ࢟੎෼ੳ &$αΠτ ؅ཧऀը໘ Ϣʔβʔ ϩʔϧ؅ཧ ৯ࣄղੳ ϓϨϛΞϜ ձһ ݈อαʔϏε UP$ΞϓϦ #'' νϟοτ ϥΠϑϩά UP#αΠτ ௨஌αʔϏε 4/4ػೳ ίϯςϯπ ؅ཧ Ϣʔβʔ άϧʔϓ؅ཧ "*Ϩίϝϯυ ϓογϡ௨஌ UP$΢Σϒ ܾࡁ า਺Πϕϯτ νϡʔτϦ Ξϧ ϙΠϯτ؅ཧ ೝূج൫

Slide 56

Slide 56 text

.JDSPTFSWJDFTͷෳ੡ • ͋ΔϚΠΫϩαʔϏεΛ։ൃ/QA͢Δͱ͖ʹ • ͦͷαʔϏε͕ґଘ͢ΔϚΠΫϩαʔϏε܊Λࣗ෼ઐ༻Ͱ޷͖ͳλΠ ϛϯάͰ্͛ͨΓམͱͨ͠Γ͍ͨ͠ • औΓ૊Έ • Kubernetesಋೖͨ͠Β͍͚Δͱ͍͏Θ͚Ͱ΋ͳ͍ • ϑΝʔετεςοϓ͸ Infrastructure as a Code • σʔληοτͷ༻ҙ

Slide 57

Slide 57 text

ؓ࿩ ϚΠΫϩαʔϏεͷෳ੡αάϥμϑΝϛϦΞԽ

Slide 58

Slide 58 text

1SPEVDUJPO 4UBHJOH 1SPEVDUJPO ४1SPEVDUJPO 4UBHJOH

Slide 59

Slide 59 text

४1SPEVDUJPO؀ڥΛ࡞Γ͔͕ͨͬͨ • લఏͱͯ͠ୡ੒͓͔ͯ͠ͳ͍ͱ͍͚ͳ͍͜ͱ͸݁ߏଟ͍ • Infrastructure as a Code • ίϯςφपล͚ͩͰͳ͘ɺAWSͷϑϧϚωʔδυαʔϏεͳͲ΋ (SQS, Lambda, RDS, etc…) • ϒϥϯνઓུ • QA͕Մೳͳσʔληοτͷ༻ҙ • ϞλϞλ͍ͯ͠Δͱ৽͍͠ϚΠΫϩαʔϏε্ཱ͕͕ͪͬͯ ௥͍͚ͭͳ͘ͳ͍ͬͯ͘

Slide 60

Slide 60 text

πʔϧͷಋೖ ૊৫తͳऔ૊ ϚΠΫϩαʔϏε͕େن໛Խͨ͠ͱͯ͠΋ ୯ମͷ։ൃ଎౓Λམͱ͞ͳ͍ҝͷπʔϧ πʔϧΛಋೖͨ͠ͱͯ͠΋ΧόʔͰ͖ͳ͍ ൣғΛ૊৫తͳऔ૊ͰϑΥϩʔ͢Δ

Slide 61

Slide 61 text

πʔϧΛಋೖͯ͠΋ղܾ͠ͳ͍໰୊ͱ͸ʁ ͢ͰʹDX͕ѱ͍Օॴ ૊৫తʹऑ͍෦෼

Slide 62

Slide 62 text

લఏͱͯ͠ߟ͑Δ͜ͱ • ػೳ։ൃ͸ແݶʹ͋Δ • νʔϜͷ๩͠͞ɺ੒ख़౓ͳͲ • ֤νʔϜʹԡ͠෇͚ͯ΋೉͍͠έʔε

Slide 63

Slide 63 text

ஈ֊తͳऔΓ૊Έ ՄࢹԽ ग़དྷΔॴ͔Β ͢Ͱʹߦ͖ಧ͍ͯͳ͍ͱ͜ΖΛՄࢹԽ͢Δ ͦΕΛօͰڞ༗͢Δ νʔϜʹΑΓऔΓ૊ΊΔ͜ͱ͸όϥόϥ ग़དྷΔͱ͜Ζ͔Β࢝Ί͍ͯ͘ ෼ࢄԽΛ໨ࢦ͢ DXΛਖ਼ͷεύΠϥϧʹͯ͠෼ࢄͯ͠ε έʔϧ͢Δ૊৫Λ໨ࢦ͍ͯ͘͠

Slide 64

Slide 64 text

ՄࢹԽ ग़དྷΔॴ͔Β ͢Ͱʹߦ͖ಧ͍ͯͳ͍ͱ͜ΖΛՄࢹԽ͢Δ ͦΕΛօͰڞ༗͢Δ νʔϜʹΑΓऔΓ૊ΊΔ͜ͱ͸όϥόϥ ग़དྷΔͱ͜Ζ͔Β࢝Ί͍ͯ͘ ෼ࢄԽΛ໨ࢦ͢ DXΛਖ਼ͷεύΠϥϧʹͯ͠෼ࢄͯ͠ε έʔϧ͢Δ૊৫Λ໨ࢦ͍ͯ͘͠

Slide 65

Slide 65 text

ϥΠϒϥϦͷߋ৽΍ɺηΩϡϦςΟΞοϓσʔτ • Կ೥΋ϚΠΫϩαʔϏεΛӡ༻͍ͯ͠Δͱߦ͖ಧ͔ͳ͍෦෼͕ग़ͯ͘Δ • DX͕ѱ͍··์ஔ͞Ε͍ͯΔͱ͜Ζ • ྫ͑͹ɺ • ϥΠϒϥϦͷߋ৽ɺηΩϡϦςΟΞοϓσʔτ • ͪͳΈʹɺͳͥDX͕ѱ͍ʁ • ͍͟࠷৽ͷόʔδϣϯʹ͋͛Δͱ͖ʹϏοάόϯϦϦʔεʹͳΔ • ์ஔͨ͠··ηΩϡϦςΟ໰୊͕ൃੜ͢Δͱඞཁͷͳ͔ͬͨରԠ࡞ۀ ʹ௥ΘΕΔ

Slide 66

Slide 66 text

·ͣ͸ՄࢹԽͯ͠໰୊Λڞ༗͢Δͱ͜Ζ͔Β • ֤ΞϓϦέʔγϣϯͷϥΠϒ ϥϦͷόʔδϣϯΛԣஅͯ͠ ՄࢹԽ • ͲͷΞϓϦέʔγϣϯͷόʔ δϣϯ͕௿͍··์ஔ͞Εͯ ͍Δ͔ΛҰ໨ྎવʹ • ఆྫͰνΣοΫ

Slide 67

Slide 67 text

ՄࢹԽ ग़དྷΔॴ͔Β ͢Ͱʹߦ͖ಧ͍ͯͳ͍ͱ͜ΖΛՄࢹԽ͢Δ ͦΕΛօͰڞ༗͢Δ νʔϜʹΑΓऔΓ૊ΊΔ͜ͱ͸όϥόϥ ग़དྷΔͱ͜Ζ͔Β࢝Ί͍ͯ͘ ෼ࢄԽΛ໨ࢦ͢ DXΛਖ਼ͷεύΠϥϧʹͯ͠෼ࢄͯ͠ε έʔϧ͢Δ૊৫Λ໨ࢦ͍ͯ͘͠

Slide 68

Slide 68 text

Ͱ͖Δͱ͜Ζ͔ΒऔΓ૊Ή • ि̍ճɺ༗ࢤͰू·ͬͯߦ͖ಧ͍͍ͯͳ͍ͱ͜ΖΛαϙʔτ͢Δ • ϥΠϒϥϦͷΞοϓσʔτ • ݴޠͷόʔδϣϯͷΞοϓσʔτ • Dockerfile, CIͷઃఆͳͲͷߋ৽ͳͲ΋ • νʔϜʹΑͬͯ͸ϦϦʔεཱ͕ͯࠐΜͰ͍ͨΓ͢Δ͜ͱ͕͋Δͷ ͰɺશମͰαϙʔτͰ͖Δମ੍Λ࡞Δͱྑ͍

Slide 69

Slide 69 text

υϝΠϯ஌͕͍ࣝΒͳ͍෦෼͸νʔϜʹͩ͜ΘΒͳ͍ • ྫ͑͹ɺηΩϡϦςΟύονΛ্͛Δ࡞ۀʹ͍ͭͯ͸ɺαʔϏε ͷυϝΠϯ஌ࣝ͸΄΅ෆཁ • ͦ͏͍ͬͨ࡞ۀʹ͍ͭͯ͸ɺνʔϜΘ͚ʹͩ͜ΘΒͣʹ࡞ۀՄೳ ͳϝϯόʔ͕Ͱ͖Δͱ͜Ζ͔Βย෇͚͍ͯ͘ͱྑ͍

Slide 70

Slide 70 text

ࡇΓతʹऔΓ૊Ήͷ΋ྑ͍

Slide 71

Slide 71 text

ՄࢹԽ ग़དྷΔॴ͔Β ͢Ͱʹߦ͖ಧ͍ͯͳ͍ͱ͜ΖΛՄࢹԽ͢Δ ͦΕΛօͰڞ༗͢Δ νʔϜʹΑΓऔΓ૊ΊΔ͜ͱ͸όϥόϥ ग़དྷΔͱ͜Ζ͔Β࢝Ί͍ͯ͘ ෼ࢄԽΛ໨ࢦ͢ DXΛਖ਼ͷεύΠϥϧʹͯ͠෼ࢄͯ͠ε έʔϧ͢Δ૊৫Λ໨ࢦ͍ͯ͘͠

Slide 72

Slide 72 text

͋Δఔ౓ମ੍͕ग़དྷ͖ͯͨΒ෼ࢄԽΛ໨ࢦ͢ • جຊతʹϚΠΫϩαʔϏεͷ։ൃମ੍Λεέʔϧͤ͞ΔͨΊʹ͸ ෼ࢄԽΛ໨ࢦ͍ͯ͘͠ • ૊৫ͱͯ͠DXͷѱ͍ͱ͜ΖʹϑΥʔΧεͯ͠DX͕ճ෮͖ͯͨ͠ Β֤νʔϜʹ͓೚ͤͰ͖Δঢ়ଶʹͳΔ • ਖ਼ͷεύΠϥϧɿDX͕ྑ͘ͳͬͯ͘Ε͹อͭ޻਺͸ݮΔ

Slide 73

Slide 73 text

෼ࢄ͢Ε͹Կेݸ΋͋Δ3BJMTͷόʔδϣϯΞοϓ΋ • ओཁͳΞϓϦέʔγϣϯ͸ 24hҎ಺ʹରԠ׬ྃ • ਺೔Ҏ಺ʹ͢΂ͯͷαʔϏε ͷߋ৽͕׬ྃ

Slide 74

Slide 74 text

ѱ ྑ DX %9͕ѱ͍Օॴ Λಛఆ ՄࢹԽ ૊৫త ʹఈ্͛ ෼ࢄԽ

Slide 75

Slide 75 text

ѱ ྑ DX %9͕ѱ͍Օॴ Λಛఆ ՄࢹԽ ૊৫త ʹఈ্͛ ෼ࢄԽ ※ ίπ • ಛఆ͠ղܾ͢Δ໰୊ΛͳΔ΂͘খ͘͞ • ҰͭҰͭ͜ͳͯ͠ԣల։͍ͯ͘͠

Slide 76

Slide 76 text

·ͱΊ

Slide 77

Slide 77 text

·ͱΊ • ϚΠΫϩαʔϏεʹ͓͚ΔDXͷ޲্ʹ͍ͭͯߟ͑ͨ • DXͷର৅ऀ͸DevTestSecOpsͱ֦ு͢Δ • ϚΠΫϩαʔϏεͷDXΛ޲্ͤ͞Δʹ͸ • ϚΠΫϩαʔϏεͷ୯ମͷ։ൃ଎౓Λམͱͣ͞ʹ • ϚΠΫϩαʔϏεͷ֎ʹ࿙Εग़ؔ͢৺Λ͏·͘ѻ͍ͬͯ͘ • ͦͷͨΊʹ͸ • πʔϧʹΑΔΞϓϩʔν • ૊৫ʹΑΔΞϓϩʔν