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
OpenStackの攻略本 第2号
Search
sonod
November 27, 2017
Technology
0
180
OpenStackの攻略本 第2号
sonod
November 27, 2017
Tweet
Share
More Decks by sonod
See All by sonod
プロダクト開発を通して学んだナレッジマネジメントの哲学
sonod
0
190
誰のためのプロダクト?
sonod
8
3.7k
プロダクトのビルドトラップ
sonod
0
170
Overlay&Underlay Network 僕の思い出
sonod
1
420
マネージドクラウドとCの世界
sonod
3
660
OpenStackの攻略本
sonod
1
200
物理サーバ構築のここんとこ-MAASのはなしをしまーず-
sonod
5
6.1k
Other Decks in Technology
See All in Technology
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
140
OPENLOGI Company Profile for engineer
hr01
1
20k
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
250
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
530
Reading Code Is Harder Than Writing It
trishagee
2
120
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
1.6k
実は強い 非ViTな画像認識モデル
tattaka
1
1k
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
140
内製化を加速させるlaC活用術
nrinetcom
PRO
2
110
クラウドサービス事業者におけるOSS
tagomoris
3
970
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
200
Featured
See All Featured
Code Review Best Practice
trishagee
67
18k
Adopting Sorbet at Scale
ufuk
74
9.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
We Have a Design System, Now What?
morganepeng
51
7.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Designing for humans not robots
tammielis
250
25k
Practical Orchestrator
shlominoach
186
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Optimizing for Happiness
mojombo
376
70k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
4 Signs Your Business is Dying
shpigford
182
22k
Transcript
ాफҰ(.01&1"#0JOD 5&$)ϛʔςΟϯά 0QFO4UBDLͷ߈ུຊ ୈ߸ϓϩδΣΫτͷ֓ཁ
ΠϯϑϥΤϯδχΞ ాफҰ ϗεςΟϯάࣄۀ෦ΠϯϑϥνʔϜ
"HFOEB wץ߸ͷৼΓฦΓ wࠓճͷ w0QFO4UBDLͷཪଆͷ͓ wϓϩδΣΫτͷίϯϙʔωϯτͷׂͱಈ࡞ w·ͱΊ
ץ߸ͷৼΓฦΓ
0QFO4UBDLͬͯʁ
ץ߸ͷ·ͱΊ wࣗલͷ*BB4ڥΛແྉͰ؆୯ʹ࡞Δ͜ͱ͕ग़དྷΔ044 wϓϩδΣΫτͱݴ͏୯ҐͰػೳׂ͕͞Ε͓ͯΓɺ ͦΕΛࣗ༝ʹΈ߹Θͤͯ͏͜ͱ͕ग़དྷΔ w044ͳͷͰιʔεΛಡΊಈ࡞ΛΔ͜ͱ͕Ͱ͖ɺΧελϚΠζग़དྷΔ wͱʹ͔͘ਓؾͰਐԽͷεϐʔυ͕ૣ͍ʂʂ w0QFO4UBDLΛ͑ɺΫϦοΫͰ7.Λ࡞ग़དྷΔΑ͏ʹͳΔʂ
֓ཁʙ͍ํ·ͰΛ͓͠·ͨ͠
ࠓճͷ
0QFO4UBDLͬͯɺͲ͏ͬͯಈ͍͍ͯΔΜͩΖ͏ʁ
0QFO4UBDLͷཪଆͷ͓
ץ߸ͷ·ͱΊ wࣗલͷ*BB4ڥΛແྉͰ؆୯ʹ࡞Δ͜ͱ͕ग़དྷΔ044 wϓϩδΣΫτͱݴ͏୯ҐͰػೳׂ͕͞Ε͓ͯΓɺ ͦΕΛࣗ༝ʹΈ߹Θͤͯ͏͜ͱ͕ग़དྷΔ w044ͳͷͰιʔεΛಡΊಈ࡞ΛΔ͜ͱ͕Ͱ͖ɺΧελϚΠζग़དྷΔ wͱʹ͔͘ਓؾͰਐԽͷεϐʔυ͕ૣ͍ʂʂ w0QFO4UBDLΛ͑ɺΫϦοΫͰ7.Λ࡞ग़དྷΔΑ͏ʹͳΔʂ
0QFO4UBDLɺϓϩδΣΫτͷΈ߹ΘͤͰಈ͘
0QFO4UBDLͷϓϩδΣΫτ ͦͷଞ͍ͬͺ͍͍ͬͺ͍ʜʜʜଟ͗ͩ͢Αʜʜ
,FZTUPOF (MBODF /PWB /FVUSPO
͓·͚ ͓·͚
ϒϩοΫετϨʔδཧ ೝূ ίϯϐϡʔτཧ ωοτϫʔΫཧ Πϝʔδཧ 04 ͜ΜͺͶ
࿈ܞͨ࣌͠ͷશମ૾Λ7.த৺ʹΈΔ
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
ϓϩδΣΫτͷίϯϙʔωϯτͷׂͱಈ࡞
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
,FZTUPOF
,FZTUPOF Ϣʔβͷཧ 5PLFOͷൃߦ &OEQPJOUͷཧ %PNBJOͷཧ ׂɿ
ίϯϙʔωϯτͷํʑLFZTUPOF ,FZTUPOFBQJ 5PLFOΛൃߦ $BUBMPHऔಘ OPWBBQJ HMBODFBQJ DJOEFSBQJ OFVUSPO TFSWFS BQJ
5PLFOͷ֬ೝ
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
/PWB
/PWB 7.ͷ࡞ 7.ͷཧ ϗεταʔόཧ WPMVNFQPSUͷBUUBDIEFUBDI ׂɿ
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPOEVDUPS OPWB DPNQVUF OPWBίϯϙʔωϯτͷ"1* OPWBDPNQVUFͷબఆΛߦ͏
pMUFSͱXFJHIUFSΛ͏ )ZQFSWJTPSʹ໋ྩΛग़͠ɺ7.ͷཧΛߦ͏ 2FNV,7. )ZQFS7 4$ W4QIFSF W$FOUFS ͕༻Մೳ OPWBDPNQVUFͷ%#ΞΫηεΛूதཧ
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPOEVDUPS OPWB DPNQVUF OPWBίϯϙʔωϯτͷ"1* OPWBDPNQVUFͷબఆΛߦ͏
pMUFSͱXFJHIUFSΛ͏ )ZQFSWJTPSʹ໋ྩΛग़͠ɺ7.ͷཧΛߦ͏ 2FNV,7. )ZQFS7 4$ W4QIFSF W$FOUFS ͕༻Մೳ OPWBDPNQVUFͷ%#ΞΫηεΛूதཧ͠ɺॻ͖ࠐΈΛߦ͏
ίϯϙʔωϯτͷํʑOPWBTDIFEVMFS IPTU" IPTU# IPTU% IPTU$ 'JMUFS IPTU" IPTU# IPTU% IPTU$
8FJHIUT IPTU" IPTU% $16 .&.
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPNQVUF OPWB DPOEVDUPS OPWB DPNQVUF
DPNQVUFબ 7.࡞ɾཧ ,FZTUPOFBQJ ̍ 7.࡞ϦΫΤετ 5PLFOͷೝূ ϦΫΤετ༰ 7.ͷใ Λ%#ʹॻ͖ࠐΈ
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPNQVUF OPWB DPNQVUF 7.࡞ɾཧ ,FZTUPOFBQJ
̍ બఆґཔϝοηʔδΛૹ৴ ϝοηʔδΛड৴ %#Λࢀর͠ɺ7.Λ࡞͢ΔରͷDPNQVUFΛબ͠ɺ ͦͷใΛ%#ʹॻ͖ࠐΈ OPWB DPOEVDUPS
None
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPNQVUF OPWB DPNQVUF 7.࡞ɾཧ ,FZTUPOFBQJ
̍ બఆґཔϝοηʔδΛૹ৴ ϝοηʔδΛड৴ %#Λࢀর͠ɺ7.Λ࡞͢ΔରͷDPNQVUFΛબ͠ɺ ͦͷใΛ%#ʹॻ͖ࠐΈ OPWB DPOEVDUPS
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPNQVUF OPWB DPNQVUF ,FZTUPOFBQJ ̍
DPNQVUFʹ7.࡞ґཔͷϝοηʔδΛૹ৴ ϝοηʔδΛड৴ OPWB DPOEVDUPS
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPNQVUF OPWB DPNQVUF ,FZTUPOFBQJ ̍
OPWB DPOEVDUPS 7.ͷใऔಘͷϝοηʔδΛૹ৴ ϝοηʔδΛड৴ ࢀর ݁Ռ
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPNQVUF OPWB DPNQVUF ,FZTUPOFBQJ ̍
OPWB DPOEVDUPS ϝοηʔδΛૹ৴ ϝοηʔδΛड৴͠ɺ7.ͷใΛݩʹඞཁͳΛ͔͖ूΊ·͢
ίϯϙʔωϯτͷํʑOPWB OPWB DPNQVUF *NBHF OFUXPSL WPMVNF ͷΛ͔͖ूΊͯ7.Λ࡞͢ΔͨΊͷ४උ͠·͢
ίϯϙʔωϯτͷํʑOPWB OPWB DPNQVUF *NBHF OFUXPSL WPMVNF ͷΛ͔͖ूΊͯ7.Λ࡞͢ΔͨΊͷ४උ͠·͢
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
(MBODF
(MBODF JNBHFͷ࡞ JNBHFͷཧ JNBHFͷަ ׂɿ
ίϯϙʔωϯτͷํʑHMBODF HMBODFBQJ HMBODF SFHJTUPSZ HMBODFίϯϙʔωϯτͷ"1* ΠϝʔδͷϝλσʔλཧΛߦ͏ TJ[FUZQF
CBDLFOE TUPSBHF ίϯϙʔωϯτͷํʑHMBODF ΠϝʔδͷμϯϩʔυϦΫΤετ HMBODFBQJ HMBODF SFHJTUPSZ ϝλσʔλཧ Πϝʔδอଘ OPWB
DPNQVUF ̍
CBDLFOE TUPSBHF ίϯϙʔωϯτͷํʑHMBODF HMBODFBQJ HMBODF SFHJTUPSZ ϝλσʔλཧ Πϝʔδอଘ OPWB DPNQVUF
̍ อଘॴΛ%#ࢀর Πϝʔδͷμϯϩʔυ
ίϯϙʔωϯτͷํʑOPWB OPWB DPNQVUF *NBHF OFUXPSL WPMVNF ͷΛ͔͖ूΊͯ7.Λ࡞͢ΔͨΊͷ४උ͠·͢
ίϯϙʔωϯτͷํʑOPWB OPWB DPNQVUF *NBHF OFUXPSL WPMVNF ͷΛ͔͖ूΊͯ7.Λ࡞͢ΔͨΊͷ४උ͠·͢ *1 #SJEHF 5BQ
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
/FVUSPO
/FVUSPO OFUXPSLͷ࡞ཧ TVCOFUͷ࡞ཧ QPSUͷ࡞ཧ TFDVSJUZHSPVQͷ࡞ཧ qPBUJOHJQͷ࡞ཧ -#ͷ࡞ཧɹɹɹɹʑ ׂɿ
ίϯϙʔωϯτͷํʑOFVUSPO MJOVYCSJEHF BHFOU OFVUSPO TFSWFS BQJ PQFOWTXJUDI BHFOU OFVUSPOίϯϙʔωϯτͷ"1* ϗεταʔό্ͰPQFOWTXJUDIͷ੍ޚΛߦ͏
ϗεταʔό্ͰMJOVYCSJEHFͷ੍ޚΛߦ͏
OPWBDPNQVUF OPWBDPNQVUF ίϯϙʔωϯτͷํʑOFVUSPO MJOVYCSJEHF BHFOU OFVUSPO TFSWFS BQJ QPSU࡞ͱBUUBDIґཔ PQFOWTXJUDI
BHFOU PWT -JOVYCSJEHF *1ͷׂͱUBQCSJEHF࡞ ̍
ίϯϙʔωϯτͷํʑOPWB OPWB DPNQVUF *NBHF OFUXPSL WPMVNF ͷΛ͔͖ूΊͯ7.Λ࡞͢ΔͨΊͷ४උ͠·͢
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ
$JOEFS
$JOEFS #MPDLTUPSBHFͷ࡞ #MPDLTUPSBHFͷཧ ׂɿ
ίϯϙʔωϯτͷํʑ$JOEFS DJOEFSBQJ DJOEFS TDIFEVMFS DJOEFS WPMVNF DJOEFSίϯϙʔωϯτͷ"1* DJOEFSWPMVNFͷબఆΛߦ͏ όοΫΤϯυετϨʔδͷίϯτϩʔϧ /FUBQQ4%4
ίϯϙʔωϯτͷํʑ$JOEFS DJOEFSBQJ DJOEFS TDIFEVMFS DJOEFS WPMVNF CBDLFOE TUPSBHF DJOEFS WPMVNF
#4 ˞#4ʹ#MPDL4UPSBHF OPWB DPNQVUF ̍ ϘϦϡʔϜͷ࡞BUUBDIϦΫΤετ ετϨʔδͷ༰ྔνΣοΫ ϦΫΤετ༰ ϘϦϡʔϜใ ͷॻ͖ࠐΈ
ίϯϙʔωϯτͷํʑ$JOEFS DJOEFSBQJ DJOEFS TDIFEVMFS DJOEFS WPMVNF CBDLFOE TUPSBHF DJOEFS
WPMVNF DJOEFSWPMVNFͷใΛड৴ #4 ˞#4ʹ#MPDL4UPSBHF OPWB DPNQVUF ̍ TJ[F BWBJMBCJMJUZ[POF WPMVNFUZQFͷใ͔ΒɺDJOEFSWPMVNFΛબ
ίϯϙʔωϯτͷํʑ$JOEFS DJOEFSBQJ DJOEFS TDIFEVMFS DJOEFS WPMVNF CBDLFOE TUPSBHF DJOEFS WPMVNF
όοΫΤϯυετϨʔδͰ#4Λ࡞ #4 ˞#4ʹ#MPDL4UPSBHF OPWB DPNQVUF ̍ 7.ʹϚϯτ ࢀর
ίϯϙʔωϯτͷํʑOPWB OPWB DPNQVUF 04*NBHF OFUXPSL WPMVNF ͷΛ͔͖ूΊͯ7.Λ࡞͢ΔͨΊͷ४උ͠·͢
ίϯϙʔωϯτͷํʑOPWB OPWBBQJ OPWB TDIFEVMFS OPWB DPNQVUF OPWB DPNQVUF ,FZTUPOFBQJ ̍
OPWB DPOEVDUPS 7.ใ͔Β9.-Λ࡞ ͦͷ9.-Λݩʹ)ZQFSWJTPS -JCWJSU Ͱ7.Λ࡞
ίϯϙʔωϯτͷํʑOPWB
ͦΕͧΕͷׂΛ࣋ͬͨϓϩδΣΫτ͕
)PSJ[PO μογϡϘʔυ ,FZTUPOF ೝূ (MBODF Πϝʔδཧ /PWB ίϯϐϡʔτཧ $JOEFS ϒϩοΫετϨʔδཧ
/FVUSPO ωοτϫʔΫཧ 7. ೝূ 6* ૢ࡞ Πϝʔδ ϘϦϡʔϜ ωοτϫʔΫ ͜ͷΑ͏ʹ࿈ܞ͢Δ͜ͱͰ
ಈ͍͍ͯΔʂʂʂ
·ͱΊ
·ͱΊ w0QFO4UBDLϓϩδΣΫτ͕Έ߹Θͬͯ͞ಈ͍͍ͯΔ w*BB4ڥΛߏங͢ΔͷʹɺLFZTUPOF OPWB HMBODF OFVUSPO͕ඞཁ wLFZTUPOFɺ0QFO4UBDLશମͷೝূ wOPWBɺίϯϐϡʔτͷཧ 7. ϗεταʔό
wHMBODFɺΠϝʔδͷཧ 04 ετϨʔδ wOFVUSPOɺωοτϫʔΫͷཧ wίϯϙʔωϯτؒͷΓऔΓʹ.2Λར༻ͨ͠ϝοηʔδϯάΛ࠾༻͍ͯ͠Δ 3BCCJU.2
࣍ר ༧ఆ
/FVUSPO4XJGU
ͰͰ
ָ͍͠0QFOTUBDLੜ׆Λ
None