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
Functional TypeScript
naoya
13
5.8k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
65
30k
シェルの履歴とイクンリメンタル検索を使う
naoya
8
3.1k
20230227-engineer-type-talk.pdf
naoya
89
71k
関数型プログラミングと型システムのメンタルモデル
naoya
61
93k
TypeScript による GraphQL バックエンド開発
naoya
28
30k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
66
24k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
58k
一休の現在と、ここまでの道のり
naoya
90
41k
Other Decks in Technology
See All in Technology
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
710
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
180
デザインから逆算して難易度を見積もるための観点
fumiyasac0921
0
130
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
16
6.1k
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
6
1.3k
APIファーストで実現する運用性の高い IoT プラットフォーム: SORACOMのアプローチ
soracom
PRO
0
240
Ask! NIKKEIの運用基盤と改善に向けた取り組み / NIKKEI TECH TALK #30
kaitomajima
1
440
FastConnect の冗長性
ocise
1
9.5k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
2
620
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
460
技術負債の「予兆検知」と「状況異変」のススメ / Technology Dept
i35_267
1
990
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
35
1.6k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Code Reviewing Like a Champion
maltzj
521
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
A designer walks into a library…
pauljervisheath
205
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
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
– ͍Ζ͍Ζͳ֓೦ɺ࣮͕͜ͷߟ͑ํʹू͞Ε͍ͯ͘ – ݁ՌతʹɺΞϓϦέʔγϣϯઃܭ։ൃϓϩηεӨڹΛड͚ Δɺͱࢥ͏ɻ