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
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
230
Design Foundational Data Engineering Observability
sucitw
3
200
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
860
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
230
概念モデル→論理モデルで気をつけていること
sunnyone
2
230
RDoc meets YARD
okuramasafumi
4
170
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
320
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
230
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Writing Fast Ruby
sferik
628
62k
Producing Creativity
orderedlist
PRO
347
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Side Projects
sachag
455
43k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Making Projects Easy
brettharned
117
6.4k
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