Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
21
6.9k
Functional TypeScript
naoya
17
6.5k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
75
36k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.4k
20230227-engineer-type-talk.pdf
naoya
91
78k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
36k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
24k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
60k
Other Decks in Technology
See All in Technology
Bedrock のコスト監視設計
fohte
2
250
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
1
9.3k
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
2
2.9k
Excelデータ分析で学ぶディメンショナルモデリング ~アジャイルデータモデリングへ向けて~ by @Kazaneya_PR / 20251126
kazaneya
PRO
3
670
事業部のプロジェクト進行と開発チームの改善の “時間軸" のすり合わせ
konifar
3
350
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
490
AI駆動開発2025年振り返りとTips集
knr109
1
130
『星の世界の地図の話: Google Sky MapをAI Agentでよみがえらせる』 - Google Developers DevFest Tokyo 2025
taniiicom
0
430
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
170
type-challenges を全問解いたのでエッセンスと推し問題を紹介してみる
kworkdev
PRO
0
130
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
10
6.3k
[続・営業向け 誰でも話せるOCI セールストーク] AWSよりOCIの優位性が分からない編(2025年11月21日開催)
oracle4engineer
PRO
1
150
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Automating Front-end Workflow
addyosmani
1371
200k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Mobile First: as difficult as doing things right
swwweet
225
10k
Faster Mobile Websites
deanohume
310
31k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
GitHub's CSS Performance
jonrohan
1032
470k
Optimizing for Happiness
mojombo
379
70k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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
– ͍Ζ͍Ζͳ֓೦ɺ࣮͕͜ͷߟ͑ํʹू͞Ε͍ͯ͘ – ݁ՌతʹɺΞϓϦέʔγϣϯઃܭ։ൃϓϩηεӨڹΛड͚ Δɺͱࢥ͏ɻ