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 のこれまでとこれから/Infrastructure as Code
Search
Gosuke Miyashita
PRO
July 07, 2016
Technology
28
8.8k
Infrastructure as Code のこれまでとこれから/Infrastructure as Code
Gosuke Miyashita
PRO
July 07, 2016
Tweet
Share
More Decks by Gosuke Miyashita
See All by Gosuke Miyashita
Serverspec(をつくった自分)のそれまでとその後
mizzy
PRO
8
2.9k
A method for separating policy definition and behavior control by an intermediate language to achieve optimal server configuration management according to the situation
mizzy
PRO
3
220
Past and future of Infrastructure as Code
mizzy
PRO
0
110
Configuration Managementツールのポリシー定義用中間言語に関する考察/Considerations about an intermediate language of configuration management tools
mizzy
PRO
0
390
Infrastructure as Codeのこれまでとこれから/Infra Study Meetup #1
mizzy
PRO
29
12k
エンジニアかつ研究者としての今後のキャリアについて/My Career As An Engineer And A Researcher
mizzy
PRO
0
350
Compare OCI Runtimes
mizzy
PRO
2
1.3k
Serverspec and OSS at IEICE Society Conference 2018
mizzy
PRO
2
250
House Meetup
mizzy
PRO
7
2.9k
Other Decks in Technology
See All in Technology
オブザーバビリティの Primary Signals
onk
PRO
0
540
人間の尊厳、幸福、アクセシビリティ / 第116回「WEB TOUCH MEETING」アクセシビリティSP
nulabinc
PRO
2
180
【SORACOM UG】(2024年度版) SIMってなんだ? ~セルラー通信がつながる仕組み、解説します~
soracom
PRO
0
220
入社後初めてのタスクでk8sアップグレードした話.pdf
kkato1
0
380
Four keys改善の取り組み事例紹介
sansantech
PRO
2
230
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
730
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
220
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
680
Data and AI Governance: Existing Challenges and Emerging Trends
scotthsieh825
0
140
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
1
590
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
150
Algyan イベント振り返り
linyixian
0
180
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
103
6.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Infographics Made Easy
chrislema
237
18k
YesSQL, Process and Tooling at Scale
rocio
162
13k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
Building Applications with DynamoDB
mza
88
5.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.4k
The Language of Interfaces
destraynor
151
23k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
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