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
2019年だからこそ12factor app/The Twelve-Factor app in...
Search
petitviolet
January 09, 2019
Programming
1
990
2019年だからこそ12factor app/The Twelve-Factor app in 2019
社内勉強会での発表資料
https://12factor.net/ja/
petitviolet
January 09, 2019
Tweet
Share
More Decks by petitviolet
See All by petitviolet
Stripeで請求書払い&銀行振込を実装する
petitviolet
0
1.3k
ピュアなドメインを支える技術/pure domain model and the technology behind it
petitviolet
14
10k
小さく始めるクラウドネイティブ/small start CloudNative
petitviolet
0
1.8k
実践GraphQL on Scala/Real world GraphQL on Scala
petitviolet
8
3k
Kubernetesを知る/Introduction Kubernertes
petitviolet
1
630
GraphQL on Scala
petitviolet
3
2.6k
Microservices Batch on GAE
petitviolet
0
1.9k
Web API Design
petitviolet
18
8.3k
Property Based Testing introduction
petitviolet
1
110
Other Decks in Programming
See All in Programming
AIプログラミング雑キャッチアップ
yuheinakasaka
20
5.2k
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
300
Jasprが凄い話
hyshu
0
180
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
ML.NETで始める機械学習
ymd65536
0
240
Swift Testingのモチベを上げたい
stoticdev
2
200
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
130
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
200
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
510
Google Cloudとo11yで実現するアプリケーション開発者主体のDB改善
nnaka2992
1
110
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Git: the NoSQL Database
bkeepers
PRO
428
65k
Faster Mobile Websites
deanohume
306
31k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
What's in a price? How to price your products and services
michaelherold
244
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
660
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Designing for Performance
lara
605
68k
Transcript
͔ͩΒͦ͜GBDUPSBQQ 'SJOHF৽ձ !QFUJUWJPMFU
None
GBDUPSBQQ w ʮ5IF5XFMWF'BDUPS"QQʯ w IUUQTGBDUPSOFU w )FSPLVͷਓ͕ॻ͍ͨจॻ w 8FCΞϓϦέʔγϣϯΛσϓϩΠ͠·ͬͨ͘ܦ ݧΛݩʹ·ͱΊͨɺΫϥυͰಈ͔͢ΞϓϦͷ
ϏϧυσϓϩΠͷϕετϓϥΫςΟεू
GBDUPSBQQ w ॳग़ࠒͱݹ͍ w IUUQTHJUIVCDPNIFSPLVGBDUPSDPNNJUCFEFBCCCCGGDGECGDDCC w Ͳ͏ݟͯݸ͔͠ͳ͔ͬͨ w ࠓ͞ΒͰ࣮֬ʹ͓͖͍͑ͯͨલఏࣝ w
Ͳ͏ΞϓϦΛ։ൃ͢Δ͖͔ w ΠϯϑϥΛߟ͑Δ࣌ʹͲ͏࡞Δ͖͔ w %FW0QT43&ɺ͞Βʹ%9తͳ؍Ͱඞཁ
؆୯ͳ·ͱΊ w εέʔϥϒϧ w ϙʔλϒϧ w Φϖϛεࢭ w ޮԽ Λࢦͯ͠։ൃ͠·͠ΐ͏ʂͱ͍͏ϓϥΫςΟε
GBDUPS * ίʔυϕʔε ** ґଘؔ *** ઃఆ *7 όοΫΤϯυαʔϏε 7
ϏϧυɺϦϦʔεɺ࣮ߦ 7* ϓϩηε 7**ϙʔτόΠϯσΟϯά 7***ฒߦੑ *9 ഇغ༰қੑ 9 ։ൃຊ൪Ұக 9* ϩά 9**ཧϓϩηε
GBDUPS * ίʔυϕʔε ** ґଘؔ *** ઃఆ *7 όοΫΤϯυαʔϏε 7
ϏϧυɺϦϦʔεɺ࣮ߦ 7* ϓϩηε 7**ϙʔτόΠϯσΟϯά 7***ฒߦੑ *9 ഇغ༰қੑ 9 ։ൃຊ൪Ұக 9* ϩά 9**ཧϓϩηε શ෦ஸೡʹ͍ͯ͠Δͱ࣌ؒͳ͍ͷͰͬ͘͞ͱ
GBDUPSd * ίʔυϕʔε w ୯ҰHJUϦϙδτϦͰΞϓϦΛཧ w ΞϓϦέʔγϣϯ͚ͩ͡Όͳͯ͘Πϯϑϥཧ ** ґଘؔ w
ΞϓϦ͕ґଘ͢ΔͷΛͯ͢໌ࣔతʹ͢Δ w ޙʹσϓϩΠͯͪ͠ΌΜͱಈ͘͜ͱΛอূ͢Δ *** ઃఆ w ઃఆڥมʹ֨ೲ͢Δ w ίʔυϕʔεಉ͕ͩ͡ɺσϓϩΠ͢ΔڥʹΑͬͯ །Ұҧ͏ͷ͕ʮઃఆʯ w ιʔείʔυΛࠓ͙͢Φʔϓϯιʔεʹग़དྷ·͔͢ʁ
GBDUPSd *7 όοΫΤϯυαʔϏε w όοΫΤϯυαʔϏεΛΞλον͞ΕͨϦιʔεͱͯ͠ѻ͏ w ωοτϫʔΫӽ͠ʹར༻͢ΔαʔϏεͷ͜ͱ 7 ϏϧυɺϦϦʔεɺ࣮ߦ w
ϏϧυϦϦʔε࣮ߦͷͭͷεςʔδΛݫີʹ w σϓϩΠπʔϧΛͬͯϩʔϧόοΫͨ͠Γ࠶ىಈͨ͠Γग़ དྷΔΑ͏ʹ͑Δ 7* ϓϩηε w ΞϓϦέʔγϣϯΛͭ͘͠ෳͷεςʔτϨεͳϓϩ ηεͱ࣮ͯ͠ߦ͢Δ w εςʔτϨε͔ͭγΣΞʔυφογϯάͳϓϩηεʹ͢Δ
GBDUPSd 7**ϙʔτόΠϯσΟϯά w ΞϓϦέʔγϣϯ͕αʔόʔͱͯ͠ͷػೳΛ࣋ͪɺϙʔτό ΠϯσΟϯάΛ༻͍ͯαʔϏεͱͯ͠֎෦ʹެ։͢Δ 7***ฒߦੑ w ਨεέʔϧͰͳ͘ਫฏεέʔϧɺ͋Δ͍εέʔϧΞο ϓͰͳͯ͘εέʔϧΞτʹΑͬͯύϑΥʔϚϯεΛ্ ͤ͞ΒΕΔΑ͏ʹ։ൃ͢Δ
*9 ഇغ༰қੑ w ߴͳىಈͱάϨʔεϑϧγϟοτμϯͰݎ࿚ੑΛ࠷େԽ w ଈ࠲ʹىಈऴྃ͢Δ͜ͱ͕ग़དྷΔ w 4*(5&3.Λड͚औͬͯάϨʔεϑϧʹγϟοτμϯ͢Δ
GBDUPSd 9 ։ൃຊ൪Ұக w ։ൃεςʔδϯάຊ൪ΛͰ͖Δ͚ͩҰகͤͨ͞ঢ়ଶΛอͭ w σϓϩΠ͝ͱͷ࣌ؒɺਓࡐɺπʔϧͷΪϟοϓΛͳ͘͢ 9* ϩά w
ϩάΛΠϕϯτετϦʔϜͱͯ͠ѻ͏ w ΞϓϦέʔγϣϯετϨʔδͳͲΛؾʹͤͣɺϩάΛ TUEPVUTUEFSSͷετϦʔϜͱͯ͠ॻ͖ग़͢ 9**ཧϓϩηε w ཧλεΫΛճݶΓͷϓϩηεͱ࣮ͯ͠ߦ͢Δ w %#ͷϚΠάϨʔγϣϯॳظσʔλ࡞ͱ͍ͬͨεΫϦϓτ ΞϓϦέʔγϣϯͷίʔυϕʔεͱҰॹʹσϓϩΠՄೳʹ ͢Δ
·ͱΊ w σϓϩΠ͢Δڥ͝ͱʹ࣮ม͑ͳ͍ w ઃఆ ڥม ͰΓସ͑Δ͚ͩ w ฒྻॲཧग़དྷΔΑ͏ʹ࡞Δ w
γΣΞʔυφογϯά w ϓϩηεͷىಈఀࢭΛΧδϡΞϧʹ w ϏϧυˠϦϦʔεΘ͚Δ w ҰϏϧυͨ͠ΒϦϦʔεͷͨͼʹ࠶ར༻ w ϦϦʔεԿͰग़དྷΔΑ͏ʹ
Ͱʁ w ͔͜͜Β͏ͪΐͬͱࠓ෩ͳ w %PDLFS ,VCFSOFUFT࣌ʹ͓͚ΔGBDUPSBQQ
͜Ε͔ΒͷGBDUPSBQQ %PDLFS͕ී௨ʹͳΓɺ)FSPLVͪΖΜ("&ͷΑ ͏ͳ1BB4͕ҰൠతʹΘΕΔΑ͏ʹͳΓɺ ,VCFSOFUFTͷΑ͏ͳίϯςφΦʔέετϨʔγϣϯ Λ͢Δ͜ͱ͕ٻΊΒΕ͍ͯΔ࣌ʹɺͲ͏GBDUPS BQQͱ͖߹͏ͷ͔ ͋Δ͍GBDUPSBQQ͏ݹ͍ͷ͔ʁ
؆୯ͳ·ͱΊ ࠶ܝ w εέʔϥϒϧ w ϙʔλϒϧ w Φϖϛεࢭ w ޮԽ
Λࢦͯ͠։ൃ͠·͠ΐ͏ʂͱ͍͏ϓϥΫςΟε
͜Ε͔ΒͷGBDUPSBQQ w GBDUPSBQQͷߟ͑ํಛʹมΘΒͳ͍ w ಈ͔͢ڥ͕ਐԽ͍ͯ͠Δ͚ͩ w ͭ·Γɺ࣮ݱํ๏͕มΘΔ͚ͩ w %PDLFSʹΑΔϓϩηεཧ w
$POUJOVPVT%FMJWFSZͰϦϦʔε w ϦϦʔε࡞ۀʹLVCFDUM͏ w FUD
ͪͳΈʹ w GBDUPSBQQΛNFTPTQIFSF͕ఏএ͍ͯ͠Δ w IUUQTNFTPTQIFSFDPNCMPHGBDUPSBQQCVJMEJOHSFMFBTJOHGPSDMPVEOBUJWF w GBDUPS )FBMUI$IFDLT • The
“12 Factor App” has been the backbone of cloud native applications on hyper-scale platforms for a long time (including Mesosphere DC/OS).
·ͱΊ w GBDUPSBQQ։ൃऀ͕͓͖͍͑ͯͨݪଇ w ࠓͰͨΓલʹͳ͍ͬͯΔ͜ͱ͋Δ w ͕ɺͰे௨༻͢Δ w ͥͻҰಡΜͰ͓͍ͯͶʂ w
IUUQTGBDUPSOFUKB