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 のこれまでとこれから/Infrastructur...
Search
Gosuke Miyashita
July 07, 2016
Technology
28
9.3k
Infrastructure as Code のこれまでとこれから/Infrastructure as Code
Gosuke Miyashita
July 07, 2016
Tweet
Share
More Decks by Gosuke Miyashita
See All by Gosuke Miyashita
Serverspec(をつくった自分)のそれまでとその後
mizzy
8
3.1k
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
250
Past and future of Infrastructure as Code
mizzy
0
180
Configuration Managementツールのポリシー定義用中間言語に関する考察/Considerations about an intermediate language of configuration management tools
mizzy
0
460
Infrastructure as Codeのこれまでとこれから/Infra Study Meetup #1
mizzy
29
13k
エンジニアかつ研究者としての今後のキャリアについて/My Career As An Engineer And A Researcher
mizzy
0
400
Compare OCI Runtimes
mizzy
2
1.5k
Serverspec and OSS at IEICE Society Conference 2018
mizzy
2
300
House Meetup
mizzy
7
3.2k
Other Decks in Technology
See All in Technology
AIコードエディタは開発を変えるか?Cursorをチームに導入して1ヶ月経った本音
ota1022
1
690
技術書典18結果報告
mutsumix
2
180
AIオンボーディングとAIプロセスマイニング
nrryuya
5
1.3k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
Devin&Cursor、それぞれの「本質」から導く最適ユースケース戦略
empitsu
8
2.4k
アプリケーションの中身が見える!Mackerel APMの全貌と展望 / Mackerel APMリリースパーティ
mackerelio
0
440
TypeScript と歩む OpenAPI の discriminator / OpenAPI discriminator with TypeScript
kaminashi
1
150
ソフトウェアテストのAI活用_ver1.10
fumisuke
0
230
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
790
RDRA3.0を知ろう
kanzaki
2
430
プラットフォームとしての Datadog / Datadog as Platforms
aoto
PRO
1
330
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1.1k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Pragmatic Product Professional
lauravandoore
35
6.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Side Projects
sachag
454
42k
We Have a Design System, Now What?
morganepeng
52
7.6k
A better future with KSS
kneath
239
17k
Done Done
chrislema
184
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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