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
250
ポイントシステム基盤を支える技術
tayasu
0
470
サーバレス?で重たいバッチ処理
tayasu
1
920
Other Decks in Technology
See All in Technology
継続的テストモデルを実現するためにスリーアミーゴスを用いた10Xでのシフトレフトの事例
nihonbuson
3
260
あらゆる商品を扱う商品データベースを再設計した話 / product db re-architecture
rince
8
3.9k
Azureコストは水道代/The_47th_Tokyo_Jazug
aeonpeople
3
390
データ品質をコード化! LINEヤフーのMLOpsを最適化する "ACP Data Quality" の紹介
lycorptech_jp
PRO
2
290
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
210
GraphQLに入門してみた
chiroruxx
2
130
サービスメッシュ環境における OpenTelemetry 活用 / OpenTelemetry in Service Mesh
k6s4i53rx
2
870
8週連続ウェビナー_イチから学ぶFivetran
cmsuzu
0
170
エバンジェリスト活動を7年やってきて見えてきた、コミュニティとエバンジェリストの関係
soracom
PRO
1
200
Vos logs méritent mieux que la config par défaut
lyrixx
2
430
SREsのためのSRE定着ガイド
netmarkjp
10
1.7k
KTC_DBRE.pdf
_awache
1
290
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.4k
Building an army of robots
kneath
300
41k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.8k
From Idea to $5000 a Month in 5 Months
shpigford
376
45k
A designer walks into a library…
pauljervisheath
199
23k
Visualization
eitanlees
135
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Clear Off the Table
cherdarchuk
82
310k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
Done Done
chrislema
178
15k
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