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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Gosuke Miyashita
July 07, 2016
Technology
28
9.5k
Infrastructure as Code のこれまでとこれから/Infrastructure as Code
Gosuke Miyashita
July 07, 2016
Tweet
Share
More Decks by Gosuke Miyashita
See All by Gosuke Miyashita
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
71
32k
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
280
Past and future of Infrastructure as Code
mizzy
0
350
Configuration Managementツールのポリシー定義用中間言語に関する考察/Considerations about an intermediate language of configuration management tools
mizzy
0
500
Infrastructure as Codeのこれまでとこれから/Infra Study Meetup #1
mizzy
28
13k
エンジニアかつ研究者としての今後のキャリアについて/My Career As An Engineer And A Researcher
mizzy
0
440
Compare OCI Runtimes
mizzy
2
1.6k
Serverspec and OSS at IEICE Society Conference 2018
mizzy
2
340
Other Decks in Technology
See All in Technology
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
330
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
150
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
410
Cosmos World Foundation Model Platform for Physical AI
takmin
0
290
月間数億レコードのアクセスログ基盤を無停止・低コストでAWS移行せよ!アプリケーションエンジニアのSREチャレンジ💪
miyamu
0
820
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
880
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
使いにくいの壁を突破する
sansantech
PRO
1
120
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
1
120
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
200
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Technical Leadership for Architectural Decision Making
baasie
1
240
Paper Plane
katiecoart
PRO
0
46k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
72
Site-Speed That Sticks
csswizardry
13
1.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Curious Case for Waylosing
cassininazir
0
230
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