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
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
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
240
金融の未来を考える / Thinking About the Future of Finance
ks91
PRO
0
150
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
1
700
NDIAS CTF 2026 問題解説会資料
bata_24
0
170
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
290
初めてのDatabricks勉強会
taka_aki
2
230
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
170
組織における AI-DLC 実践
askul
0
300
product engineering with qa
nealle
0
140
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
460
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
240
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
460
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Done Done
chrislema
186
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Product Roadmaps are Hard
iamctodd
55
12k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
350
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
The SEO Collaboration Effect
kristinabergwall1
1
500
Unsuck your backbone
ammeep
672
58k
Optimising Largest Contentful Paint
csswizardry
37
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