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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
8
2.4k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
7.4k
Functional TypeScript
naoya
18
6.6k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
76
37k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.5k
20230227-engineer-type-talk.pdf
naoya
91
84k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
37k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
25k
Other Decks in Technology
See All in Technology
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.4k
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
150
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
430
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
550
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
130
プロポーザルに込める段取り八分
shoheimitani
1
220
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
240
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
150
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
640
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
170
Webhook best practices for rock solid and resilient deployments
glaforge
1
280
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Chasing Engaging Ingredients in Design
codingconduct
0
110
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Writing Fast Ruby
sferik
630
62k
Google's AI Overviews - The New Search
badams
0
900
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Balancing Empowerment & Direction
lara
5
880
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
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 – ͍Ζ͍Ζͳ֓೦ɺ࣮͕͜ͷߟ͑ํʹू͞
Ε͍ͯ͘