今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

18
Copyright © 2016 NTT DATA Corporation ○○○○ 年○○年○○年 年年年年 NTT 年年年 ○○ ○○ ○○ ○○ 年年年年年年年 Puppet 2016 年年年年年年年年年年年年年年 2016 年 4 年 20 年 年年年年 年年年 NTT 年年年 年年年 第 3 第 Puppet 第第第第 第第第第

Transcript of 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

Page 1: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

Copyright © 2016 NTT DATA Corporation

○○○○ 年○○月○○日株式会社 NTT データ○○ ○○ ○○ ○○

今からはじめる Puppet 2016~ インフラエンジニアのたしなみ ~

2016 年 4 月 20 日株式会社NTTデータ

佐々木 優太朗

第 3 回 Puppet ユーザ会発表資料

Page 2: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

2Copyright © 2016 NTT DATA Corporation

アジェンダ

はじめにIT 業界の自動化の流れPuppet について

システム開発編

システム運用編

連携するとうれしいツールその他

Page 3: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

3Copyright © 2016 NTT DATA Corporation

はじめに

自己紹介

名 前:佐々木 優太朗

経 験:金融系、公共系案件の基盤開発・維持運用

その他: PuppetConf2015(Portland) に参加!プライベートで Puppet オリジナル T シャツ

を愛用

本日のゴール

IT 自動化の初心者 ⇒ 趣味で Puppet を触ってみようかな!

Puppet の初心者 ⇒ 仕事で使ってみようかな!

# IT 自動化技術の普及に少しだけ貢献できれば幸甚です。

Page 4: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

Copyright © 2016 NTT DATA Corporation 4

IT 業界の自動化の流れ

Page 5: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

5Copyright © 2016 NTT DATA Corporation

一般の自動化技術の流れ

蒸気機関

自動車

自動車の自動運転技術( 個人的に興味あります )

IT の自動化技術★ 本日のテーマ★

IT の自動化技術は OSS で個人が自由に試せる!

人間の作業を自動化 コンピュー

近年の高度な自動化

Page 6: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

6Copyright © 2016 NTT DATA Corporation

IT の自動化技術の流れ

古典的自動化(Windows バッチ、シェルスクリ

プト )

ビルド自動化

CI( 継続的インテグレーショ

ン )

DevOps★ 本日のテーマ

自動化技術のポイントは各種技術を組み合わせて

何を達成するか

コモディティ化した技術

構築自動化

近年定着しつつある技術

テスト自動化

GNU make 、 antKickstart 、

サイレントインストール

JUnit 、 RSpec 、 Serverspec

Selenium 、 JMeterJenkinsPuppet 、 Chef 、 Ansibl

e

Page 7: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

7Copyright © 2016 NTT DATA Corporation

Puppet はどんなことができるの

か?

Page 8: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

8Copyright © 2016 NTT DATA Corporation

Puppet ができること / 特徴について

Puppet はあるべき状態を記述したマニフェストによる基盤構築ツール

大規模システム、特にセキュアなシステムに有効

エージェント型 (Master/Agent) 外部 DSL 型 ( 設定ファイル風に記述可能 ) 幅広いハードウェアベンダとの連携

日本語情報が徐々に充実してきた

Puppet 公式情報

Qiita などの技術サイト情報

構築ターゲットのサーバ

Agent

自動化資材

自動化資材

自動化資材 *

Agent

Master

* 自動化資材:マニフェストや必要なファイル等の総称

自動化サーバ

file { "/etc/hosts": owner => 'root', group => 'root', mode => '644',}

Page 9: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

9Copyright © 2016 NTT DATA Corporation

Puppet をつかうと

なにがうれしいか?

Page 10: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

10Copyright © 2016 NTT DATA Corporation

システム開発でうれしいこと

システム開発のフェーズで発生しがちな問題を自動化ツールを利用することにより未然に防ぐことができる

提供リードタイムの短縮事前に自動化資材の品質を担保しておくことで、構築時の作業時間を大幅に短縮できる

構築品質の向上変更対象が多い構築時において、作業者に依存していた構築品質のばらつきがなくなり、品質を一律に向上できる

開発環境の管理性向上意図しない一時的な変更が多発する環境において、変更内容を機械的に検出し、必要なフィードバックを把握することができる

構築時は、突発の仕様変更が起こりやすい

外部委託作業は日程変更が難しい

実機のみの設定変更は把握が難しい

Page 11: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

11Copyright © 2016 NTT DATA Corporation

でも自動化すると準備が大変でしょ

う?

Page 12: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

12Copyright © 2016 NTT DATA Corporation

自動化のスモールスタート

仮想化基盤では、自動化構築ツールのスモールスタートが可能(例:負荷分散 AP サーバ等の構成・役割が同じサーバの大量デプロ

イ )

VM#1

VM#2

VM( マスタ )

・・・

VM#3

①VM クローン(同一設定の複

製 )②自動化構築

( 個別カスタマイズ )

結果として、環境再構築に必要な手順がコード化される

仮想環境における、ほぼ同一設定の VM 構築例

ID 情報・性能情報

自動化範囲を絞ることで

準備が必要な資材はかなり少なくなる

Page 13: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

13Copyright © 2016 NTT DATA Corporation

システム運用でうれしいこと

システム運用における維持作業に求められる、高品質でスピーディな作業を実施することができる

作業時間の短縮限られたメンテナンス時間の中で、作業時間を短縮できるロールバックもマニフェストで対応し、作業時間を短縮できる

作業品質の向上手順書、および作業者に依存する作業ミスがなくなり、作業品質を一律に向上できる

大規模環境に対応多くの対象に同じ手順の実施が必要な場合、限られた人数で確実に実施できる

手順が多くなれば、必ずミスは発生する

重要なシステムほどメンテナンス時間は短い

脆弱性によっては作業対象台数が多い

Page 14: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

Copyright © 2016 NTT DATA Corporation 14

連携するとうれしいツール

Page 15: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

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接続)

ノンデグレード試験として使いまわすとさらに有効

Page 16: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

16Copyright © 2016 NTT DATA Corporation

連携するとうれしいその他のツール

Serverspec振る舞い試験、設定値試験

Jenkins定期的な試験実施

Git/Subversion自動化資材開発時のバージョン管理

Vagrant/Docker自動化資材自体の試験

並列 SSH ツール非定型作業の実施

その他

Page 17: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

17Copyright © 2016 NTT DATA Corporation

ありがとうございました

ご清聴いただき、誠にありがとうございました。ご質問がありましたら、ご遠慮なくいただければ幸いです。

Page 18: 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~

Copyright © 2011 NTT DATA Corporation

Copyright © 2016 NTT DATA Corporation