Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Infrastructure as Code のこれまでとこれから/Infrastructur...
Gosuke Miyashita
July 07, 2016
Technology
28
9.4k
Infrastructure as Code のこれまでとこれから/Infrastructure as Code
Gosuke Miyashita
July 07, 2016
Tweet
Share
More Decks by Gosuke Miyashita
See All by Gosuke Miyashita
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
36
11k
Serverspec(をつくった自分)のそれまでとその後
mizzy
8
3.2k
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
270
Past and future of Infrastructure as Code
mizzy
0
270
Configuration Managementツールのポリシー定義用中間言語に関する考察/Considerations about an intermediate language of configuration management tools
mizzy
0
480
Infrastructure as Codeのこれまでとこれから/Infra Study Meetup #1
mizzy
29
13k
エンジニアかつ研究者としての今後のキャリアについて/My Career As An Engineer And A Researcher
mizzy
0
420
Compare OCI Runtimes
mizzy
2
1.6k
Serverspec and OSS at IEICE Society Conference 2018
mizzy
2
330
Other Decks in Technology
See All in Technology
Flutterコントリビューションのススメ
d_r_1009
1
340
開発者から見たLLMの進化 202511
ny7760
1
170
3年ぶりの re:Invent 今年の意気込みと前回の振り返り
kazzpapa3
0
200
品質保証の取り組みを広げる仕組みづくり〜スキルの移譲と自律を支える実践知〜
tarappo
2
840
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
1
1.6k
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
170
エンジニアに定年なし! AI時代にキャリアをReboot — 学び続けて未来を創る
junjikoide
0
180
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
1.3k
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
6
3.3k
メタプログラミングRuby問題集の活用
willnet
2
760
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
2
780
内部品質・フロー効率・コミュニケーションコストを悪化させ現場を苦しめかねない16の組織設計アンチパターン[超簡易版] / 16 Organization Design Anti-Patterns for Software Development
mtx2s
2
190
Featured
See All Featured
Speed Design
sergeychernyshev
32
1.2k
Writing Fast Ruby
sferik
630
62k
The Language of Interfaces
destraynor
162
25k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Into the Great Unknown - MozCon
thekraken
40
2.1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
How GitHub (no longer) Works
holman
315
140k
Six Lessons from altMBA
skipperchong
29
4.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Building Applications with DynamoDB
mza
96
6.7k
Why Our Code Smells
bkeepers
PRO
340
57k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Transcript
Infrastructure as Code ͷ͜Ε·Ͱͱ͜Ε͔Β Recruit Technologies Open Lab #03: Infrastructure
as Code 2016/07/07 1
ࣗݾհ • ٶԼ ߶ี (mizzy@github, gosukenator@twitter) • ߹ಉձࣾServerspec Operationsද •
גࣜձࣾϦΫϧʔτςΫϊϩδʔζATLٕज़ސ • ઍגࣜձٕࣾज़ސ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 2
ࠓ͓͢͠Δ͜ͱ • Infrastructure as Code ͱͦͷྺ࢙ • Infrastructure as Code
ͷݱঢ় • Infrastructure as Code ͷ͜Ε͔Β Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 3
Infrastructure as Code ͱͦͷྺ࢙ Recruit Technologies Open Lab #03: Infrastructure
as Code 2016/07/07 4
Infrastructure as Codeͱʁ • ΠϯϑϥΛίʔυͰهड़͢Δ͜ͱ • ͦΕʹΑΓιϑτΣΞ։ൃͰطʹ༗ޮͰ͋Δͱཱূ͞Εͯ ͍ΔϓϥΫςΟεΛΠϯϑϥʹಉ͡Α͏ʹద༻Ͱ͖ɺͦͷ Ըܙ͕ड͚ΒΕΔ Recruit
Technologies Open Lab #03: Infrastructure as Code 2016/07/07 5
Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 6
Infrastructure as Codeͷࡾຊப • ࣗಈԽ • όʔδϣϯཧ • ςετ Recruit
Technologies Open Lab #03: Infrastructure as Code 2016/07/07 7
Infrastructure as Codeͷੜ • େݩ1993ͷCFEngine • 2005ͷPuppetొ͕తͳ͖͔͚ͬ • Infrastructure as
Codeͱ͍͏ݴ༿͕ग़͖ͯͨͷ2008ࠒ • ChefͷϦϦʔε2009 • ࣌ࣗಈԽ͕ओ؟ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 8
Infrastructure as Codeͷมભ • ʮίʔυԽͯࣗ͠ಈԽʯ͔ΒʮιϑτΣΞ։ൃͷϓϥΫς ΟεΛద༻ʯʹͳΔஹީ2008͙Β͍͔Β͋ͬͨ • Agile Infrastructure/Agile Operations
• DevOpsͷొ2009ࠒ • 2011ग़൛ͷTest-Driven Infrastructure with Chef • 2013ϦϦʔεͷServerspec Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 9
࠷ۙͷ Infrastructure as Code ࣄ Recruit Technologies Open Lab #03:
Infrastructure as Code 2016/07/07 10
Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 11
Infrastructure as Code ʹؔ͢Δ πʔϧαʔϏεͷྨ • Dynamic Infrastructure Platforms •
Infrastructure Definition Tools • Server Configuration Tools • Infrastructure Services Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 12
Dynamic Infrastructure Platforms • αʔόɺετϨʔδɺωοτϫʔΫͱ͍ͬͨίϯϐϡʔλϦ ιʔεΛϓϩάϥϚϒϧʹఏڙ͢Δͷ • EC2ͷΑ͏ͳIaaSOpenStackͷΑ͏ͳIaaSΛߏ͢ΔͨΊ ͷπʔϧ •
Cobbler Foreman ͷΑ͏ͳཧϚγϯΛϓϩϏδϣχϯ ά͢Δπʔϧ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 13
Infrastructure Definition Tools • Infrastructure as Codeతͳख๏ͰDynamic Infrastructure Platforms্ͷϦιʔεΛ੍ޚ •
Terraform, CloudFormation, OpenStack Heat • Configuration Registries • Consul, etcd, ZooKeeper Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 14
Server Configuration Tools • ͍ΘΏΔ Configuration Management Tools • Puppet,
Chef, Ansible, Itamae Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 15
Infrastructure Services • ͍ΘΏΔ Orchestration ෦ • ϞχλϦϯάʢΞϥʔτɺϝτϦΫεɺϩΪϯάʣ • αʔϏεσΟεΧόϦ
• ࢄϓϩηεཧ • ιϑτΣΞσϓϩΠ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 16
ྨΠϝʔδ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07
17
Infrastrtucture as Code͕ରͱ͢ΔྖҬ Recruit Technologies Open Lab #03: Infrastructure as
Code 2016/07/07 18
ྖҬͷมભ • ݩʑ Server Configuration ͕ରྖҬͩͬͨ • Infrastructure Definition ʹ͕ͬͨ
• ʮΠϯϑϥΛίʔυԽʯ͚ͩͰͳ͘ʮΠϯϑϥΛίʔυͰૢ࡞ʯ • CloudFormation, Terraform ͳΜ͔͕ग़͖ͯͨӨڹ • पลπʔϧͷ֦େ • Test Kitchen, Serverspec, Jenkins, CircleCI Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 19
Infrastructure as Code ͷ͜Ε͔Β Recruit Technologies Open Lab #03: Infrastructure
as Code 2016/07/07 20
Infrastructure as Code ʹӨڹΛ༩͑Δཁૉ • Dynamic Infrastructure Platforms • Container
• Microservices Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 21
Dynamic Infrastructure ʹΑΔӨڹ • AmazonҎ֎ʹ Google Microsoft ͳͲͷϏοάϓϨΠϠ ʔ͕ग़ݱ
• ϚϧνΫϥυରԠ/ϕϯμʔϩοΫΠϯճආ • ෳͷ Dynamic Infrastructure Platforms ΛଋͶΔଘࡏͱͯ͠ ͷ Infrastructure Definition Tools Infrastructure Services ͕ ॏཁʹ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 22
Container ʹΑΔӨڹ • ϙʔλϏϦςΟͷߴ͞ʹΑΓϓϥοτϗʔϜબͷ෯͕͕Δ • Ұͷཧ͋Δ͍ԾϚγϯͰ͍ͬͯͨ͜ͱ͕ϗετϚγϯͱίϯ ςφʹ • Separation of
Concern ʹΑΔϓϩϏδϣχϯάͷ୯७Խ • Server Configuration Tools ͷॏཁੑԼ • Serverspec Έ͍ͨͳπʔϧͰςετ͢Εྑ͍ • αʔόཧͱ͍͏ΑΓϓϩηεཧ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 23
Microservices ʹΑΔӨڹ • ίϯϙʔωϯτ୯ػೳԽ/γεςϜෳࡶԽ • ςετϞχλϦϯά͕ॏཁʹ • Infrastructure Services ͷॏཁੑ૿େ
Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 24
3ཁૉͷΑΔӨڹͷ·ͱΊ • ϚϧνΫϥυΛଋͶΔɺ͋Δ͍ҠߦΛ༰қʹ͢ΔͨΊͷ Infrastructure Definition Tools ͱ Infrastructure Services ͷॏ
ཁੑ૿େ • ૬ରతʹ Server Configuration Tools ͷॏཁੑԼ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 25
Infrastructure Services ͱ Infrastructure as Code • Infrastructure Services ·ͩ
Infrastructure as Code ͷԸܙ͕ෆे • Server Configuration Tools ੩తͳঢ়ଶΛίʔυͰهड़ • Infrastructure Services Ͱಈతͳৼ͍Λهड़ • ֎ଆ͔Βίϯτϩʔϧ͢Δ͚ͩͰͳ੍ࣗ͘ޚॏཁʹ • ྫ: ngx_lua ngx_mruby ʹΑΔʮઃఆͷίʔυԽʯ • ಈతฏߧ/ϗϝΦελγε Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 26
Infrastructure Services ͱ Infrastructure as Code • ιϑτΣΞ։ൃʹߋʹ͖ۙͮΑΓෳࡶԽ͢Δ • ࠓ·ͰΠϯϑϥͱ͋·Γԑ͕ͳ͔ͬͨख๏ͷԠ༻
• ྫ: ܗࣜख๏ʹΑΔઃܭ • ྫ: Consumer-Driven Contract Testing • ιϑτΣΞ։ൃͱͷڥք͕ΑΓᐆດʹ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 27
Infrastructure as Code ͷ͜Ε͔Β • ରྖҬ͕͕ΓɺΑΓෳࡶԽ͢Δ • ͱ͍͑ɺجຊݪଇಉ͡ • ࣗಈԽ
• όʔδϣϯཧ • ςετ • ͜ΕΛͰ͖ΔݶΓγϯϓϧʹ࣮ݱ͢Δ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 28
Infrastructure as Code ͷ͜Ε͔Β • ֶज़తΞϓϩʔνॏཁ • ྫ: ܗࣜख๏ɺάϥϑཧɺσΟʔϓϥʔχϯά •
ςετ·ͩະख़ • ະख़͔ͩΒͦ͜վળͷ༨͕େ͍ʹ͋Δ • ϞχλϦϯάͱͷ༥߹ • ςετʹຊ൪σϓϩΠલɺϞχλϦϯάʹຊ൪σϓϩΠޙ • ੍ࣗޚ/ಈతฏߧ Recruit Technologies Open Lab #03: Infrastructure as Code 2016/07/07 29
͓·͚ • ʮͷ΅Γʔ͞ΜͷΫϥυΠϯϑϥPodcastʯͰ͜ͷΠϕϯ τͷޙஊతͳΛ͠·͢ • https://cloudinfra.audio/ • #nobolycloud Recruit Technologies
Open Lab #03: Infrastructure as Code 2016/07/07 30