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
Engine Yard Cloud 入門
Search
Yusuke Ando
April 08, 2013
Programming
330
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Engine Yard Cloud 入門
Yusuke Ando
April 08, 2013
More Decks by Yusuke Ando
See All by Yusuke Ando
CakePHP3でアプリ開発
yandod
1
440
Shimokita.Unity パーティクルでエフェクト
yandod
0
900
CakePHP3の明るい未来
yandod
1
310
Testing your app with Selenium on Travis CI
yandod
8
3.3k
Testing your app with Selenium on Travis CI
yandod
0
200
Inputで入力を扱う
yandod
0
740
Detonatorで爆発させる勉強会をした報告
yandod
0
2.6k
Mecanimでアニメーション - Shimokita.Unity
yandod
0
810
パリの街をUnityで駆ける
yandod
1
3.5k
Other Decks in Programming
See All in Programming
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
170
Are APIs Still Relevant in the AI Era?
soyuka
0
300
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
120
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.9k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.3k
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
190
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
190
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
320
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
310
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
670
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
570
Ethics towards AI in product and experience design
skipperchong
2
380
Speed Design
sergeychernyshev
33
2.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
880
Evolving SEO for Evolving Search Engines
ryanjones
0
300
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
250
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Transcript
&OHJOF:BSE$MPVEೖ
Agenda • αϯϓϧͷσϓϩΠ • &OHJOF:BSE$MPVEͷ֓ཁ • σϓϩΠͱϚΠάϨʔγϣϯ • ֤छϩάใͷ֬ೝ •
όοΫΞοϓͱεφοϓγϣοτ • εέʔϧΞτ • Πϯελϯεͷ44) • &OHJOF:BSE$-* • $IFGΛར༻ͨ͠ڥͷΧελϚΠζ
αϯϓϧͷσϓϩΠ
αϯϓϧͷσϓϩΠ • օ͞ΜͷΞΧϯτͰσϓϩΠ͠·͢ • ·ͣઌʹྲྀΕΛͻͱ௨Γ͓ݟ͔ͤͯ͠Βɺ֤ࣗʹͬͯ ͖·͢ • Ϋϥυ্ʹαʔόΛߏங͢Δͷʹ10ఔͷͪ࣌ؒ ͕ൃੜ͠·͢
Engine Yard Cloudͱ 5
Copyright © 2013 Engine Yard. All Rights Reserved. 6 2006ɿ
Engine Yard ઃཱ (Ruby࣮ߦڥͷఏڙ։࢝) 2008ɿ Amazon༷͕Engine Yardʹग़ࢿΛൃද 2009ɿ AWSج൫ͷϓϥοτϑΥʔϜΛఏڙ։࢝ ࠷େڃͷAWSϦηʔϥʔʹ 2011ɿ PHP࣮ߦڥͷఏڙ։࢝ 2012ɿ Engine Yard ຊ๏ਓઃཱ Node.js࣮ߦڥͷఏڙ։࢝ എܠ: Engine Yard, Inc.ͷϏϧ(ӈख)͕ݐͭ1929ͷαϯϑϥϯγεί Engine YardͷาΈ
PaaS IaaS SaaS ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧΣΞ OS ԾԽ αʔόʔ
ετϨʔδ ωοτϫʔΫ ΞϓϦέʔγϣϯ σʔλ ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧΣΞ OS ԾԽ αʔόʔ ετϨʔδ ωοτϫʔΫ ΦϯϓϨϛε ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧΣΞ OS ԾԽ αʔόʔ ετϨʔδ ωοτϫʔΫ ϋʔυΣΞɺϛυϧ ΣΞɺΞϓϦέʔ γϣϯͷͯ͢Λॴ༗ ͢Δܗଶ ωοτϫʔΫαʔ όʔϚγϯͳͲͷΠϯ ϑϥΛαʔϏεͱͯ͠ ఏڙ͢Δܗଶ ΞϓϦέʔγϣϯͷ ػೳΛαʔϏεͱ͠ ͯఏڙ͢Δܗଶ ϥϯλΠϜ ϛυϧΣΞ OS ԾԽ αʔόʔ ετϨʔδ ωοτϫʔΫ ΞϓϦέʔγϣϯ࣮ߦ ڥɾ։ൃڥΛαʔ Ϗεͱͯ͠ఏڙ͢Δܗ ଶ PaaS Πϊϕʔτ Ξτιʔε • ࣗ༝ʹબʗ։ൃΛ ͢Δ͜ͱ͕Մೳɻ • બʗઃఆʗ։ൃ ͕͔͔Δɻ • Πϊϕʔτ͕૿͑ Δ΄Ͳ૿Ճɻ • ॴ༗ʗ։ൃίετ͕ ͔͔ΒͣʹࡁΉɻ • Πϊϕʔτʹूத Ͱ͖Δɻ • Ξτιʔεຖʹ બ෯͕ݶఆ͞Εͯ ͍Δɻ
Engine Yard ͷఏҊ͢Δ PaaS ΞϓϦέʔγϣϯͱσʔλͷ Πϊϕʔγϣϯʹूத ʹ PaaS ͷڧΈ
ͳΜ͔ͩΑ͘Θ͔Γ·ͤΜͶ ͏͢͜͠۩ମతʹ ߟ͑ͯΈ·͠ΐ͏
Ұൠతͳ2Ϋϥελߏ Application Server Application Server Application Server Master Database Slave
Database LB
વग़དྷ·͢ΑͶʁ Application Server Application Server Application Server Master Database Slave
Database LB •Ϋϥελߏͷڍಈͷཧղ •͜ͷߏͷγεςϜηοτΞοϓ •͜ͷߏͷγεςϜͷӡ༻
Ͱ࣭Ͱ͢ ઌ΄ͲͷߏͷγεςϜΛ ͲΕ͘Β͍ͷ࣌ؒ ͰߏஙͰ͖·͔͢ʁ
Ͱ࣭Ͱ͢ ઌ΄ͲͷߏͷγεςϜΛ 10ηοτΛ ͲΕ͘Β͍ͷ࣌ؒ ͰߏஙͰ͖·͔͢ʁ
ؤுΓ·ͨ͠
Ͱ࣭Ͱ͢ ઌ΄ͲͷߏͷγεςϜΛ ࠷৽൛ͷߋ৽Λ ͲΕ͘Β͍ͷ࣌ؒ ͰྃͰ͖·͔͢ʁ
Ͱ࣭Ͱ͢ ઌ΄ͲͷߏͷγεςϜΛ Քಇঢ়گͷࢹମ੍ ༻ҙͰ͖·͔͢ʁ
Ͱ࣭Ͱ͢ Πϯϑϥʹڧ͍ ΤϯδχΞ͕ܧଓతʹ ྗ͢Εग़དྷΔ
͔͠͠ɺΠϯϑϥ࡞ۀ͕Λѹഭ 18 Πϯϑϥཁһ ։ൃཁһ
Engine Yard Cloud ͋ͳͨͷҝͷ ੌΠϯϑϥΤϯδχΞ
࠷ઌͷࣗಈԽɾٕज़ελοΫ
μογϡϘʔυCLI͔Βͷߴͳӡ༻ σϓϩΠ όοΫΞοϓ ΫϥελϦϯάߏ NoSQL εϨʔϒDB Ϋϩʔϯ ϦόʔεϓϩΩγ Cron δϣϒ
৽نߏங ύοέʔδಋೖ ΞϓϦέʔγϣϯӡ༻ γεςϜཧ μογϡϘʔυ͔Β ༷ʑͳγεςϜΛਝʹߏ
σϓϩΠ
VNOCͰࢹߦ͍·͢ 23 Virtual Network Operation Center ্ͰαϙʔτνʔϜ͕ 24/365 ࢹ
શͯͷϦιʔεΛ։ൃʹೖʂ ։ൃཁһʂ ʢ50%૿ʣ Πϯϑϥ ͓·͔ͤ
25 PaaSΛར༻͢ΔࣄͰ ͋ͳͨํͷϦιʔεͰͷ ։ൃΛ࠷େݶʹ
σϓϩΠͱϚΠάϨʔγϣϯ 26
σϓϩΠͱϚΠάϨʔγϣϯ • ϫϯΫϦοΫσϓϩΠ ඪ४తͳΞϓϦέʔγϣϯΛϫϯΫϦοΫͰσϓϩΠ • ϚΠάϨʔγϣϯ σʔλϕʔεͷεΩʔϚใͷߋ৽ΛࣗಈԽ
σϓϩΠ Gentoo Linux (EC2 Instance) ιʔείʔυ Gemfile rake db:migrate ઃఆϑΝΠϧੜ
/data/{appname}/ releases/{datetime} ಛఆͷύεʹରͯ͠ ࣗಈσϓϩΠ
֤छϩάͷऔಘ 29
౷ܭ߲ cpuσΟεΫͳͲͷ ΦʔιυοΫεͳࢹ
όοΫΞοϓͱεφοϓγϣοτ 31
εέʔϧΞτ • όοΫΞοϓ σʔλϕʔεͷσʔλͷμϯϓ • εφοϓγϣοτ σΟεΫͷ༰ͷશͯͷίϐʔ
εφοϓγϣοτɾόοΫΞοϓ Gentoo Linux (EC2 Instance) EBS αʔόΛఀࢭ͢Δͱ ফ͑ΔྖҬ ҙʗࣗಈͰόοΫΞοϓ࡞ /data
/db ӬଓԽ͞ΕͨྖҬ (όοΫΞοϓͳͲ)
Ϋϩʔϯ 34 ຊ൪ڥͷෳΛ ඞཁͳ͚࣌ͩ࡞ʂ
εέʔϧΞτ 35
εέʔϧΞτ • ֤छαʔόʔΛՃՄೳ • ϩʔυόϥϯαʔͷొͳͲࣗಈతʹߦΘΕΔ • ࣌ؒΛܾΊͯαʔόͷ૿ݮΛ͢ΔͳͲͷࣗಈԽαϙʔ τ༧ఆ
Ճ͞ΕͨΠϯελϯεΛࣗಈͰෛՙࢄ 37 ϩʔυόϥϯα HA Proxy ϩʔυόϥϯα Elastic Load Balancing Availability
Zone A Availability Zone B EC2 EC2 EC2
ΠϯελϯεͷSSH 38
ެ։伴ͷొ 39
deploy ϢʔβͰͷSSH 40 sudo Ͱ͖·͢ʂ
SSH ଓͷҙ • ΠϯελϯεΛఀࢭɾىಈ͢Δͱϗετ伴͕มΘΔ • sudo ͯ͠ڥʹมߋΛՃ͑ͯఀࢭɾىಈͰফࣦ • Root ͕औΕΔͱ͍͏ҙຯͰIaaSͱಉ༷ͷࣗ༝
ҙ IaaSͱͯ͠͏ͱ ࣗಈԽͷԸܙ͕ແ͘ͳΔ
CLI 42
CLI ΫϥΠΞϯτ • ίϚϯυϥΠϯ͔ΒEngine Yard Cloud ʹΞΫηε • gem install
engineyard • ey deploy σϓϩΠΛ࣮ߦ • ey rebuild ڥͷ࠶ߏங • ey web disable / enable WebΞΫηεͷແޮԽɾ༗ޮԽ • ey recipes ΧελϜ Chef Ϩγϐͷ࣮ߦ ΞϓϦέʔγϣϯͷ ϧʔτͰ࣮ߦ͢Δ
ChefʹΑΔڥͷΧελϚΠζ 44
ύοέʔδߋ৽ • શͯͷߏஙChefͷϨγϐ • ԿͰ࠶ߏஙͳͷͰ࠷৽ͷϛ υϧΣΞΛਵ࣌ಋೖՄೳ • ΧελϚΠζͰ͖Δ • Engine
YardϛυϧΣΞͷ ݕূΛਵ࣌ߦͳ͍ͬͯ·͢ Amazon EC2 Cloud cookbook ΧελϜϨγϐ Your App ΞυΦϯ
ChefͷΫοΫϒοΫͷྫ 46
Chef Ϩγϐͷ࣮ߦ • https://github.com/engineyard/ey-cloud-recipes • ϑΥʔΫͨ͠ϧʔτɾσΟϨΫτϦͰίϚϯυ࣮ߦ ey recipies upload -e
ENV ey recipes apply -e ENV • ΧελϜϨγϐ࠶ߏங࣌ʹࣗಈ࣮ߦ • ఀࢭɾ࠶։ͰࣦΘΕͳ͍ߏมߋશͯϨγϐͰߦ͏