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

DevOpsDays Tokyo

Genki Sato
April 10, 2019

DevOpsDays Tokyo

Genki Sato

April 10, 2019
Tweet

More Decks by Genki Sato

Other Decks in Technology

Transcript

  1. %FW0QT%BZT5PLZP
    ։ൃޮ཰Λ࠷େԽ͢Δ
    σϓϩΠϝϯτύΠϓϥΠϯ

    View Slide

  2. %FW0QT%BZT5PLZP
    !2
    ࠤ౻ݯلʢ͞ͱ͏͛Μ͖ʣʗιϑτ΢ΤΞΤϯδχΞʗ:BQQMJ5FDI-FBE
    w೥݄ϝΨϕϯνϟʔήʔϜ։ൃ
    w ϒϥ΢βܕιʔγϟϧήʔϜ։ൃ
    w೥݄ϝΨϕϯνϟʔΠϯϑϥ෦໳
    w %#ج൫ɾήʔϜࣄۀج൫
    w Τϯλϝࣄۀج൫ɾϔϧεέΞ&$ࣄۀج൫
    w೥݄'JOUFDIܥελʔτΞοϓ
    w ΢ΥϨοτΞϓϦ։ൃɾӡ༻
    w೥݄:BQQMJ
    w :BQQMJϓϥοτϑΥʔϜͷ։ൃɾӡ༻

    View Slide

  3. ΞϓϦͷςΫϊϩδʔΛ։์͠ɺ
    ੈͷதΛ΋ͬͱศརͰշదʹɻ

    View Slide

  4. Services
    :BQQMJ͸ैདྷͷΞϓϦࢢ৔ΛσΟεϥϓτ͢
    ΔɺΞϓϦͷςΫϊϩδʔΛ։์͢Δελʔτ
    ΞοϓͰ͢ɻ
    ɹϓϩάϥϛϯάෆཁͰΞϓϦ։ൃɻٕज़ऀ
    ཁΒͣͰഒ଎ͷ։ൃ଎౓Λ࣮ݱɻ
    ɹ਌͠Έ΍͍͢௚ײత6*ͷ؅ཧը໘͔Βɺ
    ୭Ͱ΋؆୯ʹΞϓϦΛӡ༻؅ཧ
    Mobile Technology for ALL
    ʢ৽ଔ࠾༻޲͚ʣ
    ʢൢଅ޲͚ʣ ʢֶߍ๏ਓ޲͚ʣ
    ʢ঎ۀࢪઃ޲͚ʣ
    ۀछΛ໰Θͳ͍ϗϦκϯλϧSaaSͱͯ͠ϓϥοτϑΥʔϜΛఏڙ

    View Slide

  5. 280݅
    2,800ສ
    99
    ಋೖ݅਺ ྦྷܭΞϓϦDL਺ αʔϏεܧଓ཰

    View Slide

  6. ച্ߴ͸T2D3ͷਪҠͰٸ੒௕த
    ஫ɿT2D3͸ϢχίʔϯͷSaaSاۀʹ͓͍ͯٻΊΒΕΔ੒௕཰ͷུশ
    3ഒͷ੒௕Λ2೥ɺ2ഒͷ੒௕Λ3೥ɺTriple x 2ɺDouble x 3ͱͯ͠T2D3ͱݺ͹ΕΔ

    View Slide

  7. %FW0QT%BZT5PLZP
    αʔϏεɾձࣾͷ֦େʹ߹Θͤͯ
    ։ൃϑϩʔͷݟ௚͠ΛॏͶ͖ͯ·ͨ͠
    !7

    View Slide

  8. %FW0QT%BZT5PLZP
    ຊ೔͸:BQQMJʹ͓͚Δ։ൃͷྲྀΕͱ
    σϦόϦʔߴ଎Խ΁ͷऔΓ૊Έʹ͍ͭͯ
    ͓࿩͠͠·͢
    !8

    View Slide

  9. %FW0QT%BZT5PLZP
    ։ൃ։͔࢝Βɿ೥
    νʔϜ։ൃظؒɿ೥
    !9

    View Slide

  10. %FW0QT%BZT5PLZP
    ٕज़తෛ࠴ͱͷઓ͍
    !10

    View Slide

  11. %FW0QT%BZT5PLZP
    σϦόϦʔαΠΫϧʹ
    ࣮֬ʹڹ͍ͯ͘Δ
    !11

    View Slide

  12. %FW0QT%BZT5PLZP
    w ઃܭ্ɺ*%&ͷԸܙΛड͚ʹ͍͘
    w ʢαʔόαΠυΞϓϦέʔγϣϯ͸1)1ϕʔεʣ
    w ϑϨʔϜϫʔΫΛ࢖ΘͣɺࣗલͷJODMVEF͕هड़͞Ε͍ͯΔ෦෼͕ଟ͍
    w ίʔυิ׬ɾίʔυδϟϯϓ͕ޮ͔ͳ͔ͬͨΓ
    w ςετίʔυ͕લఏͱ͞Ε͍ͯͳ͍
    w %*͕Ͱ͖ͳ͍
    w ςετΧόϨοδ
    !12

    View Slide

  13. %FW0QT%BZT5PLZP
    w ΤϥʔͰ΋ϩά͕ग़ͳ͍
    w ʰࠞͥΔͳةݥʱͳػೳͷෆ۩߹ΛੜΈ΍͍͢
    w ྫɿʮྡͰͦΜͳมߋ͕͞Ε͍ͯͨͱ͸ࢥ͍΋ΑΒͳ͔ͬͨɻʯ
    w ʰϐλΰϥεΠονʱͳෆ۩߹ΛੜΈ΍͍͢
    w ྫɿʮ͜ͷϩδοΫ͕ͦΜͳͱ͜ΖʹӨڹΛٴ΅͢ͱ͸ࢥ͍΋ΑΒͳ
    ͔ͬͨɻʯ
    w ϦΧόϦ໨తͷύον͕৽ͨͳෆ۩߹ΛੜΉ͜ͱ΋
    !13

    View Slide

  14. %FW0QT%BZT5PLZP
    ͜͜·ͰࣄۀΛ੒௕ͤͯ͘͞Εͨ͜ͱʹ
    ײँͭͭ͠
    !14

    View Slide

  15. %FW0QT%BZT5PLZP
    ࠶ߏஙʢ׬શϦϓϨΠεʣΛ
    ͢͢Ί͍ͯ·͢
    !15

    View Slide

  16. %FW0QT%BZT5PLZP
    w 1)1K2VFSZ͔Β(PMBOH/VYUKT΁ͷ࠶࣮૷
    w 6*ͷΞοϓσʔτʹ͋Θͤͯશ໘࡮৽
    w طଘγεςϜͷ൓লΛ׆͔ͯ͠νʔϜͷεέʔϧʹͰ͖Δ͚ͩൺྫͯ͠։
    ൃεϐʔυ͕޲্͢ΔΞʔΩςΫνϟΛ໨ࢦͨ͠
    !16

    View Slide

  17. %FW0QT%BZT5PLZP
    ೥ՆʹϓϩδΣΫτΩοΫΦϑ
    ೥݄ʹୈҰ஄ແࣄϦϦʔεʂ
    !17

    View Slide

  18. %FW0QT%BZT5PLZP
    ͏·͍ͬͨ͘ϙΠϯτ
    !18

    View Slide

  19. %FW0QT%BZT5PLZP
    w શ໘࡮৽ϓϩδΣΫτ͸ೋճ໨ͰҰճ໨ͷࣦഊΛ׆͔ͤͨ
    w ػೳ௥ՃΛ͠ͳ͍͜ͱʹ͍ͯͨͨ͠Ίɺ։ൃɾݕূ࣌ʹ໎͍͕গͳ͔ͬͨ
    w ͍͍ͭͭʮ͜ΕΛػʹʯͱػೳ௥Ճ͕ͪ͠ͳͱ͜ΖΛ੾ͬͨ
    w Ұճ໨ͷࣦഊΛձࣾશମͰड͚ࢭΊΒΕ͍ͯͨͷͰ߹ҙ΋ಘ΍͔ͬͨ͢
    !19

    View Slide

  20. %FW0QT%BZT5PLZP
    w ઃܭஈ֊͔ΒΤϯδχΞશһͰษڧ΋ͭͭ͠ɺίϯηϯαεΛऔΓͳ͕Β
    ਐΊͨ
    w બఆج४͸͋͑ͯந৅తʹ
    w ૊৫ͷ֦େʹ͍͍͚ͭͯͦ͏ͳ΋ͷ
    w ؆୯͗ͣ͢೉͗͢͠ͳ͍ɺ΄ͲΑ͍೉қ౓
    w ͭ͗ʹདྷΔٕज़తτϨϯυʹ΋͍͍͚ͭͯͦ͏ͳ΋ͷ
    w %%%ษڧձɺઃܭ૬ஊɾڞ༗ձɺίʔυϨϏϡʔ
    !20

    View Slide

  21. %FW0QT%BZT5PLZP
    w νʔϜશһͰूதͯ͠ϓϩδΣΫτʹऔΓ૊ΊΔମ੍Λ࡞Εͨ
    w ৽نػೳ։ൃΛҰ࣌తʹࢭΊͨ
    w ϓϩδΣΫτҎ֎ͷ͜ͱΛूதͯ͠औΓ૊Ή೔Λ໌ࣔతʹઃ͚ͨ͜ͱͰ
    ϏδωεαΠυͷཧղΛಘ΍͔ͬͨ͢
    !21

    View Slide

  22. %FW0QT%BZT5PLZP
    !22
    w ೋिؒʹҰ೔ɺϝΠϯͷϓϩδΣΫ
    τҎ֎ͷλεΫ͔͠΍Βͳ͍
    w খن໛ͳΧΠθϯҊ݅΍ܰඍͳෆ۩
    ߹ͷमਖ਼ͳͲϓϩδΣΫτʹ௥ΘΕ
    ͯීஈͰ͖ͳ͍ۀ຿Λਪਐ͢Δ
    w ϏδωεαΠυ͔Β޷ධ
    w ৄࡉ͸ʮ:BQQEBUFEBZʯͰݕࡧ

    View Slide

  23. %FW0QT%BZT5PLZP
    ΋͏গ͠ৄ͍͠࿩͸
    ͪ͜ΒΛ͝ཡ͍ͩ͘͞
    !23
    https://speakerdeck.com/genkist

    View Slide

  24. %FW0QT%BZT5PLZP
    ։ൃαΠΫϧ
    !24

    View Slide

  25. %FW0QT%BZT5PLZP
    !25

    View Slide

  26. %FW0QT%BZT5PLZP
    ʲ։ൃαΠΫϧʢʣʳ
    ԿΛ࡞Δ͔
    !26

    View Slide

  27. %FW0QT%BZT5PLZP
    w ։ൃϓϩδΣΫτͷೖΓޱ
    w ैۀһىҊͷ΋ͷ
    w 4MBDL্Ͱެื͞ΕͨҊ݅
    w ࣄۀઓུϕʔεͷ΋ͷ
    w ͍ΘΏΔτοϓμ΢ϯ
    w ։ൃɾӡ༻ϕʔεͷ΋ͷ
    w γεςϜϦϓϨΠεɺӡ༻վળͳͲ
    !27

    View Slide

  28. %FW0QT%BZT5PLZP
    ӦۀɾΧελϚʔαΫηεɾ੍࡞ͳͲ
    ϓϩμΫτʹؔΘ͍ͬͯΔ
    ଟ෦໳Ͱ༏ઌ౓Λٞ࿦ܾͯ͠ΊΔ
    !28

    View Slide

  29. %FW0QT%BZT5PLZP
    ʲ։ൃαΠΫϧʢʣʳ
    Ͳ͏࡞Δ͔
    !29

    View Slide

  30. %FW0QT%BZT5PLZP
    w ͬ͘͟Γཁ͕͖݅·ͬͨΒ։ൃΛελʔτ
    w ࡉ͔͍6*΍69͸࡞Γͳ͕Β૬ஊͭͭ͠٧Ί͍ͯ͘
    !30

    View Slide

  31. %FW0QT%BZT5PLZP
    "1*ઃܭ
    !31

    View Slide

  32. %FW0QT%BZT5PLZP
    w 1SPUPDPM#VGGFSTΛ࠾༻͍ͯ͠ΔͨΊ"1*ͷϨϏϡʔΛ࣮૷ʹઌߦ͠
    ࣮ͯࢪͰ͖Δ
    w ࢓༷ͷ֬ೝͱซ࣮ͤͯࢪ͢Δ͜ͱʹͳΔͨΊɺޮ཰త
    w VCFSQSPUPUPPMʹΑΔνΣοΫɺϑΥʔϚοτΛߦ͏͜ͱͰ13΋
    ݟ΍͍͢
    w )5.-υΩϡϝϯτͷు͖ग़͠΋ߦ͍ͬͯΔ͕*%-ͱͯ͠༏लͳͷͰ௚
    ઀QSPUPϑΝΠϧΛݟΔ͜ͱ͕ଟ͍
    !32

    View Slide

  33. %FW0QT%BZT5PLZP
    ࣮૷
    !33

    View Slide

  34. %FW0QT%BZT5PLZP
    w -JOUνΣοΫ
    w ػցతʹෆ۩߹ͷԹচͱͳΔ΋ͷΛ๷͙
    w ϑΥʔϚολͱ૊Έ߹ΘͤͯϨϏϡʔޮ཰VQ
    w -JOUͰΧόʔͰ͖ͳ͍෦෼͸໋໊نଇΛͭͬͯ͘υΩϡϝϯτԽ͍ͯ͠
    Δʢ͙͢ಡΊΔαΠζʹΩʔϓ͢Δͷେࣄʣ
    !34

    View Slide

  35. %FW0QT%BZT5PLZP
    w ୯ମςετ
    w ࠷খ୯ҐͰԿΛ͢Δؔ਺ͳͷ͔Λ೺ѲͰ͖ΔΑ͏ʹ
    w ݁߹ςετ
    w தن໛ɾେن໛ͳϦϑΝΫλϦϯάΛߦ͏ࡍͷσάϨνΣοΫʹ༗༻
    w ϒϥοΫϘοΫεςετͱ࣮ͯ͠ࢪ
    !35

    View Slide

  36. %FW0QT%BZT5PLZP
    w 1VMM3FRVFTUʹ֤छνΣοΫΛ࿈ಈͤ͞ɺύε͠ͳ͍ͱϚʔδ͕Ͱ͖ͳ
    ͍
    w ݸਓͰ։ൃɾճऩ͢Δ΋ͷ͸GPSLͨ͠ϦϙδτϦͰ࡞ۀ͢Δ͜ͱͰςε
    τ௨஌Λ෼཭Ͱ͖Δ
    w ݸਓPSHʹGPSLͨ͠ϦϙδτϦͷςετ͸ຊਓʹ͔͠௨஌͕͍͔ͳ͍
    w ϓϩδΣΫτͰڞ༗͍ͯ͠Δϒϥϯνͷςετ͸શମ΁௨஌
    !36

    View Slide

  37. %FW0QT%BZT5PLZP
    νΣοΫϙΠϯτͷ਺͕૿͑Δ͜ͱͰ
    Өڹൣғ͕޿͕Δલʹؾ͚ͮΔ
    !37

    View Slide

  38. main with SQLite

    SQLite wrappter app
    envoy CMS app
    Client
    ˞؆ུԽͨ͠ߏ੒ਤͰ͢
    -JOU
    #VJME
    (JU1VTI
    -JOU 5FTU
    #VJME
    %FQMPZ
    -JOU 5FTU
    #VJME
    %FQMPZ
    -JOU 5FTU
    #VJME
    %FQMPZ
    QSPUPCVG
    DNT
    BQQ
    TRMJUFXSBQ

    View Slide

  39. %FW0QT%BZT5PLZP
    ʲ։ൃαΠΫϧʢʣʳ
    Ͳ͏඼࣭Λ୲อ͢Δ͔
    !39

    View Slide

  40. %FW0QT%BZT5PLZP
    w جຊతͳϦϦʔεαΠΫϧ͸ि࣍
    w ։ൃظؒ͸ن໛ʹΑͬͯ೔ʙ਺ϲ݄·Ͱ༷ʑ
    w 2"ʹΑΔݕূ͸εςοϓ
    w ʮ୯ମݕূʯɿҊ݅͝ͱʹߦ͏ݕূ
    w ʮશମݕূʢि࣍ݕূʣʯɿϦϦʔε༧ఆͷ΋ͷ͚ͩͰͳͦ͘ͷଞશػ
    ೳΛ໢ཏతʹݟΔ
    !40

    View Slide

  41. %FW0QT%BZT5PLZP
    શମݕূͷϝϦοτ
    !41

    View Slide

  42. %FW0QT%BZT5PLZP
    w ʰࠞͥΔͳةݥʱͳෆ۩߹Λ୳஌͠΍͍͢
    w ʰϐλΰϥεΠονʱͳෆ۩߹Λ୳஌͠΍͍͢
    w ୯Ұػೳ͝ͱʹશମݕূΛߦ͏৔߹ͱൺֱͯ͠޻਺Λ࡟ݮͰ͖Δ
    w ि࣍ϦϦʔεͱ͢Δ͜ͱͰސ٬΁ͷΞοϓσʔτҊ಺͕ߦ͍΍͍͢
    !42

    View Slide

  43. %FW0QT%BZT5PLZP
    ݕূ؀ڥΛؚΊͨ
    σϓϩΠࣗಈԽ
    !43

    View Slide

  44. %FW0QT%BZT5PLZP
    w ຊ൪؀ڥҎ֎ʹि࣍2"ݕূΛߦ͏εςʔδϯά؀ڥɺ୯ମݕূΛߦ͏ݸ
    ผݕূ؀ڥʢηοτఔ౓ʣ͕͋Δ
    w ͢΂ͯΛίϚϯυϕʔεͷख࡞ۀͰߦ͏ͷ͸ࠎ
    w ୯ମݕূ؀ڥ΁ͷσϓϩΠ΋ຊ൪؀ڥ΍εςʔδϯά؀ڥͱಉ༷ʹಛఆϒ
    ϥϯν΁ͷQVTIΛτϦΨʔʹσϓϩΠΛߦ͏
    w γεςϜߏ੒ɺσϓϩΠϩδοΫ͸ຊ൪ͱಉ౳ͳͷͰߏ੒΍σϓϩΠͷม
    ߋ࣌ʹͷݕূʹ΋ͳΔ
    !44

    View Slide

  45. %FW0QT%BZT5PLZP
    !45
    ؀ڥ ϒϥϯν
    ຊ൪ QSPEVDUJPO
    εςʔδϯά NBTUFS
    QGEFWSFWJFX EFQMPZQGEFWSFWJFX
    QGEFWSFWJFX EFQMPZQGEFWSFWJFX
    QGEFWSFWJFX9 EFQMPZQGEFWSFWJFX9

    View Slide

  46. %FW0QT%BZT5PLZP
    ։ൃαΠΫϧʢʣ
    ϦϦʔε
    !46

    View Slide

  47. %FW0QT%BZT5PLZP
    w σϓϩΠؚΊͯجຊతʹ͸ݕূࡁΈ
    w ҆৺҆શʢ౰ࣾൺʣ
    !47

    View Slide

  48. %FW0QT%BZT5PLZP
    ։ൃαΠΫϧʢʣ
    Πϯϑϥߏ੒؅ཧ
    !48

    View Slide

  49. %FW0QT%BZT5PLZP
    w 5FSSBGPSNΛར༻͍ͯ͠Δ
    w جຊతʹ͸*".ͳͲΛؚΊͨॳظߏஙΛओ؟ʹஔ͍͍ͯΔ
    w ೔ʑͷӡ༻ͷதͰมߋ͕ݟࠐ·ΕΔ΋ͷ͸ΞϓϦͷϦϙδτϦʹಉࠝ
    w ྫɿ&$4ͷλεΫఆٛɺFOWPZZBNMɺ%PDLFSpMFͳͲ
    w σϓϩΠ্ͷ౎߹΋͋Δ͕ɺΠϯϑϥ໘ͷมߋ΋ΞϓϦέʔγϣϯίʔυ
    ͱಉ༷ͷϑϩʔʹࡌͤΒΕΔϝϦοτ΋େ͖͍
    !49

    View Slide

  50. %FW0QT%BZT5PLZP
    ։ൃαΠΫϧʢʣ
    ܭଌɾ؂ࢹ
    !50

    View Slide

  51. %FW0QT%BZT5PLZP
    w ސ٬͔ΒͷϑΟʔυόοΫ͸ΧελϚʔαΫηε෦ܦ༝
    w ΤϯυϢʔβ͔ΒͷϑΟʔυόοΫ͸ετΞϨϏϡʔ͕جຊ
    w &&ςετ
    w ຊ൪؀ڥʹରͯ͠ఆظతʹ࣮୺຤Λ࢖ͬͨςετΛ࣮ࢪ
    w γεςϜϦιʔεɺϩά؂ࢹ
    w %BUBEPH "1.
    Λར༻
    !51

    View Slide

  52. %FW0QT%BZT5PLZP
    ·ͱΊ
    !52

    View Slide

  53. %FW0QT%BZT5PLZP
    w ೥ӡ༻͖ͯͨ͠αʔϏεͷ։ൃͷྲྀΕɺऔΓ૊ΈΛ͝঺հ͠·ͨ͠
    w ٕज़తෛ࠴ʹର͢ΔऔΓ૊Έ
    w ىҊ͔Βܭଌ·ͰͷྲྀΕ
    w ͲͷΑ͏ʹͯ͠σϦόϦʔαΠΫϧߴ଎ԽΛ࣮૷͍ͯ͠Δ͔
    !53

    View Slide

  54. Ұॹʹ೰Έɺ੾᛭ୖຏͯ͘͠ΕΔ
    ஥ؒΛืू͍ͯ͠·͢ʂ
    5IBOLZPV

    View Slide