Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アプリケーションエンジニアから見た The Twelve-Factor App

Kiminari Homma
November 27, 2018

アプリケーションエンジニアから見た The Twelve-Factor App

Heroku Meetup #23 "Heroku Dynamite!!" での登壇資料です。
https://herokujp.doorkeeper.jp/events/82754

Kiminari Homma

November 27, 2018
Tweet

More Decks by Kiminari Homma

Other Decks in Technology

Transcript

  1. ΞϓϦέʔγϣϯΤϯδχΞ͔Βݟͨ
    The Twelve-Factor App
    Heroku Meetup #23
    "Heroku Dynamite!!”
    !LJNJIPN

    View Slide

  2. ຊؒ ߖ੒ @kimihom
    CTO at selfree LLC
    CallConnect (ϒϥ΢βి࿩γεςϜ)
    ϒϩά “ϘΫίί” ӡӦ
    https://www.bokukoko.info/
    wellcast (ϥΠϒ഑৴γεςϜ)

    View Slide

  3. IUUQTGBDUPSOFUKB

    View Slide

  4. ΠϯϑϥΤϯδχΞ޲͚ͷจষͰ͠ΐɾɾʁ

    View Slide

  5. ΠϯϑϥΤϯδχΞ޲͚ͷจষͰ͠ΐɾɾʁ
    ͜ͷυΩϡϝϯτͷର৅ऀ
    αʔϏεͱͯ͠ಈ͘ΞϓϦέʔγϣϯΛ։ൃ͍ͯ͠Δ͢΂ͯͷ։ൃऀɻ͓ΑͼͦͷΑ͏
    ͳΞϓϦέʔγϣϯΛσϓϩΠ·ͨ͸؅ཧ͍ͯ͠ΔΠϯϑϥΤϯδχΞɻ

    View Slide

  6. ͦ͜Ͱɾɾɾ

    View Slide

  7. ΞϓϦέʔγϣϯ։ൃΤϯδχΞ͕
    ݫબͨ͠ॏཁͳ'BDUPS

    View Slide

  8. 5IF5XFMWF'BDUPS"QQ
    wίʔυϕʔε
    wґଘؔ܎
    wઃఆ
    wόοΫΤϯυαʔϏε
    wϏϧυɺϦϦʔεɺ࣮ߦ
    wϓϩηε
    wϙʔτόΠϯσΟϯά
    wฒߦੑ
    wഁغ༰қੑ
    w։ൃຊ൪Ұக
    wϩά
    w؅ཧϓϩηε

    View Slide

  9. 5IF5XFMWF'BDUPS"QQ
    wίʔυϕʔε
    wґଘؔ܎
    wઃఆ
    wόοΫΤϯυαʔϏε
    wϏϧυɺϦϦʔεɺ࣮ߦ
    wϓϩηε
    wϙʔτόΠϯσΟϯά
    wฒߦੑ
    wഁغ༰қੑ
    w։ൃຊ൪Ұக
    wϩά
    w؅ཧϓϩηε

    View Slide

  10. ύοέʔδͷґଘؔ܎Λݫີʹએݴ
    /PEFKTQBDLBHFKTPO :BSO
    3VCZ(FNpMF #VOEMFS
    γεςϜͰඞཁͳґଘؔ܎શͯΛఆٛ͠Α͏

    View Slide

  11. μϝɺઈରʂ
    lϩʔΧϧ1$ʹ*NBHF.BHJDͱ$VSM͕
    ೖͬͯΔ͔Β௚઀γεςϜίϚϯυݺͼग़ͯ͠΍Ζ
    ATIAϝιουαΠίʔʂz

    View Slide

  12. 5IF5XFMWF'BDUPS"QQ
    wίʔυϕʔε
    wґଘؔ܎
    wઃఆ
    wόοΫΤϯυαʔϏε
    wϏϧυɺϦϦʔεɺ࣮ߦ
    wϓϩηε
    wϙʔτόΠϯσΟϯά
    wฒߦੑ
    wഁغ༰қੑ
    w։ൃຊ൪Ұக
    wϩά
    w؅ཧϓϩηε

    View Slide

  13. ઃఆΛ؀ڥม਺ʹ֨ೲ
    AIFSPLVDPOpHTFU%#@63-IUUQTA
    ։ൃɺεςʔδϯάɺຊ൪ͦΕͧΕΛ
    ؀ڥม਺ͷΈͰ෼཭ͤ͞Α͏

    View Slide

  14. μϝɺઈରʂ
    lDPOpHFOWJSPONFOUTʹ
    EFWFMPQNFOUSC UFTUSC QSPEVDUJPOSC
    ͬͯ͋Δ͔Βɺ͜͜ʹTUBHJOHSC΋௥Ճͨ͠Ζz

    View Slide

  15. 5IF5XFMWF'BDUPS"QQ
    wίʔυϕʔε
    wґଘؔ܎
    wઃఆ
    wόοΫΤϯυαʔϏε
    wϏϧυɺϦϦʔεɺ࣮ߦ
    wϓϩηε
    wϙʔτόΠϯσΟϯά
    wฒߦੑ
    wഁغ༰қੑ
    w։ൃຊ൪Ұக
    wϩά
    w؅ཧϓϩηε

    View Slide

  16. ΞϓϦέʔγϣϯΛεςʔτϨεͳ
    ϓϩηεͱ࣮ͯ͠ߦ
    ӬଓԽ͢Δඞཁͷ͋Δ͢΂ͯͷσʔλ͸
    όοΫΤϯυ େ఍͸σʔλϕʔε
    ʹอଘ͠Α͏

    View Slide

  17. μϝɺઈରʂ
    lόΠφϦϑΝΠϧΛ%#ʹอଘ͢Δͷ͸
    ໘౗ͩ͠ɺαʔόʔ಺ʹอଘͨ͠Ζz
    Ұ࣌తʹอଘͰ͖ͯ΋ɺ
    ೔ճͷ࠶ىಈͰউखʹফ͑·͢

    View Slide

  18. IUUQTXXXTFMGSFFDPKQ&#&#$&&#$&"$&#&"KBWBTDSJQU
    &"&&"&##&'&&"&"&"#&&"&
    &&"%&#$&&&#&#&#
    όΠφϦ͸4౳΁௚઀Ξοϓϩʔυ

    View Slide

  19. 5IF5XFMWF'BDUPS"QQ
    wίʔυϕʔε
    wґଘؔ܎
    wઃఆ
    wόοΫΤϯυαʔϏε
    wϏϧυɺϦϦʔεɺ࣮ߦ
    wϓϩηε
    wϙʔτόΠϯσΟϯά
    wฒߦੑ
    wഁغ༰қੑ
    w։ൃຊ൪Ұக
    wϩά
    w؅ཧϓϩηε

    View Slide

  20. ߴ଎ͳىಈͱάϨʔεϑϧγϟοτμ΢ϯͰ
    ݎ࿚ şƃƁř
    ੑΛ࠷େԽ͢Δ
    ϓϩηεͷىಈ࣌ؒΛ୹ͤ͘͞Α͏
    ཧ૝తʹ͸ɺͭͷϓϩηε͸ɺىಈίϚϯυ͕࣮ߦ͞Ε͔ͯ
    Β਺ඵؒͰϦΫΤετ΍δϣϒΛड͚औΕΔΑ͏ʹͳΔ΂͖

    View Slide

  21. ͳΜͰ)FSPLVͬͯҰ೔Ұճ
    ඞͣ࠶ىಈ͢Δͷʁ
    ਖ਼௚͋ͷؒϦΫΤετ٧·ͬͪΌͬͯ
    ෆศͳΜ͚ͩͲɾɾɻ
    2

    View Slide

  22. ͜ͷੑ࣭͕ɺૉૣ͘ॊೈͳεέʔϧͱɺ
    ίʔυ΍ઃఆʹର͢Δมߋͷૉૣ͍σ
    ϓϩΠΛ༰қʹ͠ɺຊ൪σϓϩΠͷݎ࿚
    ੑΛߴΊΔ
    "
    ϝϞϦ͕ϦϑϨογϡ͞ΕΔͷͰ҆ఆ͢Δ

    View Slide

  23. 5IF5XFMWF'BDUPS"QQ
    wίʔυϕʔε
    wґଘؔ܎
    wઃఆ
    wόοΫΤϯυαʔϏε
    wϏϧυɺϦϦʔεɺ࣮ߦ
    wϓϩηε
    wϙʔτόΠϯσΟϯά
    wฒߦੑ
    wഁغ༰қੑ
    w։ൃຊ൪Ұக
    wϩά
    w؅ཧϓϩηε

    View Slide

  24. ։ൃɺεςʔδϯάɺຊ൪؀ڥΛ
    Ұகͤͨ͞ঢ়ଶΛอͭ
    ։ൃऀ͕ॻ͍ͨίʔυ͸਺࣌ؒޙʹ͸σϓϩΠ͞ΕΔ
    ίʔυΛॻ͍ͨ։ൃऀ͸ͦͷσϓϩΠʹਂؔ͘ΘΔ
    ։ൃ؀ڥͱຊ൪؀ڥΛҰகͤͨ͞ঢ়ଶΛอͭ

    View Slide

  25. μϝɺઈରʂ
    lϩʔΧϧ։ൃͰ͸42-JUF࢖ͬͨ΄͏͕
    ָ͔ͩΒͦͬͪ࢖͓ͬͱɻ
    "DUJWF3FDPSE͸ਆʂz
    ϩʔΧϧʹ1PTUHSF42-ΛೖΕΔ͔
    )FSPLV1PTUHSFTͱͭͳ͛Α͏

    View Slide

  26. μϝɺઈରʂ
    "DUJWF3FDPSEʹཔͬͨ຤ʹɾɾ

    View Slide

  27. ऴΘΓʹ

    View Slide

  28. wΠϯϑϥΤϯδχΞ͚ͩͰͳ͘ɺΞϓϦέʔγϣϯΤϯ
    δχΞͰ΋ࢀߟʹͳΔͱ͜Ζ͕ଟ͔ͬͨɻ
    w࣮ࡍʹ։ൃΛ͢Δͱ΍Β͔͕ͪ͠ͳϙΠϯτ͕໢ཏ͞Ε
    ͍ͯΔ
    wΠϯϑϥઃఆͷϕετϓϥΫςΟεΛɺ)FSPLV͸ఏڙ
    ͯ͘͠Ε͍ͯΔɻ
    w࣌ؒ΋͋Ε͹ಡΈ੾ΕΔͷͰɺಡΜͰΈ·͠ΐ͏ʂ
    5IF5XFMWF'BDUPS"QQ

    View Slide

  29. I can’t wait to see what you build.
    օ༷͕ԿΛ࡞Δͷ͔ɺ໨ʹ͢Δͷ͕଴͖ͪΕ·ͤΜɻ

    View Slide

  30. )FSPLV+16(͔Β

    View Slide

  31. )FSPLV+16(4MBDLάϧʔϓ
    ࢀՃ͓଴ͪͯ͠·͢ʂ

    View Slide

  32. $PNFPO
    )FSPLVίϛϡχςΟӡӦ
    ࣍ճ)FSPLV.FFUVQͰ
    ձ৔ΛఏڙͰ͖ͦ͏ͳํ
    ొஃͰ͖ͦ͏ͳωλΛ͍࣋ͬͯΔํ

    View Slide

  33. 5IBOLT

    View Slide