Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Beyond the Twelve-Factor App
Search
Kazuya Takahashi
August 30, 2016
Technology
5
24k
Beyond the Twelve-Factor App
クラウドネイティブアプリケーションの設計パターン「Beyond the Twelve-Factor App」の紹介
Kazuya Takahashi
August 30, 2016
Tweet
Share
More Decks by Kazuya Takahashi
See All by Kazuya Takahashi
ソリューションカンパニーの開発組織はどう成長してきたのか
tayasu
0
270
ポイントシステム基盤を支える技術
tayasu
0
490
サーバレス?で重たいバッチ処理
tayasu
1
950
Other Decks in Technology
See All in Technology
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
130
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
170
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Taming you application's environments
salaboy
0
190
The Rise of LLMOps
asei
8
1.7k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
341
39k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Six Lessons from altMBA
skipperchong
27
3.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Become a Pro
speakerdeck
PRO
25
5k
How GitHub (no longer) Works
holman
310
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Building Adaptive Systems
keathley
38
2.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Bash Introduction
62gerente
608
210k
Transcript
The Twelve Factor App 12 Cloud NATIVE APPLICATION PATTERNS 2016.08.26
Kazuya Takahashi @REALWORLD Beyond
About me The Twelve Factor App 12 Beyond גࣜձࣾϦΞϧϫʔϧυ(. גࣜձࣾ3&"-'*/5&$)$50
∁ڮ ΞδϟΠϧͰϑϧελοΫͳҙࣝߴ͍ΤϯδχΞ ݸਓͰ-*7&"(&ͱ͍͏Իָʷ8&#ͳूஂͷҰһͰ͢ IUUQTMJWFBHFUPEBZ
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
the Twelve-Factor App 'BDUPS"QQΛௐͯݟ͚ͭͨͷ͕ʮ#FZPOEUIF5XFMWF'BDUPS"QQʯ ΦϦδφϧ'BDUPS"QQඇৗʹ༗༻͕ͩɺʹॻ͔ΕͨͷͰঢ়گ͕ มΘ͖͍ͬͯͯΔɻಛʹ"84Λ࢝Ίͱͨ͠ΫϥυڥΛ׆༻ͨ͠ΫϥυωΠ ςΟϒΞϓϦέʔγϣϯͷ৽ͨͳϕετϓϥΫςΟεͱͯ͠ɺʹ1JWPUBM ͕ࣾɺΦϦδφϧͷݸͷΨΠυϥΠϯͷΞοϓσʔτͱݸͷ৽ͨͳΨΠυϥ ΠϯΛՃͨ͠ͷ͕#FZPOEUIF'BDUPS"QQͰ͢ɻ Beyond
The Twelve Factor App 12 Beyond
01. One Codebase, One Application όʔδϣϯཧ͞Ε͍ͯΔͭͷίʔυϕʔεʹͭͷΞϓϦέʔγϣϯ The Twelve Factor App
12 Beyond
01. One Codebase, One Application ΫϥυωΠςΟϒΞϓϦέʔγϣϯɺ୯ҰͷϦϙδτϦͰཧ͞Εͨίʔυ ϕʔεΛ࣋ͪɺෳͷҟͳΔڥʹϦϦʔε͞ΕΔɻ ෳͷνʔϜ͕ɺಉ͡ϦϙδτϦͰҟͳΔػೳΛ։ൃ͢ΔͱɺͭͷΞϓϦέʔ γϣϯͰͳ͘ͳͬͯ͠·͏ͨΊɺϚΠΫϩαʔϏεԽΛݕ౼͖͢Ͱ͋Δɻ ʠΞʔΩςΫνϟ৫ʹ͕ͨ͠͏ɻ৫ΞʔΩςΫνϟʹ͕ͨ͠͏ʡʙίϯ
ΣΠͷ๏ଇ The Twelve Factor App 12 Beyond
02. API First αʔϏεͷߏங"1*ͷઃܭ͔Β࢝ΊΔ The Twelve Factor App 12 Beyond
02. API First ϞόΠϧϑΝʔετ͔Β"1*ϑΝʔετɻ"1*ͩͱෳαʔϏεͷ࿈ܞɺε ϚϗΞϓϦͱ8&#ΞϓϦͷΑ͏ͳϚϧνσόΠεʹରԠͰ͖Δɻ "1*ͷઃܭ"1*υΩϡϝϯτ࡞πʔϧΛར༻͢Δɻ4XBHHFS"1* #MVFQSJOUͱ"QJBSZͱ͍ͬͨπʔϧΛ͑ɺ"1*υΩϡϝϯτ͔Βɺίʔυ 4%,ɺϞοΫαʔόͳͲΛੜ͢Δ͜ͱ͕Ͱ͖Δɻ "1*ϑΝʔετͷγεςϜɺ༷͕໌֬ʹఆٛ͞Ε͍ͯΔͷͰɺςετ͕ॻ͖ ͘͢ɺ$*ڥͰγεςϜΛҡ͍࣋ͯ͘͠ࣄ͕Ͱ͖Δɻ
The Twelve Factor App 12 Beyond
03. Dependency Management ґଘؔΛ໌ࣔతʹએݴ͢͠Δ The Twelve Factor App 12 Beyond
03. Dependency Management ϥΠϒϥϦͷཧɺ1)1ͷ$PNQPTFSɺ3VCZͷ(FNɺ/PEFKTͷOQNͳͲ ͷύοέʔδཧγεςϜΛར༻͢Δ͜ͱʹΑͬͯɺΞϓϦέʔγϣϯ͕Ͳͷϥ ΠϒϥϦʹґଘ͍ͯ͠Δ͔͕໌֬ʹͳΓɺγεςϜ࣮ߦڥʹґଘ͠ͳ͍ɻ γεςϜʹΠϯετʔϧ͞Ε͍ͯΔͰ͋Ζ͏DVSM*NBHF.BHJDLͳͲͷπʔϧ Λ͏߹ɺকདྷҧ࣮ͬͨߦڥͰΘΕͨ߹ʹଘࡏ͍ͯ͠ͳ͍Մೳੑ͕͋ ΔͷͰɺΞϓϦέʔγϣϯଆͰཧ͢Δ͖Ͱ͋Δɻ The
Twelve Factor App 12 Beyond
04. Design, Build, Release, Run ઃܭɺϏϧυɺϦϦʔεɺ࣮ߦ The Twelve Factor App
12 Beyond
04. Design, Build, Release, Run ઃܭɿΞϓϦέʔγϣϯࣄલʹશ෦ઃܭ͢ΔͷͰͳ͘ɺઃܭͱίʔσΟϯά Λখ͍͞୯ҐͰ܁Γฦ͠ߦ͍ͬͯ͘ɻ ϏϧυɿϦϙδτϦͰࢦఆ͞ΕͨίʔυϕʔεͷґଘؔΛղܾ͠ίϯύΠϧɻ ϩʔΧϧڥͰಉ༷ͷखॱΛߦ͑ϩʔΧϧͰಈ͍͕ͨຊ൪Ͱಈ͔ͳ͍ͱ͍͏ ൃੜ͠ͳ͍ɻ
ϦϦʔεɿϏϧυ͞ΕͨͷΛڥຖͷσϓϩΠઃఆͱ݁߹ͯ͠ϦϦʔεɻϦϦʔ εඞͣҰҙͳ*%Λ࣋ͪɺϩʔϧόοΫͰ͖ΔΑ͏ʹ͢Δɻ$BQJTUSBOPͩͱλ ΠϜελϯϓΛͬͨσΟϨΫτϦɺ%PDLFSͩͱλάɻ The Twelve Factor App 12 Beyond
04. Design, Build, Release, Run The Twelve Factor App 12
Beyond ࣮ߦɿϦϦʔε͞ΕͨίϯςφͳͲͷϓϩηεΛىಈ࣮ͯ͠ߦɻϩʔΧϧͰϏϧ υ࣮ͯ͠ߦͨ͠ͷ͕ɺ$*$%ύΠϓϥΠϯΛ௨ͯ͡ɺͦͷ··ෳͷΫϥυ ڥͰ࣮ߦ͞ΕΔɻ
05. Configuration, Credentials, and Code ઃఆΛڥมʹ֨ೲ͢Δ The Twelve Factor App
12 Beyond
05. Configuration, Credentials, and Code ઃఆೝূใίʔυ͔Β͖͢Ͱ͋ΓɺόʔδϣϯཧʹؚΉ͖Ͱ ͳ͍ɻ·ͨɺڥ͝ͱʢEFW QSPEʜʣʹઃఆΛάϧʔϐϯά͖͢Ͱͳ͍ɻ ڥແݶʹ૿͍͑ͯ͘Մೳੑ͕͋Δɻ ઃఆΛ͢ΔҰ൪ͷํ๏ڥมͷ֨ೲͰ͋Δɻίʔυमਖ਼͢Δ͜ͱͳ͘
σϓϩΠ͝ͱʹ؆୯ʹมߋͰ͖ɺݴޠ04ʹґଘ͠ͳ͍ϑΥʔϚοτɻ ઃఆͱίʔυ͕Ͱ͖͍ͯΔ͔ͷ֬ೝɺࠓ͙͢ʹͰίʔυΛΦʔϓϯιʔ εԽͰ͖Δ͔Ͳ͏͔ͰΘ͔Δɻ The Twelve Factor App 12 Beyond
06. Logs ϩάΛΠϕϯτετϦʔϜͱͯ͠ѻ͏ The Twelve Factor App 12 Beyond
06. Logs ΫϥυωΠςΟϒΞϓϦέʔγϣϯαʔό͕؆୯ʹ૿ݮͨ͠ΓɺҰ࣌తͳε τϨʔδ͔͠ͳ͍߹͋ΔͷͰɺϑΝΠϧγεςϜʹґଘ͠ͳ͍Α͏ʹɺϩά ͷग़ྗઌετϨʔδʹ͍ͭͯҰؔͤͣɺ࣮ߦதͷϓϩηεΠϕϯτε τϦʔϜΛඪ४ग़ྗʹॻ͖ग़͠ɺ࣮ߦڥͰετϦʔϜΛॲཧ͢ΔqVFOUE $MPVE8BUDI-PHTͳͲͰॲཧ͢Δɻ ϩάΛूͨ͠Γੳ͍ͨ͠߹ɺ5SFBTVSF%BUB&-,ελοΫ &MBTUJD4FBSDI -PHTUBTI
BOE,JCBOB ͳͲΛར༻͢Δɻ The Twelve Factor App 12 Beyond
07. Disposability ߴͳىಈͱάϨʔεϑϧγϟοτμϯͰݎ࿚ੑΛ࠷େԽ͢Δ The Twelve Factor App 12 Beyond
07. Disposability ΫϥυωΠςΟϒΞϓϦέʔγϣϯͷϓϩηεഇغ༰қੑʢߴͳϓϩηε ͷىಈͱऴྃʣ͕େͰ͋Δɻ"84-BNCEBͳͲϦΫΤετ͝ͱʹҰ࣌తͳ ϓϩηε͕ىಈͯ͠ॲཧ͢ΔͨΊىಈ࣌ؒͷॖॏཁͰ͋Δɻ ·ͨىಈ͕͍࣌ؒͱɺϦϦʔε࡞ۀεέʔϧΞοϓૉૣ͘ߦ͑ΔΑ͏ʹͳ Γɺ։ൃϓϩηεߴԽ͢Δɻ The Twelve Factor
App 12 Beyond
08. Backing services όοΫΤϯυαʔϏεΛΞλον͞ΕͨϦιʔεͱͯ͠ѻ͏ The Twelve Factor App 12 Beyond
08. Backing services σʔλϕʔεϝʔϧαʔόͳͲͷόοΫΤϯυͷαʔϏεɺαʔυύʔςΟ ͷαʔϏεΛ"1*ͳͲΛ௨ͯ͡ར༻͢Δࣄ͕૿͍͑ͯΔͷͰɺΞλον͞ΕͨϦ ιʔεͱͯ͠ѻ͍ɺ؆୯ʹΓସ͑ͯར༻Ͱ͖ΔΑ͏ʹ͢Δɻ The Twelve Factor App
12 Beyond σʔλϕʔεͷ"NB[PO3%4ɺ 4.51ͷ1PTUpYͱ$VFOPUF434 4FOE(SJEɺΩϡʔͷ #FBOTUBMLEͱ424ͳͲɻ
08. Backing services αʔυύʔςΟͷαʔϏεΛ͏߹ɺαʔϏε͕μϯ͢ΔͱίωΫγϣϯͷ λΠϜΞτ͕ͪൃੜͯ͠ɺଞͷॲཧμϯͯ͠͠·͏Մೳੑ͕͋ΔͨΊɺ $JSDVJU#SFBLFSύλʔϯΛ࠾༻͢ΔͱΑ͍ɻ The Twelve Factor App
12 Beyond $JSDVJU#SFBLFSύλʔϯͱɺϦϞʔτΞΫηεͷޭʗࣦഊΛΧϯτ͠ɺΤϥʔ͕ᮢΛ ͑ͨͱ͖ʹࣗಈతʹΞΫηεΛःஅ͢ΔΈɻ WJBࢄαʔϏεڥͷ$JSDVJU#SFBLFSͷద༻-*/&&OHJOFFST#MPH
09. Environment Parity ͯ͢ͷڥΛͰ͖Δ͚ͩҰகͤͨ͞ঢ়ଶΛอͭ The Twelve Factor App 12 Beyond
09. Environment Parity ։ൃڥɾεςʔδϯάڥɾຊ൪ڥͳͲͷෳͷڥͰ͖Δ͚ͩΪϟοϓ Λ࡞ΒͣʹҰகͤ͞Δɻڥ͝ͱʹΪϟοϓ͕࡞ΒΕΔཁҼओʹʮ࣌ؒʯ ʮਓʯʮϦιʔεʢόοΫΤϯυαʔϏεʣʯͷͭɻ ࣌ؒɿຊ൪ڥͷϦϦʔεग़དྷΔݶΓظؒʢ࣌ؒ୯ҐʣͰߦ͏ɻ ਓɿίʔυΛॻ͘ਓͱσϓϩΠ͢Δਓಉ͡ਓ͕୲͢Δɻͦͯ͠σϓϩΠ ΞΫγϣϯͰ؆୯ʹͰ͖ΔΑ͏ʹ͢Δɻ The
Twelve Factor App 12 Beyond
09. Environment Parity ϦιʔεɿϩʔΧϧڥͱຊ൪ڥ$IFG%PDLFSͳͲΛར༻ͯ͠ग़དྷΔݶΓ Ұகͨ͠όοΫΤϯυαʔϏεΛ͏ɻຊ൪.Z42-ͰϩʔΧϧ42-JUFɺ ຊ൪NFNDBDIFEͰϩʔΧϧΠϯϝϞϦͳͲͱ͍͏Ϊϟοϓ࡞Βͳ͍ɻ ڥͷҰக࣌ؒͱखؒΛ͔͚ͯͰߦ͏͖Ͱ͋Δɻ શͯͷίϛοτσϓϩΠީิͱͯ͠ɺͲͷڥͰಈ͘Α͏ʹ৺͕͚Δɻ The Twelve
Factor App 12 Beyond
10. Administrative Processes ཧλεΫΞϓϦέʔγϣϯ͔Β͢Δ The Twelve Factor App 12 Beyond
10. Administrative Processes ΦϦδφϧ'BDUPS"QQͰཧλεΫΛΞϓϦέʔγϣϯʹ࣮ɺ͘͠ 3&1-ʢ3BJMTͷQSZ-BSBWFMͷUJOLFSͳͲʣΛ׆༻͢Δͱͳ͍ͬͯΔ͕ɺ #FZPOE൛ͰҟΛএ͍͑ͯΔɻ ΞϓϦέʔγϣϯͱҰॹͩͱεέʔϧΞτ࣌ʹແͷཧλεΫ͕ىಈͯ͠͠ ·͏͔͠Εͳ͍ɻ·ͨΫϥυωΠςΟϒͳΞϓϦέʔγϣϯDSPOͳͲͷσʔ Ϟϯ͕͑ͳ͍࣌͋Δɻ 4Ͱ੩తαΠτɺ-BNCEBͰνϟοτϘοτͱ͔
·ͨɺΞϓϦέʔγϣϯͷཧλεΫͷηΩϡϦςΟΛߟ͑ͳ͍ͱ͍͚ͳ͍ɻ The Twelve Factor App 12 Beyond
10. Administrative Processes ཧλεΫΞϓϦέʔγϣϯ෦Ͱ࣮ͤͣʹɺ"84-BNCEBͳͲͰཧλ εΫઐ༻ͷΫϥυωΠςΟϒΞϓϦέʔγϣϯΛ࡞Δ͖Ͱ͋Δɻ ηΩϡϦςΟͷߟྀ͕ݶఆతͱͳΓɺΞϓϦέʔγϣϯ͕ͲΜͳʹεέʔϧΞ τͯ͠ӨڹΛ͏͚ͳ͍ɻ The Twelve Factor
App 12 Beyond
11. Port binding ϙʔτόΠϯσΟϯάΛΊͯίϯςφͱͯ͠αʔϏεΛެ։͢Δ The Twelve Factor App 12 Beyond
11. Port binding ΦϦδφϧ'BDUPS"QQͰΞϓϦέʔγϣϯΛϙʔτΛόΠϯυͯ͠αʔϏ εͱͯ͠ެ։͢Δͱͳ͍ͬͯΔ͕ɺΫϥυωΠςΟϒΞϓϦέʔγϣϯίϯ ςφ୯ҐͰαʔϏεͱͯ͠ެ։͢Δɻ ·ͨϩʔΧϧͰMPDBMIPTUɺຊ൪ڥͰBQQFYBNQMFDPNͱڥʹ ΑͬͯϙʔτΛόΠϯυ͢Δ߹ڥมʹΑͬͯมߋ͕Ͱ͖ΔΑ͏ʹ͢Δɻ The Twelve
Factor App 12 Beyond
12. Stateless Processes γΣΞʔυφογϯάύλʔϯʹΑΔεςʔτཧ The Twelve Factor App 12 Beyond
12. Stateless Processes ΞϓϦέʔγϣϯͷϓϩηεશͯεςʔτϨεͱͳΓɺηογϣϯͳͲͷঢ়ଶ ཧʹγΣΞʔυφογϯάͳόοΫΤϯυαʔϏεΛར༻͢Δɻ ΫϥυωΠςΟϒΞϓϦέʔγϣϯͷϑΝΠϧγεςϜҰ࣌తͳͷϦʔ υΦϯϦʔͷ߹͋ΔͨΊόοΫΤϯυαʔϏεͱͯ͠༻͖͢Ͱͳ͍ɻ ·ͨΠϯϝϞϦΩϟογϡɺϓϩηεىಈ࣌ʹϝϞϦΩϟογϡ͢Δͱϓ ϩηεഇغ༰қੑͰड़ͨΞϓϦέʔγϣϯͷϓϩηεىಈߴԽΛ્͢Δͨ Ίɺ3FEJTͳͲͷΩϟογϡαʔϏεΛ͏͖Ͱ͋Δɻ
The Twelve Factor App 12 Beyond
13. Concurrency εέʔϧΞοϓͰͳ͘εέʔϧΞτͰϓϩηεΛ૿͢ The Twelve Factor App 12 Beyond
13. Concurrency εςʔτϨε͔ͭγΣΞʔυφογϯάͰഇغ༻ҙͳϓϩηεΛ࣋ͭΫϥυω ΠςΟϒΞϓϦέʔγϣϯɺෳͷΠϯεϯεΛ্ཱͪ͛ͯεέʔϧΞτ͢ Δ͜ͱ͕ɺ$16Λ্͛ͨΓϝϞϦΛ૿ͨ͠Γ͢ΔεέʔϧΞοϓΑΓ؆୯Ͱޮ ՌతͰ͋Δɻ The Twelve Factor App
12 Beyond
14. Telemetry େͳΫϥυͰͷϦϞʔτࢹ The Twelve Factor App 12 Beyond
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
15. Authentication and Authorization ϩʔϧϕʔεͷೝূͱೝՄ The Twelve Factor App 12
Beyond
15. Authentication and Authorization ΦϦδφϧͷ'BDUPS"QQʹແ͍߲ɻΫϥυωΠςΟϒΞϓϦέʔγϣ ϯͷηΩϡϦςΟରࡦ3#"$ 3PMF#BTF"DDFTT$POUSPMM ͕ద͍ͯ͠ΔɻΞ ϓϦέʔγϣϯͲͷϢʔβʔ͕ϦΫΤετ͍ͯ͠Δͷ͔Λೝূ͠ɺͦͷϢʔβʔ ͕ଐ͍ͯ͠Δϩʔϧ͔Β࣮ߦͰ͖ΔॲཧΛೝՄ͢Δɻ
ैདྷͷόοΫΤϯυαʔϏεͱͷଓͰ*1Ͱͷ੍ݶ͕ଟ͍͕ɺΠϯελϯε͕ ૿ݮͨ͠ΓҰ࣌తͳͷͰ͋Δ߹*1ཧ͕͍ͨ͠ΊɺϢʔβʔͱಉ༷ʹ 3#"$͕༗ޮͰ͋Δɻ The Twelve Factor App 12 Beyond