Slide 1

Slide 1 text

$IFGͷ׆༻Ϩγϐ &OHJOF:BSEͰ࢖ΘΕ͍ͯΔ

Slide 2

Slide 2 text

ZBOEP $BOEZ$BOFQIQ ʮ࠙਌ձϐβൃ஫ΞϓϦʯ

Slide 3

Slide 3 text

Copyright © 2013 Engine Yard. All Rights Reserved. 3 2006೥ɿ Engine Yard ઃཱ (Ruby࣮ߦ؀ڥͷఏڙ։࢝) 2008೥ɿ Amazon༷͕Engine Yardʹग़ࢿΛൃද 2009೥ɿ AWSج൫ͷPaaSΛఏڙ։࢝ ࠷େڃͷAWSϦηʔϥʔʹ 2011೥ɿ PHP࣮ߦ؀ڥͷఏڙ։࢝ 2012೥ɿ Engine Yard ೔ຊ๏ਓઃཱ Node.js࣮ߦ؀ڥͷఏڙ։࢝ എܠ: Engine Yard, Inc.ͷϏϧ(ӈख)͕ݐͭ1929೥ͷαϯϑϥϯγεί Engine YardͷาΈ

Slide 4

Slide 4 text

&OHJOF:BSE$MPVE 1MBUGPSNBTB4FSWJDF ઃఆෆཁͰࣗಈͰΞϓϦΛσϓϩΠ ӡ༻ɾ؂ࢹΛαϙʔτରԠ Πϯϑϥؔ࿈ͷਓ݅අΛθϩʹ ສ୯ҐͷΠϯελϯεΛҰׅӡ༻

Slide 5

Slide 5 text

&OHJOF:BSE$MPVE

Slide 6

Slide 6 text

"84$IFGαϙʔτ

Slide 7

Slide 7 text

"HFOEB $IFGͱ͸ $IFG4PMPͷར༻ ΑΓ࣮ફతͳར༻ྫ

Slide 8

Slide 8 text

$IFGͱ͸

Slide 9

Slide 9 text

$IFG 3VCZ੡ͷγεςϜ؅ཧπʔϧ ઃఆϑΝΠϧΛݩʹαʔόΛࣗಈઃఆ 6OJY-JOVY.BD8JOEPXTରԠ ແঈ൛Ͱ΋ར༻Մೳ ࠃ಺֎Ͱٸ଎ʹελϯμʔυʹ

Slide 10

Slide 10 text

DPPLCPPLΛݩʹઃఆ recipe cookbook 3VCZͰॻ͔ΕͨϨγϐͷू·Γ͕ΫοΫϒοΫ $IFG͸ϨγϐΛݩʹϗετΛࣗಈͰઃఆ͢Δ

Slide 11

Slide 11 text

SFDJQJFTͷྫ log "Hello Chef" package "apache2" do action :install end service "apache2" do action :start end

Slide 12

Slide 12 text

*OGSBTUSVDUVSFBT$PEF 2011/2 ΠϯϑϥΛίʔυͰهड़͢Δ ࣌୅͕౸དྷͨ͠

Slide 13

Slide 13 text

ʮγΣϧεΫϦϓτͰ໰୊ͳ͍ʯ ႈ౳ੑ͸͋Δ͔ʁ

Slide 14

Slide 14 text

ႈ౳ੑ ͋Δૢ࡞Λճߦͬͯ΋ෳ਺ճ ߦͬͯ΋݁Ռ͕ಉ͡Ͱ͋Δ͜ͱ Λ͍͏֓೦

Slide 15

Slide 15 text

ΠϯετʔϧεΫϦϓτ͸ ߏங௚ޙͷঢ়ଶ͔͠อূͰ͖ͳ͍ $IFG͸Կ౓Ͱ΋࣮ߦՄೳͰ γεςϜΛఆٛ͞Εͨঢ়ଶʹͰ͖Δ

Slide 16

Slide 16 text

$IFGͷߏ଄ ໨తͷϊʔυ܈ ؅ཧ༻αʔό

Slide 17

Slide 17 text

όϦΤʔγϣϯ )PTUFE$IFG 0QT$PEF͕ϗεςΟϯά͢Δ ϊʔυ਺ʹԠͨ͡՝ۚ 1SJWBUF$IFG 'JSFXBMM಺ͰՔಇ͢Δ ༗ঈ൛͸αϙʔτ͋Γ

Slide 18

Slide 18 text

)PTUFE$IFG

Slide 19

Slide 19 text

1SJDF

Slide 20

Slide 20 text

$IFG4FSWFS 044 ࣮͸ɺ࢖ͬͨࣄͳ͍Ͱ͢ʜ

Slide 21

Slide 21 text

DIFGTPMP αʔόʔෆཁͷDIFG ϩʔΧϧ্ͷΫοΫϒοΫΛ࣮ߦՄೳ (6*͸࢖͑ͳ͍ DIFGTPMPΛΩοΫ͢Δπʔϧ΋ଟ͍ FY 7BHSBOU &OHJOF:BSE

Slide 22

Slide 22 text

͜Μͳ੠΋

Slide 23

Slide 23 text

Chef Server $IFG$MJFOU ։ൃऀͷPC Workstation Node Cookbook Node DIFGDMJFOU DIFGDMJFOU "1* Cookbook LOJGF

Slide 24

Slide 24 text

։ൃऀͷPC Workstation Node $IFG4PMP,OJGF4PMP Node DIFGTPMP Cookbook LOJGF Cookbook DIFGTPMP Cookbook TTI TTI

Slide 25

Slide 25 text

DIFGTPMPେਓؾ

Slide 26

Slide 26 text

·ͣ͸$IFG4PMPͰ ϨγϐΛ࢖ͬͨߏஙʹ ׳ΕΔͷ͕٢

Slide 27

Slide 27 text

$IFG4PMPͷར༻

Slide 28

Slide 28 text

ηοτΞοϓ $ curl -L https://www.opscode.com/chef/install.sh | sudo bash $IFGͷ࣮ߦʹඞཁͳ3VCZ΍3VCZHFNTΛ γεςϜͱ͸ಠཱͯ͠Πϯετʔϧ

Slide 29

Slide 29 text

TPMPSC Ұ࣍σΟϨΫτϦͷ৔ॴͷઃఆ ΫοΫϒοΫͷύεͷઃఆ FUDDIFGTPMPSC ࣮ߦ࣌ʹଘࡏ͠ͳ͍৔߹͸ܯࠂ

Slide 30

Slide 30 text

TPMPSC file_cache_path "/var/chef-solo" cookbook_path ["/var/chef-solo/cookbooks"] file_cache_path "/var/chef-solo" cookbook_path ["/var/chef-solo/cookbooks", "/var/chef-solo/site-cookbooks"] ෳ਺ࢦఆՄ

Slide 31

Slide 31 text

OPEFKTPO $IFGαʔό͔Βͷσʔλͷ୅ସ ΫοΫϒοΫ΁౉͢ม਺Λઃఆ ࣮ߦ͢ΔϨγϐΛࢦఆ͢Δ

Slide 32

Slide 32 text

OPEFKTPO { "resolver": { "nameservers": [ "10.0.0.1" ], "search":"int.example.com" }, "run_list": [ "recipe[resolver]" ] } { "run_list": [ "recipe[resolver]" ] } ࣮ߦ͍ͨ͠Ϩγϐ

Slide 33

Slide 33 text

DIFGTPMP

Slide 34

Slide 34 text

ͭ·Γ ະઃఆͷঢ়ଶ͔ΒͰ΋೚ҙͷΫοΫ ϒοΫΛ࣮ߦग़དྷΔ WBSDIFGDPPLCPPLTIPHF ͷΫοΫϒοΫΛ࣮ߦ͢ΔͳΒ $ sudo chef-solo -o hoge

Slide 35

Slide 35 text

ςετ࣮ߦ

Slide 36

Slide 36 text

Ϩγϐͷهड़ LOJGFίϚϯυ σΟϨΫτϦߏ଄ 3FTPVSDF ެ։͞Ε͍ͯΔΫοΫϒοΫ

Slide 37

Slide 37 text

ΫοΫϒοΫ࡞੒ LOJGFDPPLCPPLDSFBUF\OBNF^ WBSDIFGDPPLCPPLTҎԼʹ࡞੒ $IFGαʔόΛ࢖Θͳ͍ͷͰΑ͠ͳʹ (JU)VC΍4Ͱ؅ཧ

Slide 38

Slide 38 text

σΟϨΫτϦߏ੒ CHANGELOG.md attributes/ files/ metadata.rb recipes/ templates/ README.md definitions/ libraries/ providers/ resources/ ϨγϐΛஔ͘ QMBUGPSNຖʹ΋ग़དྷΔ ઃఆϑΝΠϧͷͻͳܗ ϨγϐͰར༻͍ͨ͠ม਺ͳͲ

Slide 39

Slide 39 text

SFDJQFTEFGBVMUSC log “Hello Chef” QMBUGPSNΛؾʹ͠ͳ͍৔߹

Slide 40

Slide 40 text

Ϩγϐ 3VCZͰॻ͔ΕͨεΫϦϓτ ಺෦%4-Λ࢖ͬͯهड़ 3FTPVSDFͱݺ͹ΕΔจ๏ ૊ΈࠐΈͷ3FTPVSDF͸04ʹґଘ͠ͳ͍ ઃఆ࡞ۀΛఏڙ

Slide 41

Slide 41 text

SFDJQJFTEFGBVMUSC log "Hello Chef" package "apache2" do action :install end service "apache2" do action :start end ֤؀ڥͷύοέʔδ؅ཧΛ࣮ߦ

Slide 42

Slide 42 text

BQBDIFೖͬͨ

Slide 43

Slide 43 text

BQUHFUͰྑ͘Ͷʁ ୯७ͳύοέʔδಋೖҎ্ͷॲཧ͕ग़ དྷΔͷ͕$IFGͷڧΈ ݻ༗ͷઃఆϑΝΠϧͷઃஔ ύοέʔδؒɺϊʔυؒͷ࿈ಈઃఆ ࣮ߦ࣌ʹ৘ใΛऔಘ͢Δػೳ

Slide 44

Slide 44 text

UFNQMBUFϦιʔε &3#Λ࢖ͬͯಈతͳ஋Λૠೖ "QBDIFQIQOHJOYͳͲͷઃఆʹ ϓϥοτϑΥʔϜຖʹࠩ͠ସ͑΋Մೳ

Slide 45

Slide 45 text

UFNQMBUFTEFGBVMUUFTUUYUFSC This is Sample File.
<%= node[:platform] %>
<%= node[:platform_version] %> SFDJQFTEFGBVMUSC ଓ template "/var/www/test.txt" do source "test.txt.erb" mode 0644 end

Slide 46

Slide 46 text

ಈతʹϑΝΠϧΛ࡞੒

Slide 47

Slide 47 text

JODMVEF ผͷΫοΫϒοΫΛಡΈࠐΉ طଘͷ஌ࣝͷ࠶ར༻ ґଘؔ܎ͷఆٛ include_recipe “fuga”

Slide 48

Slide 48 text

ͦͯ͠ ࣗྗͰهड़ͨ͠ϨγϐΛஷΊ͍ͯ͘ ωοτ্ͷϨγϐΛख௚ͯ͠͠ར༻ *OGSBTUSVDUVSFBTDPEFΛ࣮ݱ

Slide 49

Slide 49 text

ΑΓ࣮ફతͳར༻ྫ

Slide 50

Slide 50 text

௚໘͢Δ՝୊ ໨తͷ؀ڥΛߏங͢ΔϨγϐͷ࣮૷ ॻ͔ΕͨϨγϐͷӡ༻อक Ϩγϐͷ഑෍ํ๏ Ϩγϐͷ൓өλΠϛϯάͷ੍ޚ

Slide 51

Slide 51 text

Ϩγϐͷ࣮૷ 3VCZͰͷ࣮૷ʹෆ׳Ε ˠ(JU)VC্ͷϨγϐΛࢀরɾར༻ Ϩγϐͷςετ༻ͷ؀ڥ͕େྔʹ࢖͏ ˠ7BHSBOUΛ࢖͏

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

7BHSBOU 7JSUVBM#PYͷϑϩϯτΤϯυ ΠϝʔδϑΝΠϧͷ؅ཧɺDIFG΍ QVQQFUͷىಈ·ͰΛશࣗಈͰ࣮ߦ $IFGϢʔβͷඞܞπʔϧ ϓϥάΠϯͰΫϥ΢υ΋ར༻Մೳ

Slide 54

Slide 54 text

Ϩγϐͷӡ༻อक Ϩγϐͷ഑෍ (JU)VC ,OJGFTPMP /'4 $IFG4FSWFS #FSLTIFMG Ϩγϐͷ൓өλΠϛϯά $BQJTUSBOP DSPO DIFGDMJFOUͷEBFNPO

Slide 55

Slide 55 text

Node Node GitHub engineyard.com Node &OHJOF:BSEͷ৔߹ DIFGTPMP Cookbook BQQMZ &OHJOF:BSE͕࣮૷ͨ͠Ϩγϐ Λ8FCͷૢ࡞Ͱඞཁͳ࣌ʹ൓ө ΧελϜϨγϐ

Slide 56

Slide 56 text

GitHub ։ൃऀͷPC &OHJOF:BSE-PDBM Cookbook &OHJOF:BSE-PDBM Ϋϥ΢υ্ͱಉҰͷϨγϐͰϩʔΧϧʹ ։ൃ؀ڥΛ࡞Δπʔϧ VM DIFGTPMP BQQMZ 7BHSBOU Node DIFGTPMP BQQMZ

Slide 57

Slide 57 text

ར఺ ར༻ऀ͸վྑ͞Ε͚ͭͮΔϨγϐΛ Կ΋ॻ͔ͣʹར༻Ͱ͖Δ ར༻ऀͷ؀ڥͷ಺෦ߏ੒͕౷Ұ͞Ε ޮ཰తͳαϙʔτ͕Մೳ ϨγϐΛ௥Ճͯ͠೚ҙͷߏ੒΋Մೳ

Slide 58

Slide 58 text

ڭ܇ Ϩγϐͷ࣮૷ͱద༻͸ࣗಈԽ͕ඞཁ πʔϧͷಋೖ͸݁ہඞཁ $IFGͦͷ΋ͷΛӡ༻͢Δ࿑ྗ ࣗྗPS֎෦αʔϏε &OHJOF:BSE

Slide 59

Slide 59 text

࣭໰ʁ IUUQCJUMZFZDIFG ຊ೔ͷεϥΠυͳͲͷ৘ใɺ ϊϕϦςΟͷϓϨθϯτ৘ใʂ