SlideShare a Scribd company logo
1 of 11
Download to read offline
Infrastructure as Codeのススメ
自己紹介
@kanjihtmt
最近開発に関われてませんがbaserCMSユーザ会
の人です
最近はサーバよりフロントエンドの方が興味ある
僕のプロビジョニングツールの変遷
自動化も重要だが「Infrastructure as Code」
という考え方・アプローチが気に入った
これでサーバの秘伝のタレが無くなる!
サーバ環境を抽象化できる!
サーバをコードで制御ってカッコイイ!
Chef
やっぱChefでしょう
内部DSL
ユーザも多く、エコシステムが成熟している感
(去年の話ですが)今、すげえ流行ってる!
だが...挫折してしまった。
学習コスト高い
knife, berkshelf? 色々ありすぎでわけわからん!
Windowsにknife soloがインストールできない
開発のスピードが早すぎて覚えてもすぐ変わる
Ansible
長所
たしかにシンプルで使いやすい!
もうこれでいいじゃん!って一時はそう思った
短所(あくまで主観です)
ほとんどシェルスクリプト
playbookを作った俺はわかるが他人には?感
Infrastructure as Codeをフルに実現してない感
気に入らない!軽量なChefが欲しい!
Itamae
あった!これが求めてたもの!
Itamaeとは
Cookpadの荒井良太さん作
Serverspecの宮下剛輔さんも開発に参加
Cookpadではプロダクションで使っているらしい
表現力はそのままLightweightなChef
Chefのわけわからんのが失くなってる
cookbooksもrolesも無いレシピのみ!シンプル!
使い方(1) - レシピを書く# Apacheのインストールとサービスの有効と起動
package "httpd" do
action :install
end
service "httpd" do
action [ :enable, :start ]
end
# Apacheの設定ファイルの編集
template "httpd.conf" do
path "/etc/httpd/conf/httpd.conf"
source "./templates/httpd.conf.erb"
mode "0644"
notifies :reload, 'service[httpd]'
end
使い方(2) - sshで実行
リモートサーバにRubyを入れる必要なし!
$ vagrant up
$ itamae ssh -h 192.168.33.1 -p 22 -u vagrant recipe.rb
これで終わり!
レシピをまとめたければRakeに書けばいい
機能が足りなければコードを書けばいい!
Rubyってそういうもんじゃん!
いまはプロビジョニングツールは
別になんでもいい(今ココ!)
理由:大人になったというわけではなく
Severspecを知ったから!
Severspecとは?
インフラのテスト
テスト駆動インフラという新しい考えを
もたらした
インフラをCI出来る
Serverspecのコード
さっきのItameのApacheのレシピをテストしてみる!
require 'spec_helper'
# Apacheのインストールチェック
describe package('httpd'), :if => os[:family] == 'redhat' do
it { should be_installed }
end
# Apacheのサービスの有効と起動をチェック
describe service('httpd'), :if => os[:family] == 'redhat' do
it { should be_enabled }
it { should be_running }
end
# 80ポートでリッスンしているかをチェック
describe port(80) do
it { should be_listening }
end
なんでインフラにテストがいるのか?
プロビジョニングで自動化しても本当に反映されてい
るか分からない
1台だと手動で目視で確認でよいかもしれないが複数
台は辛い!
テストコードはドキュメント!
品質や開発をドライブするためにTDDをすることはよ
くある話。テストコードって動くドキュメントの側面
もある。これは過小評価され見落とされがちなテスト
の効果。
CIで定期実行すればいい。他人が勝手にsshで直接手動
で変更してしまって想定どうりの状態でないことが起
こる可能性もあります。
まとめ
好きなプロビジョニングツールを使おう!
宗教論争をやめよう!
そのかわりサーバのテスト書いてね!
Chefディスっちゃったけど、良いツール!
僕はサーバを何十台も管理していないから軽量なもの
が欲しいだけで、大規模なら僕もChef使うと思います
ご清聴ありがとうございました。m(_ _)m

More Related Content

What's hot

達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)
masayoshi takahashi
 
130427 kansai-emacs-github
130427 kansai-emacs-github130427 kansai-emacs-github
130427 kansai-emacs-github
Yuki Shibazaki
 
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
Terui Masashi
 
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013
hiboma
 

What's hot (20)

IDEALIZE YOU
IDEALIZE YOUIDEALIZE YOU
IDEALIZE YOU
 
Real World PHP in pixiv
Real World PHP in pixivReal World PHP in pixiv
Real World PHP in pixiv
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 
達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
 
C#とaop
C#とaopC#とaop
C#とaop
 
130427 kansai-emacs-github
130427 kansai-emacs-github130427 kansai-emacs-github
130427 kansai-emacs-github
 
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
 
WebエンジニアがXR業界へ転職した話
WebエンジニアがXR業界へ転職した話WebエンジニアがXR業界へ転職した話
WebエンジニアがXR業界へ転職した話
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
 
はじめてのLWF for Open Hack Day
はじめてのLWF for Open Hack DayはじめてのLWF for Open Hack Day
はじめてのLWF for Open Hack Day
 
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013
 
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶおっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶ
 
俺 と ご褒美 Bot
俺 と ご褒美 Bot俺 と ご褒美 Bot
俺 と ご褒美 Bot
 
2014 08-30 life with roslyn
2014 08-30 life with roslyn2014 08-30 life with roslyn
2014 08-30 life with roslyn
 
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
 
iPhoneで動くFlash Playerを実装した苦労話LT資料
iPhoneで動くFlash Playerを実装した苦労話LT資料iPhoneで動くFlash Playerを実装した苦労話LT資料
iPhoneで動くFlash Playerを実装した苦労話LT資料
 
Oss翻訳プロジェクトに参加してみた
Oss翻訳プロジェクトに参加してみたOss翻訳プロジェクトに参加してみた
Oss翻訳プロジェクトに参加してみた
 

Viewers also liked

Viewers also liked (7)

Infrastructure as code LT AWS + Ansibleのお悩み相談
Infrastructure as code LT AWS + Ansibleのお悩み相談Infrastructure as code LT AWS + Ansibleのお悩み相談
Infrastructure as code LT AWS + Ansibleのお悩み相談
 
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
 
2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code
 
Ossフル活用でinfrastructure as codeやってみた
Ossフル活用でinfrastructure as codeやってみたOssフル活用でinfrastructure as codeやってみた
Ossフル活用でinfrastructure as codeやってみた
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
 
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
 

Similar to Infrastructure as codeのススメ

Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
 
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
Kei Mikage
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
Kana SUZUKI
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
yuzorock
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
Yuki KAN
 

Similar to Infrastructure as codeのススメ (20)

Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
 
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
 
20061007.saas
20061007.saas20061007.saas
20061007.saas
 
CLR/H第54回勉強会 ライトニングトーク
CLR/H第54回勉強会 ライトニングトークCLR/H第54回勉強会 ライトニングトーク
CLR/H第54回勉強会 ライトニングトーク
 
エンジニアから見たRPA
エンジニアから見たRPAエンジニアから見たRPA
エンジニアから見たRPA
 
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
 
B 2-1 はじめての Windows Azure
B 2-1 はじめての Windows AzureB 2-1 はじめての Windows Azure
B 2-1 はじめての Windows Azure
 
コモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しようコモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しよう
 
マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化
 
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
 
apasec001-kawai
apasec001-kawaiapasec001-kawai
apasec001-kawai
 
Amazon RDS (MySQL) 入門
Amazon RDS (MySQL) 入門Amazon RDS (MySQL) 入門
Amazon RDS (MySQL) 入門
 
Ansible勉強会 #1 LT
Ansible勉強会 #1 LTAnsible勉強会 #1 LT
Ansible勉強会 #1 LT
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
温故知新ローカルに検証環境を作ろう
温故知新ローカルに検証環境を作ろう温故知新ローカルに検証環境を作ろう
温故知新ローカルに検証環境を作ろう
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所
 

Recently uploaded

Recently uploaded (11)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Infrastructure as codeのススメ