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
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
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
趣味開発のためのVPS/クラウド活用術
Search
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
860
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
1.5k
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
6
6.8k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
7.6k
ワンバイナリWebサービスのススメ
mackee
10
9.3k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
940
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.2k
perl for shell, awk and sed programmers
mackee
3
3k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1.2k
Other Decks in Programming
See All in Programming
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
200
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
200
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
540
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.7k
Simple Storage Service(S3) is not simple
iwatsukayura
0
320
contenteditable と日本語入力に向き合う
colorful12
0
210
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
520
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
130
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.9k
Groovy as a human and AI friendly programming language
paulk
0
110
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
180
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
380
Unsuck your backbone
ammeep
672
58k
Designing for Timeless Needs
cassininazir
1
530
Building an army of robots
kneath
307
47k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
640
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
810
Docker and Python
trallard
47
4.2k
Navigating Team Friction
lara
192
16k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
Making the Leap to Tech Lead
cromwellryan
135
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͕τϨϯυͰʂʁʂʁ