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

Beyond the Twelve-Factor App

Beyond the Twelve-Factor App

クラウドネイティブアプリケーションの設計パターン「Beyond the Twelve-Factor App」の紹介

Kazuya Takahashi

August 30, 2016
Tweet

More Decks by Kazuya Takahashi

Other Decks in Technology

Transcript

  1. The
    Twelve
    Factor
    App
    12
    Cloud NATIVE APPLICATION PATTERNS
    2016.08.26
    Kazuya Takahashi
    @REALWORLD
    Beyond

    View full-size slide

  2. About me
    The
    Twelve
    Factor
    App
    12
    Beyond
    גࣜձࣾϦΞϧϫʔϧυ(.
    גࣜձࣾ3&"-'*/5&$)$50
    ∁ڮ࿨໵
    ΞδϟΠϧͰϑϧελοΫͳҙࣝߴ͍ΤϯδχΞ
    ݸਓͰ͸-*7&"(&ͱ͍͏Իָʷ8ͳूஂͷҰһͰ͢
    IUUQTMJWFBHFUPEBZ

    View full-size slide

  3. the Twelve-Factor App
    )FSPLVͷதͷਓ͕೥ʹॻ͍ͨɺϞμϯͳΫϥ΢υΞϓϦέʔγϣϯͷϕ
    ετϓϥΫςΟε͕ʮ5IF5XFMFWF'BDUPS"QQʯ
    ࠷ۙɺ.BSUJO'PXMFSࢯͷϒϩάهࣄʮ4FSWFSMFTT"SDIJUFDUVSFTʯͰ/FU'MJY
    ͷ"ESJBO$PDLDSPGUࢯͷʠΦʔέʔɺͦΕ͕Ͳ͏ͨ͠ɻ΋͠ࢲ͕༏लͳ
    'BDUPS"QQͷσϕϩούʔͳΒɺίʔυͷॻ͖ํʹԿͷҧ͍͕͋Δͷ͔ʡͱ͍
    ͏ίϝϯτ͕৺ʹࢗͬͨ͞ͷͰɺվΊͯ'BDUPSʹֶ͍ͭͯΜͰΈ·ͨ͠ɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  4. the Twelve-Factor App
    'BDUPS"QQΛௐ΂ͯݟ͚ͭͨͷ͕ʮ#FZPOEUIF5XFMWF'BDUPS"QQʯ
    ΦϦδφϧ'BDUPS"QQ͸ඇৗʹ༗༻͕ͩɺ೥ʹॻ͔Εͨ΋ͷͰঢ়گ͕
    มΘ͖͍ͬͯͯΔɻಛʹ"84Λ࢝Ίͱͨ͠Ϋϥ΢υ؀ڥΛ׆༻ͨ͠Ϋϥ΢υωΠ
    ςΟϒΞϓϦέʔγϣϯͷ৽ͨͳϕετϓϥΫςΟεͱͯ͠ɺ೥ʹ1JWPUBM
    ͕ࣾɺΦϦδφϧͷݸͷΨΠυϥΠϯͷΞοϓσʔτͱݸͷ৽ͨͳΨΠυϥ
    ΠϯΛ௥Ճͨ͠΋ͷ͕#FZPOEUIF'BDUPS"QQͰ͢ɻ
    Beyond
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  5. 01. One Codebase, One Application
    όʔδϣϯ؅ཧ͞Ε͍ͯΔͭͷίʔυϕʔεʹͭͷΞϓϦέʔγϣϯ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  6. 01. One Codebase, One Application
    Ϋϥ΢υωΠςΟϒΞϓϦέʔγϣϯ͸ɺ୯ҰͷϦϙδτϦͰ؅ཧ͞Εͨίʔυ
    ϕʔεΛ࣋ͪɺෳ਺ͷҟͳΔ؀ڥʹϦϦʔε͞ΕΔɻ
    ෳ਺ͷνʔϜ͕ɺಉ͡ϦϙδτϦͰҟͳΔػೳΛ։ൃ͢ΔͱɺͭͷΞϓϦέʔ
    γϣϯͰ͸ͳ͘ͳͬͯ͠·͏ͨΊɺϚΠΫϩαʔϏεԽΛݕ౼͢΂͖Ͱ͋Δɻ
    ʠΞʔΩςΫνϟ͸૊৫ʹ͕ͨ͠͏ɻ૊৫͸ΞʔΩςΫνϟʹ͕ͨ͠͏ʡʙίϯ
    ΢ΣΠͷ๏ଇ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  7. 02. API First
    αʔϏεͷߏங͸"1*ͷઃܭ͔Β࢝ΊΔ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  8. 02. API First
    ϞόΠϧϑΝʔετ͔Β"1*ϑΝʔετ΁ɻ"1*ͩͱෳ਺αʔϏεͷ࿈ܞ΍ɺε
    ϚϗΞϓϦͱ8ΞϓϦͷΑ͏ͳϚϧνσόΠεʹ΋ରԠͰ͖Δɻ
    "1*ͷઃܭ͸"1*υΩϡϝϯτ࡞੒πʔϧΛར༻͢Δɻ4XBHHFS΍"1*
    #MVFQSJOUͱ"QJBSZͱ͍ͬͨπʔϧΛ࢖͑͹ɺ"1*υΩϡϝϯτ͔Βɺίʔυ΍
    4%,ɺϞοΫαʔόͳͲΛੜ੒͢Δ͜ͱ͕Ͱ͖Δɻ
    "1*ϑΝʔετͷγεςϜ͸ɺ࢓༷͕໌֬ʹఆٛ͞Ε͍ͯΔͷͰɺςετ͕ॻ͖
    ΍͘͢ɺ$*؀ڥͰγεςϜΛҡ͍࣋ͯ͘͠ࣄ͕Ͱ͖Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  9. 03. Dependency Management
    ґଘؔ܎Λ໌ࣔతʹએݴ͠෼཭͢Δ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  10. 03. Dependency Management
    ϥΠϒϥϦͷ؅ཧ͸ɺ1)1ͷ$PNQPTFSɺ3VCZͷ(FNɺ/PEFKTͷOQNͳͲ
    ͷύοέʔδ؅ཧγεςϜΛར༻͢Δ͜ͱʹΑͬͯɺΞϓϦέʔγϣϯ͕Ͳͷϥ
    ΠϒϥϦʹґଘ͍ͯ͠Δ͔͕໌֬ʹͳΓɺγεςϜ࣮ߦ؀ڥʹґଘ͠ͳ͍ɻ
    γεςϜʹΠϯετʔϧ͞Ε͍ͯΔͰ͋Ζ͏DVSM΍*NBHF.BHJDLͳͲͷπʔϧ
    Λ࢖͏৔߹΋ɺকདྷҧ࣮ͬͨߦ؀ڥͰ࢖ΘΕͨ৔߹ʹଘࡏ͍ͯ͠ͳ͍Մೳੑ͕͋
    ΔͷͰɺΞϓϦέʔγϣϯଆͰ؅ཧ͢Δ΂͖Ͱ͋Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  11. 04. Design, Build, Release, Run
    ઃܭɺϏϧυɺϦϦʔεɺ࣮ߦ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  12. 04. Design, Build, Release, Run
    ઃܭɿΞϓϦέʔγϣϯ͸ࣄલʹશ෦ઃܭ͢ΔͷͰ͸ͳ͘ɺઃܭͱίʔσΟϯά
    Λখ͍͞୯ҐͰ܁Γฦ͠ߦ͍ͬͯ͘ɻ
    ϏϧυɿϦϙδτϦͰࢦఆ͞Εͨίʔυϕʔεͷґଘؔ܎Λղܾ͠ίϯύΠϧɻ
    ϩʔΧϧ؀ڥͰ΋ಉ༷ͷखॱΛߦ͑͹ϩʔΧϧͰಈ͍͕ͨຊ൪Ͱಈ͔ͳ͍ͱ͍͏
    ໰୊͸ൃੜ͠ͳ͍ɻ
    ϦϦʔεɿϏϧυ͞Εͨ΋ͷΛ؀ڥຖͷσϓϩΠઃఆͱ݁߹ͯ͠ϦϦʔεɻϦϦʔ
    ε͸ඞͣҰҙͳ*%Λ࣋ͪɺϩʔϧόοΫͰ͖ΔΑ͏ʹ͢Δɻ$BQJTUSBOPͩͱλ
    ΠϜελϯϓΛ΋ͬͨσΟϨΫτϦɺ%PDLFSͩͱλάɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  13. 04. Design, Build, Release, Run
    The
    Twelve
    Factor
    App
    12
    Beyond
    ࣮ߦɿϦϦʔε͞ΕͨίϯςφͳͲͷϓϩηεΛىಈ࣮ͯ͠ߦɻϩʔΧϧͰϏϧ
    υ࣮ͯ͠ߦͨ͠΋ͷ͕ɺ$*$%ύΠϓϥΠϯΛ௨ͯ͡ɺͦͷ··ෳ਺ͷΫϥ΢υ
    ؀ڥͰ΋࣮ߦ͞ΕΔɻ

    View full-size slide

  14. 05. Configuration, Credentials, and Code
    ઃఆΛ؀ڥม਺ʹ֨ೲ͢Δ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  15. 05. Configuration, Credentials, and Code
    ઃఆ΍ೝূ৘ใ͸ίʔυ͔Β෼཭͢΂͖Ͱ͋Γɺόʔδϣϯ؅ཧʹ΋ؚΉ΂͖Ͱ
    ͸ͳ͍ɻ·ͨɺ؀ڥ͝ͱʢEFW QSPEʜʣʹઃఆΛάϧʔϐϯά͢΂͖Ͱ΋ͳ͍ɻ
    ؀ڥ͸ແݶʹ૿͍͑ͯ͘Մೳੑ͕͋Δɻ
    ઃఆΛ෼཭͢ΔҰ൪ͷํ๏͸؀ڥม਺΁ͷ֨ೲͰ͋Δɻίʔυमਖ਼͢Δ͜ͱͳ͘
    σϓϩΠ͝ͱʹ؆୯ʹมߋͰ͖ɺݴޠ΍04ʹґଘ͠ͳ͍ϑΥʔϚοτɻ
    ઃఆͱίʔυ͕෼཭Ͱ͖͍ͯΔ͔ͷ֬ೝ͸ɺࠓ͙͢ʹͰ΋ίʔυΛΦʔϓϯιʔ
    εԽͰ͖Δ͔Ͳ͏͔ͰΘ͔Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  16. 06. Logs
    ϩάΛΠϕϯτετϦʔϜͱͯ͠ѻ͏
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  17. 06. Logs
    Ϋϥ΢υωΠςΟϒΞϓϦέʔγϣϯ͸αʔό͕؆୯ʹ૿ݮͨ͠ΓɺҰ࣌తͳε
    τϨʔδ͔͠ͳ͍৔߹΋͋ΔͷͰɺϑΝΠϧγεςϜʹґଘ͠ͳ͍Α͏ʹɺϩά
    ͷग़ྗઌ΍ετϨʔδʹ͍ͭͯ͸Ұ੾ؔ஌ͤͣɺ࣮ߦதͷϓϩηε͸Πϕϯτε
    τϦʔϜΛඪ४ग़ྗʹॻ͖ग़͠ɺ࣮ߦ؀ڥͰ͸ετϦʔϜΛॲཧ͢ΔqVFOUE΍
    $MPVE8BUDI-PHTͳͲͰॲཧ͢Δɻ
    ϩάΛू໿ͨ͠Γ෼ੳ͍ͨ͠৔߹͸ɺ5SFBTVSF%BUB΍&-,ελοΫ
    &MBTUJD4FBSDI -PHTUBTI BOE,JCBOB
    ͳͲΛར༻͢Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  18. 07. Disposability
    ߴ଎ͳىಈͱάϨʔεϑϧγϟοτμ΢ϯͰݎ࿚ੑΛ࠷େԽ͢Δ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  19. 07. Disposability
    Ϋϥ΢υωΠςΟϒΞϓϦέʔγϣϯͷϓϩηε͸ഇغ༰қੑʢߴ଎ͳϓϩηε
    ͷىಈͱऴྃʣ͕େ੾Ͱ͋Δɻ"84-BNCEBͳͲ͸ϦΫΤετ͝ͱʹҰ࣌తͳ
    ϓϩηε͕ىಈͯ͠ॲཧ͢ΔͨΊىಈ࣌ؒͷ୹ॖ͸ॏཁͰ͋Δɻ
    ·ͨىಈ͕࣌ؒ୹͍ͱɺϦϦʔε࡞ۀ΍εέʔϧΞοϓ΋ૉૣ͘ߦ͑ΔΑ͏ʹͳ
    Γɺ։ൃϓϩηε΋ߴ଎Խ͢Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  20. 08. Backing services
    όοΫΤϯυαʔϏεΛΞλον͞ΕͨϦιʔεͱͯ͠ѻ͏
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  21. 08. Backing services
    σʔλϕʔε΍ϝʔϧαʔόͳͲͷόοΫΤϯυͷαʔϏε͸ɺαʔυύʔςΟ
    ͷαʔϏεΛ"1*ͳͲΛ௨ͯ͡ར༻͢Δࣄ͕૿͍͑ͯΔͷͰɺΞλον͞ΕͨϦ
    ιʔεͱͯ͠ѻ͍ɺ؆୯ʹ੾Γସ͑ͯར༻Ͱ͖ΔΑ͏ʹ͢Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond
    σʔλϕʔεͷ"NB[PO3%4ɺ
    4.51ͷ1PTUpYͱ$VFOPUF434
    ΍4FOE(SJEɺΩϡʔͷ
    #FBOTUBMLEͱ424ͳͲɻ

    View full-size slide

  22. 08. Backing services
    αʔυύʔςΟͷαʔϏεΛ࢖͏৔߹ɺαʔϏε͕μ΢ϯ͢ΔͱίωΫγϣϯͷ
    λΠϜΞ΢τ଴͕ͪൃੜͯ͠ɺଞͷॲཧ΋μ΢ϯͯ͠͠·͏Մೳੑ͕͋ΔͨΊɺ
    $JSDVJU#SFBLFSύλʔϯΛ࠾༻͢ΔͱΑ͍ɻ
    The
    Twelve
    Factor
    App
    12
    Beyond
    $JSDVJU#SFBLFSύλʔϯͱ͸ɺϦϞʔτΞΫηεͷ੒ޭʗࣦഊΛΧ΢ϯτ͠ɺΤϥʔ཰͕ᮢ஋Λ
    ௒͑ͨͱ͖ʹࣗಈతʹΞΫηεΛःஅ͢Δ࢓૊Έɻ
    WJB෼ࢄαʔϏε؀ڥ΁ͷ$JSDVJU#SFBLFSͷద༻-*/&&OHJOFFST#MPH

    View full-size slide

  23. 09. Environment Parity
    ͢΂ͯͷ؀ڥΛͰ͖Δ͚ͩҰகͤͨ͞ঢ়ଶΛอͭ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  24. 09. Environment Parity
    ։ൃ؀ڥɾεςʔδϯά؀ڥɾຊ൪؀ڥͳͲͷෳ਺ͷ؀ڥ͸Ͱ͖Δ͚ͩΪϟοϓ
    Λ࡞ΒͣʹҰகͤ͞Δɻ؀ڥ͝ͱʹΪϟοϓ͕࡞ΒΕΔཁҼ͸ओʹʮ࣌ؒʯ
    ʮਓʯʮϦιʔεʢόοΫΤϯυαʔϏεʣʯͷͭɻ
    ࣌ؒɿຊ൪؀ڥ΁ͷϦϦʔε͸ग़དྷΔݶΓ୹ظؒʢ਺࣌ؒ୯ҐʣͰߦ͏ɻ
    ਓɿίʔυΛॻ͘ਓͱσϓϩΠ͢Δਓ͸ಉ͡ਓ͕୲౰͢Δɻͦͯ͠σϓϩΠ͸
    ΞΫγϣϯͰ؆୯ʹͰ͖ΔΑ͏ʹ͢Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  25. 09. Environment Parity
    ϦιʔεɿϩʔΧϧ؀ڥͱຊ൪؀ڥ͸$IFG΍%PDLFSͳͲΛར༻ͯ͠ग़དྷΔݶΓ
    Ұகͨ͠όοΫΤϯυαʔϏεΛ࢖͏ɻຊ൪͸.Z42-ͰϩʔΧϧ͸42-JUF΍ɺ
    ຊ൪͸NFNDBDIFEͰϩʔΧϧ͸ΠϯϝϞϦͳͲͱ͍͏Ϊϟοϓ͸࡞Βͳ͍ɻ؀
    ڥͷҰக͸࣌ؒͱखؒΛ͔͚ͯͰ΋ߦ͏΂͖Ͱ͋Δɻ
    શͯͷίϛοτ͸σϓϩΠީิͱͯ͠ɺͲͷ؀ڥͰ΋ಈ͘Α͏ʹ৺͕͚Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  26. 10. Administrative Processes
    ؅ཧλεΫ͸ΞϓϦέʔγϣϯ͔Β෼཭͢Δ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  27. 10. Administrative Processes
    ΦϦδφϧ'BDUPS"QQͰ͸؅ཧλεΫΛΞϓϦέʔγϣϯ಺ʹ࣮૷ɺ΋͘͠
    ͸3&1-ʢ3BJMTͷQSZ΍-BSBWFMͷUJOLFSͳͲʣΛ׆༻͢Δͱͳ͍ͬͯΔ͕ɺ
    #FZPOE൛Ͱ͸ҟΛএ͍͑ͯΔɻ
    ΞϓϦέʔγϣϯͱҰॹͩͱεέʔϧΞ΢τ࣌ʹແ਺ͷ؅ཧλεΫ͕ىಈͯ͠͠
    ·͏͔΋͠Εͳ͍ɻ·ͨΫϥ΢υωΠςΟϒͳΞϓϦέʔγϣϯ͸DSPOͳͲͷσʔ
    Ϟϯ͕࢖͑ͳ͍࣌΋͋Δɻ 4Ͱ੩తαΠτɺ-BNCEBͰνϟοτϘοτͱ͔

    ·ͨɺΞϓϦέʔγϣϯ಺ͷ؅ཧλεΫͷηΩϡϦςΟΛߟ͑ͳ͍ͱ͍͚ͳ͍ɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  28. 10. Administrative Processes
    ؅ཧλεΫ͸ΞϓϦέʔγϣϯ಺෦Ͱ࣮૷ͤͣʹɺ"84-BNCEBͳͲͰ؅ཧλ
    εΫઐ༻ͷΫϥ΢υωΠςΟϒΞϓϦέʔγϣϯΛ࡞Δ΂͖Ͱ͋Δɻ
    ηΩϡϦςΟͷߟྀ͕ݶఆతͱͳΓɺΞϓϦέʔγϣϯ͕ͲΜͳʹεέʔϧΞ΢
    τͯ͠΋ӨڹΛ͏͚ͳ͍ɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  29. 11. Port binding
    ϙʔτόΠϯσΟϯάΛ΍Ίͯίϯςφͱͯ͠αʔϏεΛެ։͢Δ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  30. 11. Port binding
    ΦϦδφϧ'BDUPS"QQͰ͸ΞϓϦέʔγϣϯΛϙʔτΛόΠϯυͯ͠αʔϏ
    εͱͯ͠ެ։͢Δͱͳ͍ͬͯΔ͕ɺΫϥ΢υωΠςΟϒΞϓϦέʔγϣϯ͸ίϯ
    ςφ୯ҐͰαʔϏεͱͯ͠ެ։͢Δɻ
    ·ͨϩʔΧϧͰ͸MPDBMIPTUɺຊ൪؀ڥͰ͸BQQFYBNQMFDPNͱ؀ڥʹ
    ΑͬͯϙʔτΛόΠϯυ͢Δ৔߹͸؀ڥม਺ʹΑͬͯมߋ͕Ͱ͖ΔΑ͏ʹ͢Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  31. 12. Stateless Processes
    γΣΞʔυφογϯάύλʔϯʹΑΔεςʔτ؅ཧ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  32. 12. Stateless Processes
    ΞϓϦέʔγϣϯͷϓϩηε͸શͯεςʔτϨεͱͳΓɺηογϣϯͳͲͷঢ়ଶ
    ؅ཧʹ͸γΣΞʔυφογϯάͳόοΫΤϯυαʔϏεΛར༻͢Δɻ
    Ϋϥ΢υωΠςΟϒΞϓϦέʔγϣϯͷϑΝΠϧγεςϜ͸Ұ࣌తͳ΋ͷ΍Ϧʔ
    υΦϯϦʔͷ৔߹΋͋ΔͨΊόοΫΤϯυαʔϏεͱͯ͠͸࢖༻͢΂͖Ͱͳ͍ɻ
    ·ͨΠϯϝϞϦΩϟογϡ͸ɺϓϩηεىಈ࣌ʹϝϞϦΩϟογϡ͢Δͱϓ
    ϩηεഇغ༰қੑͰड़΂ͨΞϓϦέʔγϣϯͷϓϩηεىಈߴ଎ԽΛ્֐͢Δͨ
    Ίɺ3FEJTͳͲͷΩϟογϡαʔϏεΛ࢖͏΂͖Ͱ͋Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  33. 13. Concurrency
    εέʔϧΞοϓͰ͸ͳ͘εέʔϧΞ΢τͰϓϩηεΛ૿΍͢
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  34. 13. Concurrency
    εςʔτϨε͔ͭγΣΞʔυφογϯάͰഇغ༻ҙͳϓϩηεΛ࣋ͭΫϥ΢υω
    ΠςΟϒΞϓϦέʔγϣϯ͸ɺෳ਺ͷΠϯεϯεΛ্ཱͪ͛ͯεέʔϧΞ΢τ͢
    Δ͜ͱ͕ɺ$16Λ্͛ͨΓϝϞϦΛ૿΍ͨ͠Γ͢ΔεέʔϧΞοϓΑΓ؆୯Ͱޮ
    ՌతͰ͋Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  35. 14. Telemetry
    ޿େͳΫϥ΢υͰͷϦϞʔτ؂ࢹ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  36. 14. Telemetry
    ΦϦδφϧͷ'BDUPS"QQʹ͸ແ͍߲໨ɻ؂ࢹʹ͸"1. ύϑΥʔϚϯε
    ɺ
    ,1* Ϗδωεࢦඪ
    ɺࢮ׆؂ࢹͷ͕ͭඞཁɻΫϥ΢υωΠςΟϒΞϓϦέʔγϣ
    ϯ͸༷ʑͳΠϯεϯεʗόοΫΤϯυαʔϏεʗαʔυύʔςΟαʔϏεͰߏ੒
    ͞ΕΔͨΊ؂ࢹ͕ෳࡶ໘౗ʹͳͬͯ͠·͏ͷͰɺઃܭஈ֊͔Β؂ࢹํ๏Λݕ౼͢
    ΂͖Ͱ͋Δɻ
    "1.ɿ/FX3FMJD (BOHMJB %BUB%PH
    ,1*ɿ(PPHMF"OBMZUJDT 5SFBTVSF%BUB 3FETIJGU
    ࢮ׆؂ࢹɿ/BHJPT $MPVE8BUDI $MPVE5SBJM
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  37. 15. Authentication and Authorization
    ϩʔϧϕʔεͷೝূͱೝՄ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide

  38. 15. Authentication and Authorization
    ΦϦδφϧͷ'BDUPS"QQʹ͸ແ͍߲໨ɻΫϥ΢υωΠςΟϒΞϓϦέʔγϣ
    ϯͷηΩϡϦςΟରࡦ͸3#"$ 3PMF#BTF"DDFTT$POUSPMM
    ͕ద͍ͯ͠ΔɻΞ
    ϓϦέʔγϣϯ͸ͲͷϢʔβʔ͕ϦΫΤετ͍ͯ͠Δͷ͔Λೝূ͠ɺͦͷϢʔβʔ
    ͕ଐ͍ͯ͠Δϩʔϧ͔Β࣮ߦͰ͖ΔॲཧΛೝՄ͢Δɻ
    ैདྷͷόοΫΤϯυαʔϏεͱͷ઀ଓͰ͸*1Ͱͷ੍ݶ͕ଟ͍͕ɺΠϯελϯε͕
    ૿ݮͨ͠ΓҰ࣌తͳ΋ͷͰ͋Δ৔߹͸*1؅ཧ͕೉͍ͨ͠ΊɺϢʔβʔͱಉ༷ʹ
    3#"$͕༗ޮͰ͋Δɻ
    The
    Twelve
    Factor
    App
    12
    Beyond

    View full-size slide