今からはじめるpuppet 2016 ~ インフラエンジニアのたしなみ ~
TRANSCRIPT
Copyright © 2016 NTT DATA Corporation
○○○○ 年○○月○○日株式会社 NTT データ○○ ○○ ○○ ○○
今からはじめる Puppet 2016~ インフラエンジニアのたしなみ ~
2016 年 4 月 20 日株式会社NTTデータ
佐々木 優太朗
第 3 回 Puppet ユーザ会発表資料
2Copyright © 2016 NTT DATA Corporation
アジェンダ
はじめにIT 業界の自動化の流れPuppet について
システム開発編
システム運用編
連携するとうれしいツールその他
3Copyright © 2016 NTT DATA Corporation
はじめに
自己紹介
名 前:佐々木 優太朗
経 験:金融系、公共系案件の基盤開発・維持運用
その他: PuppetConf2015(Portland) に参加!プライベートで Puppet オリジナル T シャツ
を愛用
本日のゴール
IT 自動化の初心者 ⇒ 趣味で Puppet を触ってみようかな!
Puppet の初心者 ⇒ 仕事で使ってみようかな!
# IT 自動化技術の普及に少しだけ貢献できれば幸甚です。
Copyright © 2016 NTT DATA Corporation 4
IT 業界の自動化の流れ
5Copyright © 2016 NTT DATA Corporation
一般の自動化技術の流れ
蒸気機関
自動車
自動車の自動運転技術( 個人的に興味あります )
IT の自動化技術★ 本日のテーマ★
IT の自動化技術は OSS で個人が自由に試せる!
人間の作業を自動化 コンピュー
タ
近年の高度な自動化
6Copyright © 2016 NTT DATA Corporation
IT の自動化技術の流れ
古典的自動化(Windows バッチ、シェルスクリ
プト )
ビルド自動化
CI( 継続的インテグレーショ
ン )
DevOps★ 本日のテーマ
★
自動化技術のポイントは各種技術を組み合わせて
何を達成するか
コモディティ化した技術
構築自動化
近年定着しつつある技術
テスト自動化
GNU make 、 antKickstart 、
サイレントインストール
JUnit 、 RSpec 、 Serverspec
Selenium 、 JMeterJenkinsPuppet 、 Chef 、 Ansibl
e
7Copyright © 2016 NTT DATA Corporation
Puppet はどんなことができるの
か?
8Copyright © 2016 NTT DATA Corporation
Puppet ができること / 特徴について
Puppet はあるべき状態を記述したマニフェストによる基盤構築ツール
大規模システム、特にセキュアなシステムに有効
エージェント型 (Master/Agent) 外部 DSL 型 ( 設定ファイル風に記述可能 ) 幅広いハードウェアベンダとの連携
日本語情報が徐々に充実してきた
Puppet 公式情報
Qiita などの技術サイト情報
構築ターゲットのサーバ
Agent
自動化資材
自動化資材
自動化資材 *
Agent
Master
* 自動化資材:マニフェストや必要なファイル等の総称
自動化サーバ
file { "/etc/hosts": owner => 'root', group => 'root', mode => '644',}
9Copyright © 2016 NTT DATA Corporation
Puppet をつかうと
なにがうれしいか?
10Copyright © 2016 NTT DATA Corporation
システム開発でうれしいこと
システム開発のフェーズで発生しがちな問題を自動化ツールを利用することにより未然に防ぐことができる
提供リードタイムの短縮事前に自動化資材の品質を担保しておくことで、構築時の作業時間を大幅に短縮できる
構築品質の向上変更対象が多い構築時において、作業者に依存していた構築品質のばらつきがなくなり、品質を一律に向上できる
開発環境の管理性向上意図しない一時的な変更が多発する環境において、変更内容を機械的に検出し、必要なフィードバックを把握することができる
構築時は、突発の仕様変更が起こりやすい
外部委託作業は日程変更が難しい
実機のみの設定変更は把握が難しい
11Copyright © 2016 NTT DATA Corporation
でも自動化すると準備が大変でしょ
う?
12Copyright © 2016 NTT DATA Corporation
自動化のスモールスタート
仮想化基盤では、自動化構築ツールのスモールスタートが可能(例:負荷分散 AP サーバ等の構成・役割が同じサーバの大量デプロ
イ )
VM#1
VM#2
VM( マスタ )
・・・
VM#3
①VM クローン(同一設定の複
製 )②自動化構築
( 個別カスタマイズ )
結果として、環境再構築に必要な手順がコード化される
仮想環境における、ほぼ同一設定の VM 構築例
ID 情報・性能情報
自動化範囲を絞ることで
準備が必要な資材はかなり少なくなる
13Copyright © 2016 NTT DATA Corporation
システム運用でうれしいこと
システム運用における維持作業に求められる、高品質でスピーディな作業を実施することができる
作業時間の短縮限られたメンテナンス時間の中で、作業時間を短縮できるロールバックもマニフェストで対応し、作業時間を短縮できる
作業品質の向上手順書、および作業者に依存する作業ミスがなくなり、作業品質を一律に向上できる
大規模環境に対応多くの対象に同じ手順の実施が必要な場合、限られた人数で確実に実施できる
手順が多くなれば、必ずミスは発生する
重要なシステムほどメンテナンス時間は短い
脆弱性によっては作業対象台数が多い
Copyright © 2016 NTT DATA Corporation 14
連携するとうれしいツール
15Copyright © 2016 NTT DATA Corporation
連携するとうれしいツール
Serverspec動作ノード 試験対象ノー
ド
構築の正しさを確認する単体試験を Serverspec で自動化実施するのは "パラメータ確認試験 " と "振舞い試験 "
describe file('/etc/XXX.conf') do its(:content) { should match /YYY:80/ }end
describe port(80) do it { should be_listening }end
自動試験の実行(エージェントレス SSH接続)
ノンデグレード試験として使いまわすとさらに有効
16Copyright © 2016 NTT DATA Corporation
連携するとうれしいその他のツール
Serverspec振る舞い試験、設定値試験
Jenkins定期的な試験実施
Git/Subversion自動化資材開発時のバージョン管理
Vagrant/Docker自動化資材自体の試験
並列 SSH ツール非定型作業の実施
その他
17Copyright © 2016 NTT DATA Corporation
ありがとうございました
ご清聴いただき、誠にありがとうございました。ご質問がありましたら、ご遠慮なくいただければ幸いです。
Copyright © 2011 NTT DATA Corporation
Copyright © 2016 NTT DATA Corporation