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
Puppet Book
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kentaro Kuribayashi
May 10, 2013
Technology
3.9k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Puppet Book
#pfcasual
Kentaro Kuribayashi
May 10, 2013
More Decks by Kentaro Kuribayashi
See All by Kentaro Kuribayashi
あとはAIに任せて人間は自由に生きる
kentaro
5
2.3k
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
3
350
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
2
2.6k
Bidirectional Quadratic Voting Leveraging Issue-Based Matching
kentaro
2
840
大高生へのメッセージ(令和6年度「大高未来塾」) / Messages to Current Students
kentaro
0
380
「始め方」の始め方 / How to Start Starting Things
kentaro
5
1k
Dynamic IoT Applications and Isomorphic IoT Systems Using WebAssembly
kentaro
1
1.7k
わたしがこのところハマっている「ライセンスフリー無線」のご紹介 / An Invitation to License-Free Radio
kentaro
1
810
先行きの見えなさを楽しさに変える ーVUCA時代のキャリア論と絶対他力主義ー / How to develop your career in the VUCA era
kentaro
8
7.1k
Other Decks in Technology
See All in Technology
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
570
LLMに渡さなかった仕事
nanaism
0
5.3k
ほんとうの信頼性はヒーローが死んでからはじまる / True reliability begins after the hero dies
vtryo
0
120
AIエージェントの権限管理 3: Agentic RAG の Fine grained access control 編
ren8k
1
260
CI/CDではもう遅い - 人とAIが迂回しないDevSecOps Verify基盤の再設計 -
kintotechdev
0
160
beyond jj: config & tools ecosystem
indirect
0
6k
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
1
420
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
280
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
cscengineer
PRO
0
330
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.7k
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
950
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
740
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Test your architecture with Archunit
thirion
2
2.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
YesSQL, Process and Tooling at Scale
rocio
174
15k
From π to Pie charts
rasagy
1
380
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
New Earth Scene 8
popppiees
4
2.6k
Transcript
એ ʰೖPuppetʱ Automate Your Infrastructure
@kentaro Software engineer Rubyist / Perl Monger Agile DevOps-er Kentaro
Kuribayashi paperboy&co.
˒ લͷۈઌͰPuppet ChefΛ͚ͬͯͨͲແࢹͬ ͯͨ ˒ ͍·ͷձࣾͰPuppetΛΘ ͟ΔΛಘͳ͘ͳͬͨͷͰ PuppetͱΘͨ͠
ϒΫϩάͷύϒʔ http://p.booklog.jp/book/70667 ୡਓग़൛ձ http://tatsu-zine.com/books/puppet Amazon http://www.amazon.co.jp/dp/B00CL92JC0
อଘ༻ ؍༻ ීٴ༻
http://tmix.jp/design/detail/518356
ຊॳͷPuppetຊ
˒ ΦʔϓϯιʔεͳγεςϜࣗಈཧπʔϧ Puppet by mizzy ˒ Puppet Best Practice? by
mizzy ˒ Puppetͷεεϝ by mizzy ˒ Puppet Dojo by @trombik ͜Ε·ͰͷPuppetʹؔ͢ΔຊޠϦιʔε ͜Ε·Ͱຊޠॻ੶φγ
None
http://www.flickr.com/photos/bogdansuditu/2377844553/ ຊॻͷλʔήοτ
ΦϖϨʔγϣϯΤϯδχΞΑΓ Ή͠ΖΞϓϦέʔγϣϯ։ൃ ऀΛఆ ΞϓϦ։ൃऀ͕PuppetΛͬͯγεςϜߏங ʹࢀՃͰ͖Δ͙Β͍·Ͱ
lຊॻͷඪɺ͜ͷຊΛಡΜͩಡऀ͕Puppetͷ جຊʹ͍ͭͯͻͱͱ͓ΓΓɺΦϖϨʔγϣϯΤ ϯδχΞͷॻ͍ͨmanifest αʔόͷ͋Δ͖ঢ় ଶΛهड़ͨ͠ઃఆϑΝΠϧͷΑ͏ͳͷɻޙड़ ʹ มߋΛՃ͑ͨΓɺ͋ΔఔͷنͷͷͳΒࣗྗ Ͱ͍͔ͪΒॻ͚ΔΑ͏ʹͳͬͨΓ͢Δ͜ͱͰ͢ɻ ͦͷͨΊɺຊॻ͋͑ͯϦϑΝϨϯεͱͯ͠ͷ ཏੑΛࢦ͠·ͤΜɻ࣮ࡍͷֶशஈ֊Ͱඞཁͱͳ
Δࣝʹ͠΅ͬͯઆ໌͠·͢ɻz ʮ͡ΊʹʯΑΓ
ຊॻͷ༰
جૅฤ 112ষ lHello, World!z͔Βɺͻͱͱ͓ΓͷϦιʔεΛ͑ΔΑ͏ʹͳΔ·Ͱ Ԡ༻ฤ 13ষ td-agentΫϥελΛ࡞͠ɺserverspecͰςετɺσϓϩΠͱద༻·Ͱ
˒ VagrantΛ׆༻ͨ͠։ൃڥ ˒ ϋϯζΦϯͰֶΔΑ͏ߏ ˒ ΄Μͱʹඞཁͳ͜ͱͷΈઆ໌ جૅฤͷϙΠϯτ
˒ class/moduleͳͲେنͳ manifestΛॻ͘ͷʹ͔ܽͤͳ͍ ࣝʹ͍ͭͯղઆ ˒ ࣮ફతtd-agentΫϥελΛ࡞ ˒ serverspecʹΑΔςετʹ͍ͭͯ ˒ capistranoͰmanifestΛద༻
Ԡ༻ฤͷϙΠϯτ
Ԡ༻ฤͰߏங͢ΔγεςϜ
None
Learning Puppet͚ͩͰֶͳ͍ manifestߏͷϊϋʹ͍ͭͯղ આ͍ͯ͠Δͱ͜Ζ͕େ͖ͳҧ͍ɻ Leaning PuppetΑ͍υΩϡϝϯτ ͕ͩɺݴޠཁૉҎ্ͷ͜ͱֶͳ͍
ຊॻΛಡΉ͚ͩ Ͱجૅ͔Β࣮ફ ͰͷԠ༻తࣝ ·ͰशಘՄೳɻ
Infrastructure as Code
։ൃ Πϯϑϥ
γεςϜঢ়ଶΛίʔυͰهड़ pull requestͰ૬ޓϨϏϡʔ ιʔγϟϧγεςϜߏங!!1 ܦݧతɺҰࢠ૬తɺൿͷλϨΛͰ͖Δ͚ͩ ͳ͘͢ɺίʔυԽ͞ΕͨγεςϜߏங
None
ΤϯδχΞ
maglicaͳͲ ։ൃڥ https://github.com/mizzy/maglica AWS EC2ͳͲ ຊ൪ڥ http://aws.amazon.com/ Vagrant ϩʔΧϧڥ http://www.vagrantup.com/
αʔό͕ίʔυͰ͍͡ ΕΔΑ͏ʹͳͬͨ͜ͷ Ϋϥυ࣌Ͱʜʜ http://www.flickr.com/photos/nirak/644337888/
ΤϯδχΞͷڞ௨ݴޠ ͱͯ͠ͷʮίʔυʯͷ ׂ·͢·͢େ͖͍ http://www.flickr.com/photos/trinity-of-one/20562069/
ϓϥοτϑΥʔϜ ݻ༗ͷख࡞ۀ Puppet/Chef ϓϥοτϑΥʔϜ ݻ༗ͷΞηϯϒϥ ߴڃݴޠ says...
http://en.wikipedia.org/wiki/File:Boschsevendeadlysins.jpg ϓϩάϥϚͷࡾେඒಙ
ແਫ਼(laziness) ؾ(impatience) ၗຫ(hubris)
ແਫ਼(laziness) ؾ(impatience) ၗຫ(hubris)
γεςϜߏஙʹ ʮແਫ਼ʯΛ࣋ͪࠐΉ
˒ खॱॻ࡞͕໘ ˒ खॱॻߋ৽͕໘ ˒ εΫϦϓτԽ͢Δͷ͕໘ ˒ εΫϦϓτΛอक͢Δͷ͕໘ ˒ ႈੑΛ୲อ͢Δͷ͕໘
˒ ͱʹ͔͘໘
Ұݟ໘ͳPuppet Chef ΛֶͿͷʮ໘ Λճආ͢ΔͨΊͳΒ ͍͘ΒͰ໘Λ͜ͳ ͢ʯͱ͍͏ʮແਫ਼ʯͷ ൃ࿐ʹଞͳΒͳ͍ɻ
Chefͱͷൺֱ
ݴޠ σΟϨΫτϦߏ Puppet ֎෦DSL ൺֱతࣗ༝ Chef ෦DSL (Ruby) ෆࣗ༝
package { 'zsh': ensure => installed } Puppet package 'zsh'
do action :install end Chef
͍ͨͯ͠มΘΒͳ͍
$ knife configure $ knife cookbook create hello -o cookbooks
$ $EDITOR cookbooks/hello/recipes/default.rb $ $EDITOR localhost.json $ $EDITOR solo.rb $ chef-solo -c solo.rb -j localhost.json ChefͷHello, World! // localhost.json { "run_list" : [ "recipe[hello]" ] } # solo.rb file_cache_path "/tmp/chef-solo" cookbook_path ["/home/ec2-user/chef- repo/cookbooks"] # default.rb log “Hello, World!”
$ $EDITOR hello.pp $ puppet apply hello.pp PuppetͷHello, World! #
hello.pp notice(“Hello, World!”)
େ͖ͳҧ͍
Ͳͬͪʹ͠ΖΕΔ͜ͱಉ͡ PuppetϑΝΠϧຕ͔Β࢝ ΊΒΕΔ ಋೖোน͕͍ ಠࣗDSLͷֶशίετͱ͍ͬͯɺRubyΛΒ ͳ͍ͻͱʹͱͬͯChefͩͬͯίετߴ
·ͱΊ
˒ ຊॳͷPuppetʹؔ͢Δॻ੶ʰೖ PuppetʱΛಡΉͱΫϥυ࣌ ͷڞ௨ޠʮίʔυʯΛֶΔ ˒ Puppet/ChefγεςϜߏஙʹ ʮଵଦʯΛ࣋ͪࠐΉ ˒ Puppet/ChefͲͬͪͰ͍͍͚Ͳ Έͳ͞Μ͕ࢥͬͯΔΑΓPuppet
؆୯Ͱ͢Ϥ
˒ ͲͬͪΛ͏ʹͤΑɺ͘͢ͳ͘ͱ ͜ͷຊʹॻ͔Ε͍ͯΔ͜ͱʹͭ ্͍ͯͬͨͰɺબͼ·͠ΐ͏
ϒΫϩάͷύϒʔ http://p.booklog.jp/book/70667 ୡਓग़൛ձ http://tatsu-zine.com/books/puppet Amazon http://tatsu-zine.com/books/puppet