Slide 1

Slide 1 text

&OHJOF:BSE$MPVEೖ໳

Slide 2

Slide 2 text

Agenda • αϯϓϧͷσϓϩΠ • &OHJOF:BSE$MPVEͷ֓ཁ • σϓϩΠͱϚΠάϨʔγϣϯ • ֤छϩά৘ใͷ֬ೝ • όοΫΞοϓͱεφοϓγϣοτ • εέʔϧΞ΢τ • Πϯελϯε΁ͷ44) • &OHJOF:BSE$-* • $IFGΛར༻ͨ͠؀ڥͷΧελϚΠζ

Slide 3

Slide 3 text

αϯϓϧͷσϓϩΠ

Slide 4

Slide 4 text

αϯϓϧͷσϓϩΠ • օ͞ΜͷΞΧ΢ϯτͰσϓϩΠ͠·͢ • ·ͣઌʹྲྀΕΛͻͱ௨Γ͓ݟ͔ͤͯ͠Βɺ֤ࣗʹ΍ͬͯ௖ ͖·͢ • Ϋϥ΢υ্ʹαʔόΛߏங͢Δͷʹ10෼ఔ౓ͷ଴ͪ࣌ؒ ͕ൃੜ͠·͢

Slide 5

Slide 5 text

Engine Yard Cloudͱ͸ 5

Slide 6

Slide 6 text

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ͷาΈ

Slide 7

Slide 7 text

PaaS IaaS SaaS ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧ΢ΣΞ OS Ծ૝Խ αʔόʔ ετϨʔδ ωοτϫʔΫ ΞϓϦέʔγϣϯ σʔλ ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧ΢ΣΞ OS Ծ૝Խ αʔόʔ ετϨʔδ ωοτϫʔΫ ΦϯϓϨϛε ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧ΢ΣΞ OS Ծ૝Խ αʔόʔ ετϨʔδ ωοτϫʔΫ ϋʔυ΢ΣΞɺϛυϧ ΢ΣΞɺΞϓϦέʔ γϣϯͷ͢΂ͯΛॴ༗ ͢Δܗଶ ωοτϫʔΫ΍αʔ όʔϚγϯͳͲͷΠϯ ϑϥΛαʔϏεͱͯ͠ ఏڙ͢Δܗଶ ΞϓϦέʔγϣϯͷ ػೳΛαʔϏεͱ͠ ͯఏڙ͢Δܗଶ ϥϯλΠϜ ϛυϧ΢ΣΞ OS Ծ૝Խ αʔόʔ ετϨʔδ ωοτϫʔΫ ΞϓϦέʔγϣϯ࣮ߦ ؀ڥɾ։ൃ؀ڥΛαʔ Ϗεͱͯ͠ఏڙ͢Δܗ ଶ PaaS Πϊϕʔτ Ξ΢τιʔε • ࣗ༝ʹબ୒ʗ։ൃΛ ͢Δ͜ͱ͕Մೳɻ • બ୒ʗઃఆʗ։ൃ ޻਺͕͔͔Δɻ • Πϊϕʔτ૚͕૿͑ Δ΄Ͳ޻਺૿Ճɻ • ॴ༗ʗ։ൃίετ͕ ͔͔ΒͣʹࡁΉɻ • Πϊϕʔτ૚ʹूத Ͱ͖Δɻ • Ξ΢τιʔε૚ຖʹ બ୒෯͕ݶఆ͞Εͯ ͍Δɻ

Slide 8

Slide 8 text

Engine Yard ͷఏҊ͢Δ PaaS ΞϓϦέʔγϣϯͱσʔλͷ Πϊϕʔγϣϯʹूத ʹ PaaS ͷڧΈ

Slide 9

Slide 9 text

ͳΜ͔ͩΑ͘Θ͔Γ·ͤΜͶ ΋͏͢͜͠۩ମతʹ ߟ͑ͯΈ·͠ΐ͏

Slide 10

Slide 10 text

Ұൠతͳ2૚Ϋϥελߏ੒ Application Server Application Server Application Server Master Database Slave Database LB

Slide 11

Slide 11 text

౰વग़དྷ·͢ΑͶʁ Application Server Application Server Application Server Master Database Slave Database LB •Ϋϥελߏ੒ͷڍಈͷཧղ •͜ͷߏ੒ͷγεςϜηοτΞοϓ •͜ͷߏ੒ͷγεςϜͷӡ༻

Slide 12

Slide 12 text

Ͱ͸࣭໰Ͱ͢ ઌ΄Ͳͷߏ੒ͷγεςϜΛ ͲΕ͘Β͍ͷ࣌ؒ ͰߏஙͰ͖·͔͢ʁ

Slide 13

Slide 13 text

Ͱ͸࣭໰Ͱ͢ ઌ΄Ͳͷߏ੒ͷγεςϜΛ 10ηοτΛ ͲΕ͘Β͍ͷ࣌ؒ ͰߏஙͰ͖·͔͢ʁ

Slide 14

Slide 14 text

ؤுΓ·ͨ͠

Slide 15

Slide 15 text

Ͱ͸࣭໰Ͱ͢ ઌ΄Ͳͷߏ੒ͷγεςϜΛ ࠷৽൛΁ͷߋ৽Λ ͲΕ͘Β͍ͷ࣌ؒ Ͱ׬ྃͰ͖·͔͢ʁ

Slide 16

Slide 16 text

Ͱ͸࣭໰Ͱ͢ ઌ΄Ͳͷߏ੒ͷγεςϜΛ Քಇঢ়گͷ؂ࢹମ੍΋ ༻ҙͰ͖·͔͢ʁ

Slide 17

Slide 17 text

Ͱ͸࣭໰Ͱ͢ Πϯϑϥʹڧ͍ ΤϯδχΞ͕ܧଓతʹ ౒ྗ͢Ε͹ग़དྷΔ

Slide 18

Slide 18 text

͔͠͠ɺΠϯϑϥ࡞ۀ͕޻਺Λѹഭ 18 Πϯϑϥཁһ ։ൃཁһ

Slide 19

Slide 19 text

Engine Yard Cloud ͸ ͋ͳͨͷҝͷ ੌ࿹ΠϯϑϥΤϯδχΞ

Slide 20

Slide 20 text

࠷ઌ୺ͷࣗಈԽɾٕज़ελοΫ

Slide 21

Slide 21 text

μογϡϘʔυ΍CLI͔Βͷߴ౓ͳӡ༻ σϓϩΠ όοΫΞοϓ ΫϥελϦϯάߏ੒ NoSQL εϨʔϒDB Ϋϩʔϯ ϦόʔεϓϩΩγ Cron δϣϒ ৽نߏங ύοέʔδಋೖ ΞϓϦέʔγϣϯӡ༻ γεςϜ؅ཧ μογϡϘʔυ͔Β ༷ʑͳγεςϜΛਝ଎ʹߏ੒

Slide 22

Slide 22 text

σϓϩΠ

Slide 23

Slide 23 text

VNOCͰ؂ࢹ΋ߦ͍·͢ 23 Virtual Network Operation Center ্ͰαϙʔτνʔϜ͕ 24/365 ؂ࢹ

Slide 24

Slide 24 text

શͯͷϦιʔεΛ։ൃʹ౤ೖʂ ։ൃཁһʂ ʢ50%૿ʣ Πϯϑϥ͸ ͓·͔ͤ

Slide 25

Slide 25 text

25 PaaSΛར༻͢ΔࣄͰ ͋ͳͨํͷϦιʔε಺Ͱͷ ։ൃ଎౓Λ࠷େݶʹ

Slide 26

Slide 26 text

σϓϩΠͱϚΠάϨʔγϣϯ 26

Slide 27

Slide 27 text

σϓϩΠͱϚΠάϨʔγϣϯ • ϫϯΫϦοΫσϓϩΠ ඪ४తͳΞϓϦέʔγϣϯΛϫϯΫϦοΫͰσϓϩΠ • ϚΠάϨʔγϣϯ σʔλϕʔεͷεΩʔϚ৘ใͷߋ৽ΛࣗಈԽ

Slide 28

Slide 28 text

σϓϩΠ Gentoo Linux (EC2 Instance) ιʔείʔυ Gemfile rake db:migrate ઃఆϑΝΠϧੜ੒ /data/{appname}/ releases/{datetime} ಛఆͷύεʹରͯ͠ ࣗಈσϓϩΠ

Slide 29

Slide 29 text

֤छϩάͷऔಘ 29

Slide 30

Slide 30 text

౷ܭ߲໨ cpu΍σΟεΫͳͲͷ ΦʔιυοΫεͳ؂ࢹ

Slide 31

Slide 31 text

όοΫΞοϓͱεφοϓγϣοτ 31

Slide 32

Slide 32 text

εέʔϧΞ΢τ • όοΫΞοϓ σʔλϕʔεͷσʔλͷμϯϓ • εφοϓγϣοτ σΟεΫͷ಺༰ͷશͯͷίϐʔ

Slide 33

Slide 33 text

εφοϓγϣοτɾόοΫΞοϓ Gentoo Linux (EC2 Instance) EBS αʔόΛఀࢭ͢Δͱ ফ͑ΔྖҬ ೚ҙʗࣗಈͰόοΫΞοϓ࡞੒ /data /db ӬଓԽ͞ΕͨྖҬ (όοΫΞοϓͳͲ)

Slide 34

Slide 34 text

Ϋϩʔϯ 34 ຊ൪؀ڥͷෳ੡Λ ඞཁͳ͚࣌ͩ࡞੒ʂ

Slide 35

Slide 35 text

εέʔϧΞ΢τ 35

Slide 36

Slide 36 text

εέʔϧΞ΢τ • ֤छαʔόʔΛ௥ՃՄೳ • ϩʔυόϥϯαʔ΁ͷొ࿥ͳͲ͸ࣗಈతʹߦΘΕΔ • ࣌ؒΛܾΊͯαʔόͷ૿ݮΛ͢ΔͳͲͷࣗಈԽ΋αϙʔ τ༧ఆ

Slide 37

Slide 37 text

௥Ճ͞ΕͨΠϯελϯεΛࣗಈͰෛՙ෼ࢄ 37 ϩʔυόϥϯα HA Proxy ϩʔυόϥϯα Elastic Load Balancing Availability Zone A Availability Zone B EC2 EC2 EC2

Slide 38

Slide 38 text

Πϯελϯε΁ͷSSH 38

Slide 39

Slide 39 text

ެ։伴ͷొ࿥ 39

Slide 40

Slide 40 text

deploy ϢʔβͰͷSSH 40 sudo Ͱ͖·͢ʂ

Slide 41

Slide 41 text

SSH ઀ଓͷ஫ҙ఺ • ΠϯελϯεΛఀࢭɾىಈ͢Δͱϗετ伴͕มΘΔ • sudo ͯ͠؀ڥʹมߋΛՃ͑ͯ΋ఀࢭɾىಈͰফࣦ • Root ͕औΕΔͱ͍͏ҙຯͰIaaSͱಉ༷ͷࣗ༝౓ ஫ҙ IaaSͱͯ͠࢖͏ͱ ࣗಈԽͷԸܙ͕ແ͘ͳΔ

Slide 42

Slide 42 text

CLI 42

Slide 43

Slide 43 text

CLI ΫϥΠΞϯτ • ίϚϯυϥΠϯ͔ΒEngine Yard Cloud ʹΞΫηε • gem install engineyard • ey deploy σϓϩΠΛ࣮ߦ • ey rebuild ؀ڥͷ࠶ߏங • ey web disable / enable WebΞΫηεͷແޮԽɾ༗ޮԽ • ey recipes ΧελϜ Chef Ϩγϐͷ࣮ߦ ΞϓϦέʔγϣϯͷ ϧʔτͰ࣮ߦ͢Δ

Slide 44

Slide 44 text

ChefʹΑΔ؀ڥͷΧελϚΠζ 44

Slide 45

Slide 45 text

ύοέʔδߋ৽ • શͯͷߏங͸ChefͷϨγϐ • Կ౓Ͱ΋࠶ߏஙͳͷͰ࠷৽ͷϛ υϧ΢ΣΞΛਵ࣌ಋೖՄೳ • ΧελϚΠζ΋Ͱ͖Δ • Engine Yard͸ϛυϧ΢ΣΞͷ ݕূΛਵ࣌ߦͳ͍ͬͯ·͢ Amazon EC2 Cloud cookbook ΧελϜϨγϐ Your App ΞυΦϯ

Slide 46

Slide 46 text

ChefͷΫοΫϒοΫͷྫ 46

Slide 47

Slide 47 text

Chef Ϩγϐͷ࣮ߦ • https://github.com/engineyard/ey-cloud-recipes • ϑΥʔΫͨ͠ϧʔτɾσΟϨΫτϦͰίϚϯυ࣮ߦ ey recipies upload -e ENV ey recipes apply -e ENV • ΧελϜϨγϐ͸࠶ߏங࣌ʹ΋ࣗಈ࣮ߦ • ఀࢭɾ࠶։ͰࣦΘΕͳ͍ߏ੒มߋ͸શͯϨγϐͰߦ͏