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
Infrastructure as Code at Codenize Meetup
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Gosuke Miyashita
December 08, 2016
Technology
5k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Infrastructure as Code at Codenize Meetup
Gosuke Miyashita
December 08, 2016
More Decks by Gosuke Miyashita
See All by Gosuke Miyashita
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
71
37k
Serverspec(をつくった自分)のそれまでとその後
mizzy
9
3.3k
A method for separating policy definition and behavior control by an intermediate language to achieve optimal server configuration management according to the situation
mizzy
3
310
Past and future of Infrastructure as Code
mizzy
0
370
Configuration Managementツールのポリシー定義用中間言語に関する考察/Considerations about an intermediate language of configuration management tools
mizzy
0
530
Infrastructure as Codeのこれまでとこれから/Infra Study Meetup #1
mizzy
28
13k
エンジニアかつ研究者としての今後のキャリアについて/My Career As An Engineer And A Researcher
mizzy
0
460
Compare OCI Runtimes
mizzy
2
1.7k
Serverspec and OSS at IEICE Society Conference 2018
mizzy
2
380
Other Decks in Technology
See All in Technology
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
130
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
100
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
250
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
150
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
450
AI時代の闇と光
tatsuya1970
0
100
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
180
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
400
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.4k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
580
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
360
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Code Review Best Practice
trishagee
74
20k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Making the Leap to Tech Lead
cromwellryan
135
10k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.8k
Transcript
Infrastructure as Codeͱ Կ͔ͦͯ͠ԿͰ͋Δ͖͔ Codenize Meetup 2016/12/08 1
ࣗݾհ • ٶԼ ߶ี (mizzy@github, gosukenator@twitter) • ߹ಉձࣾServerspec Operationsද •
גࣜձࣾϦΫϧʔτςΫϊϩδʔζATLٕज़ސ • ઍגࣜձٕࣾज़ސ • ϞϏϯΪגࣜձࣾ/גࣜձࣾDEPARTUREͷ͓ख͍ Codenize Meetup 2016/12/08 2
ࠓ͓͢͠Δ͜ͱ • Infrastructure as CodeͱԿ͔ • Infrastructure as Codeͳͥඞཁͳͷ͔ •
Infrastructure as Codeͷݪଇ • Infrastructure as CodeͷϓϥΫςΟε • ΞϯνϑϥδϟΠϧͱਓؒத৺ઃܭ Codenize Meetup 2016/12/08 3
Infrastructure as Code ͱԿ͔ Codenize Meetup 2016/12/08 4
Infrastructure as CodeͱԿ͔ • ༁͢Δͱʮίʔυͱͯ͠ͷΠϯϑϥʯ • ΠϯϑϥΛίʔυͰهड़͢Δ͜ͱ • ݴ༿͕ग़࢝Ίͨ࣌ʮࣗಈԽʯ͕য •
ݱࡏιϑτΣΞ։ൃͷϓϥΫςΟεΛΠϯϑϥཧʹ׆ ͔͢Ξϓϩʔνͱଊ͑ΒΕ͍ͯΔ Codenize Meetup 2016/12/08 5
ιϑτΣΞ։ൃͷϓϥΫςΟε • ίʔυϨϏϡʔ • GitHubϑϩʔ • ςετ • Continuous Integration/Continuous
Deployment • (ϞσϦϯά) Codenize Meetup 2016/12/08 6
Infrastructure as Code ͳͥඞཁͳͷ͔ Codenize Meetup 2016/12/08 7
ԾԽΫϥυͷൃలɾීٴ • μΠφϛοΫΠϯϑϥετϥΫνϟ • खܰʹΠϯϑϥ͕ߏஙͰ͖ΔΑ͏ʹͳͬͨ • ΠϯϑϥௐୡͷϦʔυλΠϜ͕ϘτϧωοΫͰͳ͘ͳͬͨ • ͜ΕΒʹΑΓ৽ͨͳΠϯϑϥཧ্ͷ͕ݦࡏԽͨ͠ Codenize
Meetup 2016/12/08 8
μΠφϛοΫΠϯϑϥετϥΫνϟʹΑΓݦࡏԽͨ͠ • αʔόʔεϓϩʔϧ • ߏυϦϑτ • εϊʔϑϨʔΫαʔόʔ • ੬ऑͳΠϯϑϥ •
Φʔτϝʔγϣϯڪා • γεςϜർ࿑ Codenize Meetup 2016/12/08 9
αʔόʔεϓϩʔϧ • sprawlʲsprɔ́ːlʳ: όϥόϥʹ͕Δɺແடংʹ͕Δ • αʔό͕؆୯ʹཱͯΒΕΔͷͰཧೳྗΛ͑ͯཚཱ • ઃఆมߋύονͯͷ࡞ۀʹΘΕΔ • ·ͨ์ஔ͞ΕΔ
• ඍົʹߏ/ઃఆ͕ҧ͏αʔό͕૿͑Δ → ߏυϦϑτ Codenize Meetup 2016/12/08 10
ߏυϦϑτ • ͕࣌ؒܦͭʹͭΕͯߏ/ઃఆͷࠩҧ͕ฆΕࠐΉ • ಛఆͷαʔό͚ͩҰ࣌తͳରԠͯ͠͠ΕΔ • ৬ਓʹΑΔख࡞ۀɺ͔͠ਓʹΑͬͯΓํҧ͏ • εϊʔϑϨʔΫαʔόΦʔτϝʔγϣϯڪාΛੜΈग़͢ Codenize
Meetup 2016/12/08 11
εϊʔϑϨʔΫαʔό • ଞͷαʔόͱߏ/ઃఆ͕ҟͳΔαʔό • εϊʔϑϨʔΫ ʹ ઇͷͻͱ͔͚Β • ࠶ݱ͢Δͷ͕͍͠ •
ߏ/ઃఆ͕Ѳ͖͠ΕͣΞϯλονϟϒϧʹ • εϊʔϑϨʔΫαʔόͷ૿৩ → ੬ऑͳΠϯϑϥ Codenize Meetup 2016/12/08 12
੬ऑͳΠϯϑϥ • εϊʔϑϨʔΫαʔό͕ຮԆͯ͠Πϯϑϥશମ͕੬ऑʹͳΔ • γεςϜશମ͕؆୯ʹյΕम෮ෆೳ Codenize Meetup 2016/12/08 13
Φʔτϝʔγϣϯڪා • εϊʔϑϨʔΫαʔό͕૿͑ΔͱɺࣗಈԽπʔϧ͕ͨΒ͢ ݁Ռ͕༧ଌෆೳʹͳΔ • ݁Ռͱͯ͠πʔϧ͕ेʹ׆͔ͤͳ͍ɺ͑ͳ͍ • ࣗಈԽʹΑΓΛղফΛͨͯ͘͠Ͱ͖ͳ͍ѱ॥ Codenize Meetup
2016/12/08 14
γεςϜർ࿑ • ݪจͰErosionʢਁ৯ɺ่յɺࢎḝͳͲʣ • Կ͠ͳͯ࣌ؒ͘ͷܦաͱͱʹγεςϜ͕յΕ͍ͯ͘ Codenize Meetup 2016/12/08 15
ݦࡏԽͨ͠·ͱΊ • αʔόʔεϓϩʔϧ • ߏυϦϑτ • εϊʔϑϨʔΫαʔόʔ • ੬ऑͳΠϯϑϥ •
Φʔτϝʔγϣϯڪා • γεςϜർ࿑ • ཁ͢ΔʹɺαʔόΛΜΜཱͯΒΕΔΑ͏ʹͳ͍ͬͨͤͰɺมߋཧ͕ഁ໓ͯ͠ γεςϜ͕ࢮ͵ Codenize Meetup 2016/12/08 16
ΠϯϑϥมߋͷϦʔυλΠϜ • ͦΕ·Ͱආ͚͍ϘτϧωοΫͱଊ͑ΒΕ͍ͯͨϦʔυλΠ Ϝ͕ϘτϧωοΫͰͳ͘ͳͬͨ • ϏδωεཁٻͷมԽʹΠϯϑϥଆਝʹରԠ͢Δඞཁੑ͕ ग़͖ͯͨ • ैདྷͷཧΞϓϩʔνͰ͜ͷʹ͍͍͚ͭͯͳ͍ Codenize
Meetup 2016/12/08 17
ͦ͜ͰInfrastructure as Code • μΠφϛοΫΠϯϑϥετϥΫνϟͷൃలɾීٴʹΑΓɺ৽ͨʹ ग़͖ͯͨΛղܾ͢ΔͨΊͷΞϓϩʔν͕Infrastructure as Code • ϏδωεཁٻͷมԽʹ͋ΘͤͯਝʹΠϯϑϥΛมߋ͢Δ
• ৽ͨʹݦࡏԽͨ͠มߋཧ্ͷΛղܾ͢Δ • ཁ͢Δʹʮมߋཧ͕༰қͳΠϯϑϥΛͭ͘ΔʯͨΊͷΞϓϩ ʔν͕Infrastructure as Code Codenize Meetup 2016/12/08 18
Infrastructure as Code ͷݪଇ Codenize Meetup 2016/12/08 19
Infrastructure as Codeͷݪଇ • ؆୯ʹ࠶ݱͰ͖ΔγεςϜ • ͍ࣺͯʹͰ͖ΔγεςϜ • ౷ҰతͳγεςϜ •
෮Մೳͳϓϩηε • มߋ͍͢͠σβΠϯ Codenize Meetup 2016/12/08 20
؆୯ʹ࠶ݱͰ͖ΔγεςϜ • ͋ΒΏΔߏཁૉਓखΛ͔͚ͣʹ࣮֬ʹ࠶ߏஙͰ͖Ͷͳ Βͳ͍ • εϊʔϑϨʔΫԽΛආ͚ΒΕΔ • ߏஙɺ࠶ߏங͕؆୯Ͱ͋ΕɺมߋΛՃ͑Δͱ͖ͷϦεΫ ڪා৺ͷେ͕औΓআ͔ΕΔ Codenize
Meetup 2016/12/08 21
͍ࣺͯʹͰ͖ΔγεςϜ • μΠφϛοΫΠϯϑϥετϥΫνϟʹΑΓϦιʔε͕؆୯ʹ࡞ ɺഁغɺަɺมߋɺҠಈͰ͖Δ • ͜ͷϝϦοτΛ׆͔ͨ͢Ίʹɺαʔό͕ফ͑ͨΓݱΕͨΓมԽ ͨ͠Γͯ͠ɺαʔϏε͕ܧଓͰ͖ΔΑ͏ʹઃܭ͖͢ • ͍ͭͰ͍ࣺͯʹͰ͖Δͱ͍͏͜ͱɺมԽΛॊೈʹॲཧͰ ͖ɺվྑɺमਖ਼ΛՃ͑Δ͜ͱ͕؆୯ʹͳΔ
• Τϥʔੑߴ͘ͳΔ Codenize Meetup 2016/12/08 22
౷ҰతͳγεςϜ • ಉ͡Α͏ͳαʔϏεΛఏڙ͢Δෳͷαʔόಉ͡ߏ/ઃఆͰ ͋Δ͖ • ߏ/ઃఆʹҧ͍͕͋ΔͱࣗಈԽπʔϧ͕ͨΒ݁͢Ռ͕༧ଌෆ ೳʹ • ࣗಈԽͷ৴པੑ͕ଛͳΘΕΔͱɺมߋ͕ࠔʹͳΔ •
౷ҰతͳγεςϜΛ࠶ߏஙՄೳʹ͓ͯ͘͠ͱɺߏυϦϑτͷղ ফʹཱͭ Codenize Meetup 2016/12/08 23
෮Մೳͳϓϩηε • Πϯϑϥʹର͢ΔΞΫγϣϯΛεΫϦϓτͳΓπʔϧͳΓͰ ෮Մೳʹ͢Δ • ࠶ߏஙͷ͢͠͞ʹͭͳ͕Γɺ؆୯ʹ࠶ݱͰ͖Δ౷Ұతͳγ εςϜΛߏͰ͖Δ • ςετ͘͢͠ͳΔ Codenize
Meetup 2016/12/08 24
มߋ͍͢͠σβΠϯ • μΠφϛοΫΠϯϑϥετϥΫνϟͰطଘγεςϜʹมߋ ΛՃ͑Δͷ؆୯ • ͜Εͯ͢ͷ෦͕มߋ͘͢͠ઃܭ͞Ε͍ͯΔͱ͍͏લ ఏͷݩ • ιϑτΣΞͱΠϯϑϥɺมߋ͍͢͠Α͏Ͱ͖ΔݶΓ୯ ७ʹઃܭ͞Ε͍ͯͳ͚ΕͳΒͳ͍
Codenize Meetup 2016/12/08 25
Infrastructure as Codeͷݪଇʢ࠶ܝʣ • ؆୯ʹ࠶ݱͰ͖ΔγεςϜ • ͍ࣺͯʹͰ͖ΔγεςϜ • ౷ҰతͳγεςϜ •
෮Մೳͳϓϩηε • มߋ͍͢͠σβΠϯ Codenize Meetup 2016/12/08 26
Infrastructure as Code ͷϓϥΫςΟε Codenize Meetup 2016/12/08 27
Infrastructure as CodeͷϓϥΫςΟε • ఆٛϑΝΠϧ • ࣗݾهड़γεςϜͱϓϩηε • όʔδϣϯཧ •
ܧଓతςετ • খࠁΈͳมߋ • ʢܧଓతʹαʔϏεΛར༻Մೳঢ়ଶʹอͭʣ Codenize Meetup 2016/12/08 28
ఆٛϑΝΠϧ • جૅதͷجૅ • PuppetͷϚχϑΣετChefͷϨγϐ • Πϯϑϥཁૉͱͦͷߏ/ઃఆํ๏Λࢦఆ͢Δ • ςΩετϑΝΠϧͰཧ Codenize
Meetup 2016/12/08 29
ࣗݾهड़γεςϜͱϓϩηε • υΩϡϝϯτΛͳΔ͘ॻ͔ͳ͍ • ϓϩηεΛ࣮ࢪ͢ΔͨΊͷखॱɺ࣮ࡍʹϓϩηεΛ࣮͠ ͍ͯΔεΫϦϓτɺఆٛϑΝΠϧɺπʔϧʹॻ͖ࠐ·Ε͍ͯΔ • ͍Θʮ࣮ߦͰ͖ΔυΩϡϝϯτʯ • ͦΕҎ֎ʹɺॳΊͯ͏ਓͷͨΊͷ࠷খݶͷυΩϡϝϯτ
ʹཹΊΔ Codenize Meetup 2016/12/08 30
όʔδϣϯཧ • ͋ΒΏΔͷΛόʔδϣϯཧ͢Δͷ͕·͍͠ • τϨʔαϏϦςΟ • ϩʔϧόοΫ • ૬ؔؔͷཧ •
Մࢹੑ • ΞΫγϣφϏϦςΟ Codenize Meetup 2016/12/08 31
ܧଓతςετ • Πϯϑϥίʔυʹมߋ͕͋ΔʹςετΛ࣮ߦ • ςελϏϦςΟΛߴΊΔͱૄ݁߹ͰΫϦʔϯͰ୯७ͳઃܭ͕ ଅ͞ΕΔ • มߋʹର͢ΔϑΟʔυόοΫ͕ૣ͘ɺͻΜͺΜʹมߋΛՃ͑ ͯେৎͩͱ͍͏ࣗ৴͕ੜ·ΕΔ Codenize
Meetup 2016/12/08 32
খࠁΈͳมߋ • খ͞ͳมߋΛςετ࣮ͯ֬͠ʹಈ࡞͢ΔΑ͏ʹ͢Δํ͕؆୯ Ͱ࡞ۀྔ͕গͳ͍ • มߋʹΑΓൃੜͨ͠ͷݪҼ͕ಛఆ͍͢͠ • ϩʔϧόοΫ͍͢͠ • ͻΜͺΜʹมߋͯ͠ϦϦʔε͢Δํ͕Ϟνϕʔγϣϯ্͕Δ
Codenize Meetup 2016/12/08 33
Infrastructure as CodeͷϓϥΫςΟεʢ࠶ܝʣ • ఆٛϑΝΠϧ • ࣗݾهड़γεςϜͱϓϩηε • όʔδϣϯཧ •
ܧଓతςετ • খࠁΈͳมߋ • ʢܧଓతʹαʔϏεΛར༻Մೳঢ়ଶʹอͭʣ Codenize Meetup 2016/12/08 34
ΞϯνϑϥδϟΠϧͱਓؒத৺ઃܭ Codenize Meetup 2016/12/08 35
ΞϯνϑϥδϟΠϧ • Infrastructure as Codeݎ࿚Λ͑ͯΞϯνϑϥδϟΠϧͳ ΠϯϑϥΛࢦ͢ • ਓؒτϨʔχϯά͠ͳ͍ͱମ͕ऑ͘ͳΓյΕ͘͢ͳΔ • γεςϜಉ༷ɺมߋΛ࠷খݶʹ͑Δͱݎ࿚ʹͳΒͳ͍
• γεςϜΛઈ͑ͣมߋ͠վྑ͢Δ͜ͱͰΑΓݎ࿚ʹͳΔ Codenize Meetup 2016/12/08 36
ਓؒத৺ઃܭ • ࣗಈԽ͚ͩͰΞϯνϑϥδϟΠϧʹͰ͖ͳ͍ • γεςϜΛΑ͘ཧղ͠ɺܧଓతʹมߋΛՃ͑ΒΕΔਓͷଘࡏ ͕ॏཁ • มԽʹରԠͰ͖ΔγεςϜΛઃܭ͢ΔͨΊͷൿ݃ɺਓΛத ৺ʹͯ͠ઃܭ͢Δ͜ͱ Codenize
Meetup 2016/12/08 37
·ͱΊ • ͔ͭͯITΠϯϑϥ͕มԽͷ੍ʹͳ͍ͬͯͨ • μΠφϛοΫΠϯϑϥετϥΫνϟͷൃలɾීٴʹΑΓมԽͷ੍ Ͱͳ͘ͳͬͨ • ੍Λલఏͱͨ͠ैདྷతͳΞϓϩʔν௨༻͠ͳ͘ͳͬͨ • μΠφϛοΫΠϯϑϥετϥΫνϟ࣌ʹରԠ͠ɺมԽʹڧ͍Ξ
ϯνϑϥδϟΠϧͳΠϯϑϥΛͭ͘ΔͨΊͷΞϓϩʔν͕ Infrastructure as CodeͰ͋Δ Codenize Meetup 2016/12/08 38
ࢀߟࢿྉ • Infrastructure as Code - O'Reilly Media • http://shop.oreilly.com/product/0636920039297.do
• Infrastructure as Code ࠶ߟ - Gosuke Miyashita • http://mizzy.org/blog/2016/04/22/1/ • serverspec ͷจެ։͠·͢ - Gosuke Miyashita • http://mizzy.org/blog/2014/03/11/1/ • Recruit Technologies Open Lab #03 ςʔϚɿInfrastructure as Code • http://atl.recruit-tech.co.jp/blog/4240/ Codenize Meetup 2016/12/08 39