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
72
37k
Serverspec(をつくった自分)のそれまでとその後
mizzy
9
3.4k
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
信頼できるテスティングAIをどう育てるか?
odan611
0
160
「休む」重要さ
smt7174
7
1.8k
AI工学特論: MLOps・継続的評価
asei
11
3k
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
150
現場をAIで動かす「フィジカル AI」の組み込み設計の考え方【SORACOM Discovery 2026】
soracom
PRO
0
150
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
240
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
300
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
440
QA・ソフトウェアテスト研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
3
1.7k
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
15
6.2k
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
320
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
660
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
108
250k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
The Invisible Side of Design
smashingmag
301
52k
Producing Creativity
orderedlist
PRO
348
40k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
440
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
The SEO Collaboration Effect
kristinabergwall1
1
510
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Building the Perfect Custom Keyboard
takai
2
820
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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