Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
趣味開発のためのVPS/クラウド活用術
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
mackee
August 30, 2014
Programming
13k
16
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
趣味開発のためのVPS/クラウド活用術
YAPC::Asia 2014 2014-08-30 by @mackee_w
mackee
August 30, 2014
More Decks by mackee
See All by mackee
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
810
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
1.3k
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
6
6.3k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
7.4k
ワンバイナリWebサービスのススメ
mackee
10
9.1k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
830
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.2k
perl for shell, awk and sed programmers
mackee
3
2.9k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1.1k
Other Decks in Programming
See All in Programming
Deep dive into the select statement (GopherCon UK)
jespino
0
170
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
180
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
440
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
110
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
480
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.8k
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
690
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
220
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
130
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
680
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
130
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Tell your own story through comics
letsgokoyo
1
1.1k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Deep Space Network (abreviated)
tonyrice
0
290
A Tale of Four Properties
chriscoyier
163
24k
Making the Leap to Tech Lead
cromwellryan
135
10k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
490
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Discover your Explorer Soul
emna__ayadi
2
1.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
210
BBQ
matthewcrist
89
10k
Transcript
झຯ։ൃͷͨΊͷ Ϋϥυ/VPS׆༻ज़ 2014-08-30 YAPC::Asia 2014
@mackee_w a.k.a Ϛίϐʔ • ໘ന๏ਓΧϠοΫ ٕज़෦ • αʔόαΠυΤϯδχΞ(Perl) • ιʔγϟϧήʔϜͷ։ൃ/ӡ༻
• ࠓ࡞͍ͬͯΔήʔϜࣄલొडத
ࠓ͢͜ͱ • VPS/ΫϥυαʔϏεൺֱ • PaaS͠·ͤΜ • ࠓɺࣗαʔόΛ͏ཧ༝ • Raspberry PiΛࣗαʔόʹ͏
͜ͷൃදʹಠஅͱภݟ͕ ͔ͳΓؚ·Ε͍ͯΔͷͰ ͜ͷޙHUBͱ͔ͰΛ͍ͯͩ͘͠͞
ԿނPaaSͷΛ͠ͳ͍͔
େମͷझຯͰ͢ • Πϯϑϥ͔Βߏங͢Δͷ͕͖ • Perl͕ಈ͘PaaSݶΒΕ͍ͯΔ • DotCloud • Heroku •
OpenShift • PaaSׂߴͳ͜ͱ͕ଟ͍
ࠓճʹ্͛ΔαʔϏε
linodeͦͷଞVPS͕ͳ͍ͷ ͬͯͳ͍͔ΒͰ͢ʼʻ Ϩϙʔτ͓͓ͪͯ͠Γ·͢ HUBͰΛͯ͠ʢ͈́
ͱΓ֤͋͑ͣΠϯελϯεͰ ϕϯν(unixbench)औͬͯΈΔ
֤αʔϏεͷεϖοΫ • Amazon AWS - t2.micro $15.60/month(※) • Google Compute
Engine - $7.48/month(※) • ͘͞ΒͷVPS - 934ԁ(੫ൈ͖)/month • DigitalOcean - $5/month • VULTR - $5/month
͕࣌ؒͳ͍ͷͰαʔϏεͷ ಛʹ݁ՌؚΊΔ
͍ͯ͘͞Ͱ
͍͖ͳΓ෮ݖͨ͠t2.mirco είΞ:1839.5 • t1.microγϣϘΠׂ͠ߴͩͳͬͯࢥͬͯͨ ͚ΕͲࠓͳΒϝονϟ͑͑Μͬͯͳͬͯ Δ • ͨͩ͠ɺৗ࣌ىಈͰͳ͘ىಈ༻్ • AWSͷαʔϏεݸਓͰ༗༻ͳͷଟ͍
t2ܥΠϯελϯεͷBurst • t2ܥͷΠϯελϯεੑೳ͕Burst͢Δ • Ұ࣌తʹೳྗ͕Ξοϓ • ͍ͬͯͳ͍ͱஷ͕ۚஷ·Δ • WebαʔϏεͷͱ͖ʹศརʢߏங࣌ͱ͔
GCE f1-micro είΞ:437.1 • ݸਓͰ͋·ΓΘͳ͍/͑ͳ͍αʔϏε • ϩʔυόϥϯαʔ • BigQuery͍͢͝Μ͚ͩΕͲ…… •
App EngineͷDockerରԠʹظ • 1ϲ݄͍ଓ͚Δͱ҆͘ͳΔγεςϜ
ීஈ͍ͰVULTR 768MB είΞ: 2328.2 • ͔ͳΓ͓ख͍ܰͩ҆͠ ͦͦ͜͜ૣ͍ • ࠷৽OS͕͍ͪૣ͘ࢼͤΔ •
Βͳ͍͏ͪʹػೳ͕Ճ͞Ε͍ͯΔ • CDΠϯετʔϧPXEϒʔτ͕Մೳ • ౦ژϦʔδϣϯ
Vagrant࿈ܞ͕Ͱ͖ΔDO είΞ: 1460.3 • Vagrantศར࠷ߴ • Ձ֨VULTRͱಉ͙͡Β͍ • ͨͩ͠Ұ൪͍ۙͷγϯΨϙʔϧϦʔδϣ ϯ
• ͍ͬͯΔਓଟ͍ͱࢥΘΕΔ
ٙ
ͱ͜ΖͰԶҰମ ͳΜͰ͜Μͳʹ αʔόΛཱͯͯΔΜͩ
ීஈͷ༻్ • ࡞ͬͯΈͨϛυϧΣΞͷϕϯν • ྲྀߦ͍ͬͯΔΒ͍͠ϛυϧΣΞΛͬͯΈΔ • खݩͷMac͕ͿΜͿΜ໐Δͷ͕ؾʹ৯Θͳ͍ • ࣮͋Μ·ΓαʔϏεͱ͔࡞ͬͯͳ͍
kuiperbelt ωοτϫʔΫଳҬͷ૿෯ϠόΠ
ωοτϫʔΫͷ՝ۚܗଶ ͚ͬͨͩ͏ ্ݶ·Ͱ0, ແ੍ݶ
సૹྔΛؾʹ͔͚Δ͖༻్ • ಈը৴ • ಈըऔΓࠐΈ • εΫϨΠϐϯάͯ͠σΧ͍XMLͱ͔Λఆظత ʹऔΓࠐΉͱ͔ • Ξοϓϩʔμʔ
ͦ͏͍͏࣌ʹ͘͞ΒͷVPS είΞ: 2080.1(2 cores) ͪΖΜۀͰAWS S3ͩͬͨΓ CloudFrontͩͬͨΓ͍͚ΔͩΖ͏͚ΕͲ AWS՝ֹ͕ۚݟ͑ͳ͍ͷ͕झຯͰΔʹ πϥΠ
͘͞ΒͷVPS • ཱͯΔͷ͕APIͰग़དྷͳ͍ • 1ϲ݄୯Ґͷ՝ۚ • ৗ࣌ىಈͰσʔλஔ͘ͱ͜Ζͱ͔ʹ͍͑ ͍ͷͰʁ • ssig33.com
- Docker ӡ༻͠·ͬͯ͘ಘΒΕͨ ͠ΐ΅͍ࣝ
VPSىಈ͕͍ • ͍͍ͩͨͦΕͧΕ1͔Β5͙Β͍͔͔Γ ·͢ • t2.mircoͱ͔gp2Λ͚ͭΔͱएׯૣ͍ • CoreOSͰ্ཱͪ͛Δͱૣ͍ͱ͔͋Δ • εφοϓγϣοτ
ఏҊ - ͻͱͭৗཱ͓࣌ͯͯ͘ • ϓϥΠϕʔτPaaSͷΑ͏ʹCoreOSΛཱͯ ͓ͯ͘ • ͦͷCoreOSʹରͯ͠σϓϩΠ͢Δ
ϝϦοτ • (طʹϏϧυࡁΈͷίϯςφͰ͋Ε)ૣ͍ • ͓͕ۚ༨ܭʹ͔͔Βͳ͍ • ϓϥΠϕʔτPaaS࣋ͬͯΔͬͯݴ͑Δ • ϓϥΠϕʔτϏʔνΈ͍ͨͳ
σϝϦοτ • ωοτϫʔΫੑೳΪϦΪϦ·Ͱ͏ϕϯν CPUΛ͍ͬͺ͍·Ͱ͏ϕϯνʹ͑ͳ͍ • kuiperbeltͦ͏͍͏͜ͱ͋ΔͷͰෳΠϯ ελϯε্ཱͪ͛ͯϕϯνऔΓ·ͨ͠
VULTRʹCoreOSΛࡌ͚ͬΔ https://coreos.com/docs/running-coreos/cloud-providers/vultr/
͏ҰͭͷఏҊ ϨγϐΛ࣋ͭ • ͍͍ͪͪyumͱ͔aptͱ͔ͬͯΒΕͳ͍ • chefͰansibleͰγΣϧεΫϦϓτͰ ͍͍͔Βࣗ༻ͷϨγϐΛ͓࣋ͬͯ͘ • ֤ʑͷελΠϧͰྑ͍
VULTRͰͷStartup Scripts • ެ։伴ͷྲྀ͠ࠐΈ(VULTR͚͔ͩ) • github͔Β • Α͘͏ܥͷϞδϡʔϧͷΠϯετʔϧͱ͔ • build-essential
/ mosh / tmux / vim • githubͷdotfiles͔Β*rcΛऔΓࠐΉ
ࠓͷ࣌ʹࣗαʔόͷҙຯ
ࣗαʔόͷσϝϦοτ • ిؾ • Πχγϟϧίετ • ੑೳΛ্͛Δʹ·ͨॳظࢿ͕ඞཁ • ॴ •
ਭΛ͛ΒΕΔ͜ͱ͕͋Δ
ී௨ʹԿ͔࣮ݧαʔϏεΛ ΔʹVPSͳͲʹ པͬͨ΄͏͕ྑ͍
ࣗʹαʔόΛஔ͘ͱ͜͏ͳ Δ • ཕ͕མͪͯΖΖඈͿ • Ҿͬӽ͠ͱ͔͠ʹ͘͘ͳΔ • ిؾɹόΧʹͳΒͳ͍
ͦΕͰ ·ͩࣗαʔό͕ඞཁͳ༻్
ྫ͑GPGPUͷ߹ • AWSͷGPUΠϯελϯε(g2.2xlarge)Ձ ͕֨$0.898ɻ1࣌ؒ90ԁෆ҆ײ͋Δ(※) • ੑೳ͕ݻఆͳͷͰͬͱεϖοΫ͕΄͍͠ ͱ͔ͩͱબࢶ͕ͳ͍
ྫ͑TV൪ըڥͱ͔ • ը(ࠓͷͱ͜Ζ)ࣗલͰΒͳ͍ͱ͍͚ ͳ͍ • WOLλΠϚʔͰը࣌ؒʹىಈͯ͠ը ͯ͠Τϯίͯ͠γϟοτμϯͱ͔ྦ͙· ͍͠ྗ͕ඞཁ
ετϨʔδ͕ΊͬͪΌཉ͍͠ • ςϥόΠτΫϥεͷετϨʔδΛΫϥυ ʹٻΊΔͱେมͳ͜ͱʹͳΔ • S3ͰԽͰ$24.6/month + α • ԽΛ͋·Γؾʹ͠ͳͯ͘ྑ͍ͳΒHDD
ങ͖ͬͯͯͦΕͬͨ΄͏͕ྑͦ͞͏
ࣗαʔόͱͯ͠ͷ Raspberry Pi
Raspberry Pi http://commons.wikimedia.org/wiki/File:Raspberry_Pi_Photo.jpg
ϝϦοτ • ফඅిྗ(ී௨ʹ͑࠷େ0.5Wఔ) • খ͍͞ • ඞཁ࠷ݶͷػೳඋ͍͑ͯΔ • ωοτϫʔΫ •
USB
ͬͯΈͨײ • ܥτϥϒϧ͕༗Δ • έʔεʹೖΕ͍ͯΔਓʹଟ͍ • ֎͚HDDʹΨϯΨϯॻ͖ࠐΉܥͩͱΊͬ ͪΌ͍ ଳҬ͕Γͳ͍ •
͍ܰΞϓϦέʔγϣϯͳΒOK t1.microఔ
Raspberry Pi Immutable Infrastracture(ཧ)
SDΧʔυ͕ΠϝʔδҠಈʂʂ • ͦΕͧΕͷڥҰॹͳͷͰSDΧʔυΛൈ͖ ࠩ͢͠Δ͚ͩͰڥΛม͑ΕΔ • ৽͍͠SDΧʔυʹΠϝʔδॻ͖ࠐΊ͙͢ʹ ·ͬ͞Βڥ • ͍҆ͷͰ͍ͬͺ͍ങ͑Δ =
ෳͷࢼݧͱ͔
·ͱΊ • ֤αʔϏεҰҰɻ͍͚Α͏ • ࣌ΫϥυɻͦΕͰࣗαʔό͕ඞཁ ʹͳΔ߹͕͋Δ͠ɺࣗαʔόϩϚϯ • αʔόཱࣺͯͯͯΔ࣌ͳͷͰօཱࣺͯͯ ͯ·ͬͯ͘ࢼͤྑ͍ͱࢥ͏ɻౖΒΕͳ͍ •
ࠓͷYAPCRasPi͕τϨϯυͰʂʁʂʁ