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
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
36k
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
520
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
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
150
Lightning近況報告
kozy4324
0
220
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
790
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
130
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
260
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
300
入門!AWS Blocks
ysuzuki
1
180
クレデンシャル流出 ― 攻撃 3 時間 vs 復旧 10 時間。この非対称性にどう備えるか
kazzpapa3
3
500
Chainlitで作るお手軽チャットUI
ynt0485
0
290
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
180
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
230
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
300
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
Facilitating Awesome Meetings
lara
57
7k
Code Reviewing Like a Champion
maltzj
528
40k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
GraphQLとの向き合い方2022年版
quramy
50
15k
How GitHub (no longer) Works
holman
316
150k
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