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
1k
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
1
1.5k
ピュアなドメインを支える技術/pure domain model and the technology behind it
petitviolet
14
10k
小さく始めるクラウドネイティブ/small start CloudNative
petitviolet
0
1.9k
実践GraphQL on Scala/Real world GraphQL on Scala
petitviolet
8
3.1k
Kubernetesを知る/Introduction Kubernertes
petitviolet
1
650
GraphQL on Scala
petitviolet
3
2.7k
Microservices Batch on GAE
petitviolet
0
1.9k
Web API Design
petitviolet
18
8.5k
Property Based Testing introduction
petitviolet
1
130
Other Decks in Programming
See All in Programming
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
1.8k
Rancher と Terraform
fufuhu
2
240
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
500
Navigating Dependency Injection with Metro
zacsweers
2
190
rage against annotate_predecessor
junk0612
0
160
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
270
速いWebフレームワークを作る
yusukebe
5
1.7k
サーバーサイドのビルド時間87倍高速化
plaidtech
PRO
0
720
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
500
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.1k
アセットのコンパイルについて
ojun9
0
120
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
250
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Building Applications with DynamoDB
mza
96
6.6k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Into the Great Unknown - MozCon
thekraken
40
2k
How STYLIGHT went responsive
nonsquared
100
5.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
KATA
mclloyd
32
14k
Scaling GitHub
holman
463
140k
Fireside Chat
paigeccino
39
3.6k
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