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
Functional TypeScript
naoya
13
5.5k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
63
27k
シェルの履歴とイクンリメンタル検索を使う
naoya
7
3k
20230227-engineer-type-talk.pdf
naoya
85
40k
関数型プログラミングと型システムのメンタルモデル
naoya
61
87k
TypeScript による GraphQL バックエンド開発
naoya
28
30k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
66
23k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
58k
一休の現在と、ここまでの道のり
naoya
90
41k
Other Decks in Technology
See All in Technology
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
podman_update_2024-12
orimanabu
1
260
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
160
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
540
ハイテク休憩
sat
PRO
2
110
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
140
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
140
kargoの魅力について伝える
magisystem0408
0
200
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
730
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Bash Introduction
62gerente
608
210k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Building an army of robots
kneath
302
44k
Why Our Code Smells
bkeepers
PRO
335
57k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Thoughts on Productivity
jonyablonski
67
4.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Navigating Team Friction
lara
183
15k
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 – ͍Ζ͍Ζͳ֓೦ɺ࣮͕͜ͷߟ͑ํʹू͞
Ε͍ͯ͘