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
Engine Yard Cloud 入門
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
430
Shimokita.Unity パーティクルでエフェクト
yandod
0
880
CakePHP3の明るい未来
yandod
1
300
Testing your app with Selenium on Travis CI
yandod
8
3.3k
Testing your app with Selenium on Travis CI
yandod
0
190
Inputで入力を扱う
yandod
0
740
Detonatorで爆発させる勉強会をした報告
yandod
0
2.5k
Mecanimでアニメーション - Shimokita.Unity
yandod
0
800
パリの街をUnityで駆ける
yandod
1
3.5k
Other Decks in Programming
See All in Programming
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
160
React本体のコードリーディング
high_g_engineer
1
140
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
その節約、円になってますか?
isamumumu
1
710
Android CLI
fornewid
0
210
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
770
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
メールのエイリアス機能を履き違えない
isshinfunada
0
230
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Abbi's Birthday
coloredviolet
3
9.3k
GitHub's CSS Performance
jonrohan
1033
470k
The Curious Case for Waylosing
cassininazir
1
450
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
460
Side Projects
sachag
455
43k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
A Tale of Four Properties
chriscoyier
163
24k
Unsuck your backbone
ammeep
672
58k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
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 • ΧελϜϨγϐ࠶ߏங࣌ʹࣗಈ࣮ߦ • ఀࢭɾ࠶։ͰࣦΘΕͳ͍ߏมߋશͯϨγϐͰߦ͏