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 #jawsdays
Search
Naoya Ito
March 15, 2014
Technology
76
16k
Immutable Infrastructure #jawsdays
Naoya Ito
March 15, 2014
Tweet
Share
More Decks by Naoya Ito
See All by Naoya Ito
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
18
5.8k
Functional TypeScript
naoya
15
6.3k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
72
35k
シェルの履歴とイクンリメンタル検索を使う
naoya
8
3.2k
20230227-engineer-type-talk.pdf
naoya
89
76k
関数型プログラミングと型システムのメンタルモデル
naoya
62
100k
TypeScript による GraphQL バックエンド開発
naoya
28
35k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
24k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
60k
Other Decks in Technology
See All in Technology
GMOペパボのデータ基盤とデータ活用の現在地 / Current State of GMO Pepabo's Data Infrastructure and Data Utilization
zaimy
3
200
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
25
11k
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
680
相互運用可能な学修歴クレデンシャルに向けた標準技術と国際動向
fujie
0
200
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.5k
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
230
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
850
Claude Codeは仕様駆動の夢を見ない
gotalab555
13
2.3k
バクラクによるコーポレート業務の自動運転 #BetAIDay
layerx
PRO
1
840
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
0
300
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
3
1.1k
帳票構造化タスクにおけるLLMファインチューニングの性能評価
yosukeyoshida
1
230
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
420
A designer walks into a library…
pauljervisheath
207
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
What's in a price? How to price your products and services
michaelherold
246
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
How STYLIGHT went responsive
nonsquared
100
5.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Rails Girls Zürich Keynote
gr2m
95
14k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Transcript
*NNVUBCMF *OGSBTUSVDUVSF !OBPZB@JUP +"84%":4
*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
)FSPLV )FSPLVHJUQVTI͢Δຖɺ৽͍͠ڥ ίϯςφ Λ࡞Γɺݹ͍ڥΛغͯΔ
5SBWJT$* 5SBWJT$*ςετΛ࣮ߦ͢ΔͨͼɺίϯςφΛ࡞ΓऴΘͬͨΒغͯΔ
࣌ؒʹ ճσϓϩΠ h"p://www.publickey1.jp/blog/12/amazon11000_aws_reinventday2_am.html
*NNVUBCMF*OGSBTUSVDUVSF Λࢧ͑Δٕज़ • ίϯςφ – -JOVYͳΒ-9$ͳͲ • ίϯςφΛӡ༻͢Δपล࣮ – FH%PDLFS
*NNVUBCMF*OGSBTUVSDUVSF ʹࢸΔܦҢ • ԾԽ • Ϋϥυ • *OGSBTUSVDUVSFBT$PEF – "VUPNBUFE*OGSBTUSVDUVSF •
*NNVUBCMF*OGSBTUSVDUVSF
*OGSBTUSVDUVSFBT$PEF
None
$POpHSBUJPO.BOBHFNFOU5PPM • αʔόʔͷঢ়ଶΛཧ͢Δͷ໘ • खͰΔͱ҉Խ • खॱॻʹ͢ͱखॱॻ͕ݹ͘ͳΔ • ʮαʔόʔͷঢ়ଶʯΛίʔυʹ͢Δ – $IFG1VQQFU"OTJCMF
None
ঢ়ଶ͕ίʔυʹͳΕ͋Δ͖ঢ় ଶͷऩଋࣗಈԽͰ͖Δ
ΠϯελϯεϓϩάϥϚϒϧʹ
$ vagrant init $ vagrant up
WBHSBOUVQ
ͱ͜ΖͰɺ%FW0QT
ΫϥυʹΑͬͯ Ұؾʹਐาͨ͠
*OGSBTUSVDUVSFBT$PEF • ΫϥυͰԾԽڥ͕ͨΓલʹͳͬ ͨ • ϋʔυΛιϑτΣΞͱͯ͠ѻ͑ΔͳΒɺ ͳΜͰίʔυͰهड़͠Α͏ • αʔόʔͷঢ়ଶίʔυͰهड़ •
݁ՌతʹɺࣗಈԽͳͲͷԸܙʹ༩Δ
αʔόʔཧNFFUT(JU • ʮαʔόʔͷঢ়ଶ͕ͯ͢ίʔυͰهड़Ͱ ͖ͨͳΒɺ(JUͰཧ͢Εྑ͍͡Όͳ ͍ʯ
ΠϯϑϥΛόʔδϣϯཧ
ΠϯϑϥNFFUT(JUIVC ΠϯϑϥQVMMSFRVFTUɺίʔυϨϏϡʔ
ΠϯϑϥΛςετŋŋŋTFSWFSTQFD
ΠϯϑϥΛ$* HJUQVTIͷͨͼɺ7BHSBOUͰ&$ΠϯελϯεΛ࡞Γ$IFGΛద༻͠TFSWFSTQFDͰςετ
มߋͷͨͼɺಈ࡞Λอূ͢Δ QVMMSFRVFTUʹ DPNNJUΛॏͶΔ ɺ$*͕ςετ݁ ՌΛڭ͑ͯ͘ΕΔ
*OGSBTUSVDUVSFBT$PEFͷຊ࣭ • αʔόʔΠϯϑϥΛಈతʹѻ͏ • ΞϓϦέʔγϣϯ։ൃͷϫʔΫϑϩʔΛ Πϯϑϥͷੈքʹ࣋ͪࠐΊΔ – ࣗಈԽ*OGSBTUSVDUVSFBT$PEFͷԸܙ ͷҰ෦ʹ͗͢ͳ͍ – όʔδϣϯཧ – ίʔυϨϏϡʔ
– ςετ – $* – (JUIVC
*NNVUBCMF *OGSBTUSVDUVSF
ႈੑ • ͋Δૢ࡞ΛԿճߦͬͯ݁Ռ͕ಉ͜͡ͱ – ྫ$IFGΛԿద༻ͯ͠ಉ͡ঢ়ଶʹऩଋ • ႈੑ͕֬อͰ͖ͳ͍αʔόʔѻ͍ͮΒ ͍ – ৽͍͠ΠϯελϯεΛՃ͢Δʹ͋ͨͬͯɺଞ ͷΠϯελϯεͱҟͳΔͷ͕Ͱ͖ͯࠔΔ
ႈੑͷ֬อ • ਅͬ৽ͳαʔόʔͰɺத్ͳঢ়ଶͷ αʔόʔͰ$IFGΛద༻ͨ͠Βಉ͡ʹ ͳΔΑ͏ʹ͢Δ – ΠϯετʔϧࡁΈͷιϑτΣΞ͕ɺ$IFGΛ ద༻ͨ͠Βҙਤͤͣόʔδϣϯ͕উखʹ্ ͕ͬͨɺͳͲΛආ͚Δඞཁ – ͍͠Ͱͳ͍ େ෦Λ$IFG͕໘Έ
ͯ͘ΕΔ
αʔόʔͷঢ়ଶΛߟྀ͢Δ • αʔόʔͷঢ়ଶΛཧ͢Δલఏʹཱ͔ͭΒɺ ໘͝ͱ͕૿͑Δ – ႈੑͷ֬อ – ͲͷαʔόʔʹԿ͕ೖͬͯΔ͔ – ͢Ͱʹಈ͍͍ͯΔΞϓϦέʔγϣϯͷΞοϓ άϨʔυ – ແఀࢭͰͷΞϓϦέʔγϣϯαʔόʔͷ࠶ى
ಈ
*NNVUBCMF*OGSBTUSVDUVSF • ڥ 㲈αʔόʔ ͷঢ়ଶཧΛΊΔ – ඞཁʹͳͬͨΒڥΛ৽نʹͭ͘Δ – Ұ࡞Γऴ͑ͨڥɺҎ߱มߋ͠ͳ͍ • 4UBUFMFTTͷ੍
࠶ܝ#MVF(SFFO%FQMPZNFOU
*NNVUBCMF*OGSBTUSVDUVSF ࣮ݱʹඞཁͳ͜ͱ • *OGSBTUSVDUVSFBT$PEFલఏ݅ – ߏ͕ಈతͰͳ͚Εɺ*NNVUBCMF *OGSBTUSVDUVSFͷརεϙΠϧ͞ΕΔ • ৽͍͠ڥΛΦϯσϚϯυͰଈ࠲ʹੜ Ͱ͖Δٕज़ – 7.ΑΓɺίϯςφ
%PDLFS
%PDLFS • -JOVYίϯςφΛखܰͭϓϩάϥϚϒϧ ʹѻ͑ΔΑ͏ʹ͢Δ – ͔Β-9$ʹґଘ͠ͳ͘͢Βͳͬͨ • ίϯςφΠϝʔδΛઌʹ࡞͓͍ͯͯ͠ɺ ͔ͦ͜ΒίϯςφΛॠ࣌ʹ࡞Γग़͢
%PDLFSͷయܕతϢʔεέʔε • +FOLJOT %PDLFS • %PLLVɺ'MZOO h"p://www.slideshare.net/techblogyahoo/jenkins-‐withdocker-‐131220
*NNVUBCMF*OGSBTUSVDUVSFͱ ΞϓϦέʔγϣϯͷϙʔλϏϦςΟ • %JTQPTBCMFͳڥΛલఏʹ͢ΔͱɺΞϓϦ έʔγϣϯͷ࠶ݱՄೳੑ͕ཁٻ͞ΕΔ – ݁ՌతʹΞϓϦέʔγϣϯ͕ϙʔλϒϧʹͳΔ h"p://www.slideshare.net/dotCloud/docker-‐intro-‐november
ྫ͑)FSPLV • 3VCZΞϓϦέʔγϣϯ – #VOEMFSͰHFNΛྻڍ͠ – 3BDLͰಈ͔͠ – 'PSFNBOͰ੍ޚ͢Δɺͱ͍͏ͷ͕ʮඞਢʯ • /PEFKT – OQNɺQBDLBHFKTPO •
#VJMEQBDLT
ΞϓϦέʔγϣϯ͕ϙʔλϒϧʹͳΔͱ • ΞϓϦέʔγϣϯͷަ͕θϩίϯϑΟά ʹۙͮ͘ – ʮ˓˓ͱººͱ˚˚ΛೖΕͯ͋Εͯ͜͠͏͠ ͯŋŋŋʯ͔Βʮ͜ͷHJU63-ΛQVTIͯ͠ʯ • *NNVUBCMFͰ͋Δ੍͕ͨΒ͢ޮՌ – εςʔτϨεͳ8FCͱ63*ͷͨΒ੍͢ʹ Α͘ࣅͨ
– εςʔτϨεɺͭ63*͕͋Δ͔Βɺ63*Λ ͚ͩ͢ͰϦιʔεΛଞਓͱަͰ͖Δ
"UMBTTJBO+*3" %PDLFS • HJUDMPOFͯ͠EPDLFSʹಥͬࠐΉ͚ͩͰಈ͘ • ϩʔΧϧ͚ͩͰͳ͘ɺ%PDLFSΛαϙʔτ͍ͯ͠ΔΫϥυαʔϏεͰ ಉ༷ – ະݕূͰ͕͢ɺ%JHJUBM0DFBO($&ͳͲ $
git clone
[email protected]
:docker-‐atlassian/jira.git $ docker build -‐t naoya/jira jira $ docker run -‐p 49080:8080 -‐d naoya/jira
ίϯςφϕʔεͷσϓϩΠ • ैདྷͷσϓϩΠͰ͋Γ͕ͪͳ͜ͱ – طଘͷڥʹDBQEFQMPZͨ͠ΒEFQMPZ͕ HFN͕Ͳ͏ͱ͔Ͱࣦഊͨ͠ – ຊ൪ڥʹҠͨ͠Βಈ͔ͳ͘ͳͬͨ • ্ॻ͖σϓϩΠ͔Βɺίϯςφϕʔεͷσϓ
ϩΠ – )FSPLVͷΑ͏ͳ – #MVF(SFFO%FQMPZNFOU – %PDLFSͷϙʔλϏϦςΟΛ׆͔ͨ͢Ίʹ • ϩΧʔϧͰಈ͍ͨͷΛͦͷ··ຊ൪͍࣋ͬͯ͘
2VJQQFSࣾͷࣄྫ • GFBUVSFCSBODIͷQVTIͷͨͼɺ)FSPLVͰΞϓϦέʔγϣϯ Λ࡞Δ • ඇ։ൃऀͱ63-Λަͯ͠ɺ࣮ڥͰ͙͢ʹϨϏϡʔͰ͖Δ • *OGSBTUSVDUVSFBT$PEF*NNVUBCMF*OGSBTUSVDUVSFͰಈతɾ ϙʔλϒϧʹͳ͍ͬͯ͘ͱɺ͜͏͍͏͜ͱ͕Մೳʹͳ͍ͬͯ͘ͱ͍͏ ྑ͍ࣄྫ
h"p://blog.madoro.org/mn/93
*NNVUBCMF*OGSBTUSVDUVSFͷ՝ • ίϯςφ%PDLFS͚ͩͰΓͳ͍ – $MPVE'PVOESZ 0QFO1BB4 ͷΞʔΩςΫνϟΛݟΑ • εςʔτϑϧͳαʔόʔΛͲ͏͢Δ͔ –
ྫετϨʔδɺΩϟογϡ – ݱঢ়ͯ͢εςʔτϨεʹ͖͢ɺͱ͍͏Ͱͳ͍ɻεςʔτϨεͰ͋Δ͖Օ ॴ ΞϓϦέʔγϣϯαʔόʔ Λ*NNVUBCMFʹ – εςʔτϑϧͳͷΛ֎ʹಀ͕࣮͢ŋŋŋqVFOUEͳͲ h"p://www.publickey1.jp/blog/11/paascloud_foundry.html
*NNVUBCMF*OGSBTUSVDUVSF ͷݱࡏ • ͍Ζ͍Ζඞཁͳ෦͕࡞ΒΕ͍ͯΔ – %PDLFSɺNFTPTEPDLFSɺTFSG • ʮ1SJWBUFͳ1BB4͕ཉ͍͠ʯͰͳ͘ʮطଘ ΠϯϑϥͷҰ෦Λಈతʹ͍ͨ͠ʯͱ͍͏Ϣʔ βʔ͕͍ͯ͠Δ
• ϢʔβʔίϯςφϕʔεͷσϓϩΠͷརӹΛ ମײ࢝͠Ί͍ͯΔ – େ͖ͳྲྀΕͱͯ͠ɺ͜Ε͔ΒͷσϓϩΠΞʔΩςΫ νϟίϯςφϕʔεʹมΘ͍ͬͯ͘Մೳੑ͕ߴ͍
*NNVUBCMF*OGSBTUSVDUVSF ͱ$IFG1VQQFU"OTJCMF • *NNVUBCMF*OGSBTUSVDUVSFʹΑͬͯɺ ඞཁͳ͘ͳΔ – ͍͍͑ – *OGSBTUSVDUVSFBT$PEFͷຊ࣭ࣗಈԽ ঢ়ଶཧ͚ͩͰͳ͍ – *NNVUBCMFʹͳͬͯඞཁͳ͘ͳͬͨՕॴ͕
ΒΕ͍ͯ͘PSͦΕʹϑΟοτͨ͠ಓ۩͕ ੜ·ΕΔ
͜Ε͔Β • *NNVUBCMF*OGSBTUSVDUVSFʹΑͬͯɺ ࠓ·Ͱݻఆతͩͱߟ͍͑ͯͨίϯϙʔωϯ τ͕ಈతɾΦϯβϑϥΠʹͳ͍ͬͯ͘ • ࡢࠓͷαʔόʔΠϯϑϥύϥμΠϜͷू େͱͯ͠ͷ*NNVUBCMF *OGSBTUSVDUVSF – ͍Ζ͍Ζͳ֓೦ɺ࣮͕͜ͷߟ͑ํʹू͞
Ε͍ͯ͘