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
Immutable Infrastructureが開発プロセスに与える影響(仮) #immut...
Search
Naoya Ito
March 25, 2014
Technology
30
12k
Immutable Infrastructureが開発プロセスに与える影響(仮) #immutableinfra
Naoya Ito
March 25, 2014
Tweet
Share
More Decks by Naoya Ito
See All by Naoya Ito
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
8
2k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
7.2k
Functional TypeScript
naoya
18
6.6k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
75
37k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.5k
20230227-engineer-type-talk.pdf
naoya
91
82k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
36k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
24k
Other Decks in Technology
See All in Technology
Next.js 16の新機能 Cache Components について
sutetotanuki
0
210
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
250
AI: The stuff that nobody shows you
jnunemaker
PRO
1
150
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
310
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
15
3.7k
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
160
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
260
AI時代のアジャイルチームを目指して ー スクラムというコンフォートゾーンからの脱却 ー / Toward Agile Teams in the Age of AI
takaking22
9
3.2k
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
960
AWS re:Invent 2025 を振り返る
kazzpapa3
2
110
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
59k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
6.1k
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
180
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
150
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
340
Skip the Path - Find Your Career Trail
mkilby
0
37
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
46
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
360
KATA
mclloyd
PRO
33
15k
Transcript
*NNVUBCMF*OGSBTUSVDUVSF ͕։ൃϓϩηεʹ༩͑ΔӨڹ Ծ !OBPZB@JUP *NNVUBCMF*OGSBTUSVDUVSF$POGFSFODF
*NNVUBCMF*OGSBTUSVDUVSF • %JTQPTBCMF$PNQPOFOUT • ෆมͳɺঢ়ଶΛ࣋ͨͳ͍ɺഇغՄೳͳ
αʔόʔͷঢ়ଶ • ͋Δೲ͞Εͨ3BJMTαʔόʔ – 9݄9ʹ%/4ΩϟογϡΛઃఆͨ͠ – :݄:ʹϓϩηεΛνϡʔχϯάͨ͠ – ;݄;ʹSVCZͷόʔδϣϯΛ্͛ͨ –
ŋŋŋ ͍Ζ͍Ζ܁Γฦ͠ • ͜ͷαʔόʔʹৼΓʹ3BJMTΞϓϦΛσϓϩ Π – Ռͨͯ͠σϓϩΠਖ਼͘͠ऴΘΔͷ͔
αʔόʔͷঢ়ଶΛཧ͢Δ • खॱॻ • ࣗಈԽ • αʔόʔཧσʔλϕʔε
• $IFG 1VQQFU
ঢ়ଶཧ͕໘ͳΒɺঢ়ଶΛ ཧ͠ͳ͚Εྑ͍͡Όͳ͍
h"p://chadfowler.com/blog/2013/06/23/immutable-‐deployments/
#MVF(SFFO%FQMPZNFOU
΄ΒɺΈΜͳ8JOEPXTௐࢠѱ͘ͳΔͱ ࠶Πϯετʔϧͯͨ͠͡Όͳ͍Ͱ͔͢ɻ ͋ΕͰ͢Α͋Ε
)FSPLV )FSPLVHJUQVTI͢Δຖɺ৽͍͠ڥ ίϯςφ Λ࡞Γɺݹ͍ڥΛغͯΔ
5SBWJT$* 5SBWJT$*ςετΛ࣮ߦ͢ΔͨͼɺίϯςφΛ࡞ΓऴΘͬͨΒغͯΔ
࣌ؒʹ ճσϓϩΠ h"p://www.publickey1.jp/blog/12/amazon11000_aws_reinventday2_am.html
*NNVUBCMF*OGSBTUSVDUVSF Λࢧ͑Δٕज़ • ίϯςφ – -JOVYͳΒ-9$ͳͲ • ίϯςφΛӡ༻͢Δपล࣮ – FH%PDLFS
%PDLFS
*NNVUBCMF*OGSBTUSVDUVSF ͱ ͍ۙকདྷͷ ։ൃϓϩηε
ઌʹαϚϦ*NNVUBCMFʹͳΔӨڹ • *NNVUBCMFͳ੍ˠΞϓϦέʔγϣϯΞʔΩ ςΫνϟ ઃܭ ଟେͳӨڹ • ʮ࠶ݱՄೳʯͳΞϓϦέʔγϣϯ • ςετ༰қੑͷ্
• ্ॻ͖σϓϩΠ͔ΒίϯςφϕʔεσϓϩΠ – ݁ՌɺΑΓਝͳܧଓσϓϩΠ͕Մೳʹ ΞϓϦέʔγϣϯ։ൃऀແࢹ͍ͯ͠ΒΕͳ͍ ઃܭ։ൃϓϩηεͷมԽ
ΞʔΩςΫνϟͷӨڹ • *NNVUBCMFŋŋŋ͋Δҙຯෆࣗ༝ʹͳΔ – αʔόʔڥ͕ෆࣗ༝ʹͳΔ – ͦͷෆࣗ༝͞ΛΞϓϦέʔγϣϯ͕ड͚༰Ε Δඞཁ͕͋Δ – Ώ͑ʹɺαʔόʔΞʔΩςΫνϟىҼͰΞϓ ϦέʔγϣϯΞʔΩςΫνϟ੍͕ݶ͞ΕΔ
੍ • ੍ඞͣ͠ѱ͍ͷͰͳ͍ – ྫ3&45 – ྫεςʔτϨεͳ)551ͱ888
5IF5XFMFWF'BDUPS"QQ h"p://twelve-‐factor-‐ja.herokuapp.com/ (オリジナル: h"p://12factor.net/)
• ϓϩηεεςʔτϨε͔ͭ4IBSFE /PUIJOHͰ͋Δ • ઃఆΛίʔυ͔Βݫີʹ͢Δ͜ͱΛ ཁٻ͢Δ • ͯ͢ͷ ύοέʔδͷ ґଘؔΛґଘ
ؔએݴϚχϑΣετͰશ͔ͭݫີʹ એݴ͢Δ #VOEMFSͳͲͷ h"p://twelve-‐factor-‐ja.herokuapp.com/ より引用
݁Ռͱͯ͠ŋŋŋ • ηοτΞοϓࣗಈԽͷͨΊʹએݴతͳϑΥʔϚοτΛ͍ɺ ϓϩδΣΫτʹ৽͘͠ՃΘͬͨ։ൃऀ͕ཁ͢Δ࣌ؒͱίετ Λ࠷খԽ͢Δ • Լͷ04ͷґଘؔΛ໌֬Խ͠ɺ࣮ߦڥؒͰͷҠ২ੑΛ ࠷େԽ͢Δ • ϞμϯͳΫϥυϓϥοτϑΥʔϜ্ͷσϓϩΠʹదͯ͠
͓ΓɺαʔόʔཧγεςϜཧΛෆཁͳͷʹ͢Δɻ • ։ൃڥͱຊ൪ڥͷࠩҟΛ࠷খݶʹ͠ɺΞδϦςΟΛ࠷େ Խ͢ΔܧଓతσϓϩΠΛՄೳʹ͢Δɻ • πʔϧɺΞʔΩςΫνϟɺ։ൃϓϥΫςΟεΛେ෯ʹมߋ͢ Δ͜ͱͳ͘εέʔϧΞοϓͰ͖Δɻ h"p://twelve-‐factor-‐ja.herokuapp.com/ より引用
*NNVUBCMFͳ੍͕ͨΒ͢ྑ͍Өڹ • 5XFMFWF'BDUPS"QQ)FSPLVͰϗετ ͢Δ4BB4Λഎܠʹهड़͞Εͨจॻ • ੍͕ΞϓϦέʔγϣϯઃܭʹٴ΅͢ ྑ͍ Ө ڹ –
ྫεςʔτϨε͔ͭ4IBSFE/PUIJOHˠΞϓϦ έʔγϣϯͷ࠶ݱੑ্ *NNVUBCMFͰ͋Δͱ͍͏Ұݟෆࣗ༝ͳ੍͕ɺΠϯϑϥӡ༻͚ͩ Ͱͳ͘ɺΞϓϦέʔγϣϯͷઃܭʹ·Ͱྑ͍ӨڹΛٴ΅͢
ʮ࠶ݱՄೳʯͳΞϓϦέʔγϣϯ • Ͳ͜Ͱ࠶ݱͰ͖Δ͔Β – BTB4FSWJDFʹ์ΓࠐΉ͜ͱ͕Ͱ͖Δ • 1MBUGPSNBTB4FSWJDFɺ$*BTB4FSWJDFɺ $%BTB4FSWDJDFŋŋŋ • ΞϓϦέʔγϣϯͷަՄೳੑ
– ։ൃڥͱϓϩμΫγϣϯΛಉҰࢹͰ͖Δ – ԣల։ͷεέʔϧ͕༰қʹͳΔ
ςετ༰қੑ • ʮ࠶ݱՄೳʯʮεςʔτϨε͔ͭγΣΞʔυφογϯ άʯ – ŋŋŋ͍͔ʹςετ͍͢͠ h"p://www.slideshare.net/techblogyahoo/jenkins-‐withdocker-‐131220
্ॻ͖σϓϩΠ͔Β ίϯςφϕʔεͷσϓϩΠ • طଘͷڥΛ্ॻ͖͢ΔͷͰͳ͘ɺΦϯσϚϯυͰ৽͍͠ڥΛ ࡞Γग़͢ – ࢼߦ༰қੑϒϥϯν͝ͱʹΞϓϦ 2VJQQFSࣾޙड़ –
Γ͠Մೳੑ#MVF(SFFO%FQMPZNFOU "NB[PO
2VJQQFSࣾͷࣄྫ • GFBUVSFCSBODIͷQVTIͷͨͼɺ)FSPLVͰΞϓϦέʔγϣϯ Λ࡞Δ • ඇ։ൃऀͱ63-Λަͯ͠ɺ࣮ڥͰ͙͢ʹϨϏϡʔͰ͖Δ • *NNVUBCMF*OGSBTUSVDUVSFͰಈతɾϙʔλϒϧʹͳ͍ͬͯ͘ͱɺ ͜͏͍͏͜ͱ͕Մೳʹͳ͍ͬͯ͘ͱ͍͏ྑ͍ࣄྫ h"p://blog.madoro.org/mn/93
*NNVUBCMF*OGSBTUSVDUVSFͷݱࡏ • ։ൃऀ͕ࢼߦࡨޡΛ܁Γସ͍͑ͯ͠Δஈ֊ • ͍Ζ͍Ζඞཁͳ෦͕࡞ΒΕ͍ͯΔ – %PDLFSɺNFTPTEPDLFSɺTFSG • ʮ1SJWBUFͳ1BB4͕ཉ͍͠ʯͰͳ͘ʮطଘΠϯϑϥ ͷҰ෦Λಈతʹ͍ͨ͠ʯͱ͍͏Ϣʔβʔ͕
– શ෦)FSPLVͰ0,Ͱͳ͍Ͱ͢͠ • ϢʔβʔίϯςφϕʔεͷσϓϩΠͷརӹΛମײ࢝͠ Ί͍ͯΔ
͜Ε͔Β • *NNVUBCMF*OGSBTUSVDUVSFʹΑͬͯɺࠓ·Ͱݻఆత ͩͱߟ͍͑ͯͨίϯϙʔωϯτ͕ಈతɾΦϯβϑϥΠʹ ͳ͍ͬͯ͘ – ੜ͖ͷΑ͏ʹγεςϜͷܥશମ͕ಈ͘ྖҬ·ͨҰา • ࡢࠓͷαʔόʔΠϯϑϥύϥμΠϜͷूେͱͯ͠ͷ *NNVUBCMF*OGSBTUSVDUVSF
– ͍Ζ͍Ζͳ֓೦ɺ࣮͕͜ͷߟ͑ํʹू͞Ε͍ͯ͘ – ݁ՌతʹɺΞϓϦέʔγϣϯઃܭ։ൃϓϩηεӨڹΛड͚ Δɺͱࢥ͏ɻ