SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Copyright © 2015 NTT DATA Corporation
第1回 Puppetユーザ会
発表資料
2015年10月28日
株式会社NTTデータ
落合 秀俊
SIプロジェクトでのインフラ自動化の事例
2Copyright © 2015 NTT DATA Corporation
はじめに 自己紹介
名前: 落合 秀俊
所属: 株式会社NTTデータ
技術革新統括本部 基盤システム事業本部
経歴:
• 社内のSIプロジェクトに対して、
オープンソースミドルウェアの技術支援を実施
• 2009年以降は、HadoopのSI案件を複数担当
Hadoopの大量(数百台~数千台)のスレーブサーバ構築で
Puppetを活用、Puppetのノウハウを蓄積してきた
3Copyright © 2015 NTT DATA Corporation
はじめに 今回伝えたいこと
インフラの自動化に関して、
• 世の中ではWeb系企業での事例は多いが、
• エンタープライズ領域ではほとんどない。
大規模プロジェクトでの
インフラ自動化事例を紹介
1. なぜ自動化を行うのか、インフラの課題と解決策
2. SIプロジェクトでのPuppet活用方法
インフラ自動化に取り組む人を増やしていきたい
今後目指す方向
• 品質/柔軟性の高いITインフラを日本のSIプロジェクトに広めることで、
• 3K,7Kと言われるIT業界の苦労を少しでも軽減し、
• より創造的な仕事に注力できるようにしたい
Copyright © 2015 NTT DATA Corporation 4
1.なぜインフラの自動化を行うのか インフラの課題と解決策
5Copyright © 2015 NTT DATA Corporation
Puppetを活用した「事例プロジェクト」の概要と、インフラの抱える課題
システムの特徴 解決策
①社会基盤を担う重
要な大規模システム
②当社にとって新規
顧客、新規システム
③お客様所有データ
センタに設置
①大量/多種/複数面
のサーバ
• 効率的かつ不整合な
く構築
• 不整合なく変更を反映
する必要がある
②変更要求に対して柔
軟かつ正確な対応が
求められる
③お客様データセンタで
は短期間で確実な構
築/試験が求められる
インフラの課題 効果
6Copyright © 2015 NTT DATA Corporation
システムの特徴①社会基盤を担う重要な大規模システム
商用環境 80台
DR環境 80台
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
開発環境
(お客様所有)
190台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシス内結合面
サブシス間結合面
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
総合テスト面
…
外部システム結合面
現行システム維持面
非機能テスト面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
開発環境
(自社内)
80台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
…
単体テスト(新規)面
単体テスト(現行)面
30種類
16面
サーバのバリエーションが多く、
種類ごとに内部構成が異なる
400台超
商用環境は80台だが、
トータルだと5倍以上に膨れ上がる
プロジェクト最大の山場である
テスト工程で試験の並走度が高く、
開発環境に多数のテスト面がある。
7Copyright © 2015 NTT DATA Corporation
インフラの課題①大量/多種/複数面のサーバ 構築時の課題
商用環境 80台
DR環境 80台
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
開発環境
(お客様所有)
190台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシス内結合面
サブシス間結合面
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
総合テスト面
…
外部システム結合面
現行システム維持面
非機能テスト面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
開発環境
(自社内)
80台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
…
単体テスト(新規)面
単体テスト(現行)面
30種類
16面
400台超
大量のサーバを
効率的に
構築する必要あり
不整合なく構築する
必要あり
• 同種のサーバ同士
• 面、面、面…の間
8Copyright © 2015 NTT DATA Corporation
インフラの課題①大量/多種/複数面のサーバ 変更作業時の課題
商用環境 80台
DR環境 80台
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
開発環境
(お客様所有)
190台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシス内結合面
サブシス間結合面
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
APAPAP
APAPAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
総合テスト面
…
外部システム結合面
現行システム維持面
非機能テスト面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP DB
バッチ
AP
…
開発環境
(自社内)
80台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
…
単体テスト(新規)面
単体テスト(現行)面
30種類
16面
400台超
AP
AP
AP
AP
AP
AP
AP
1台の変更
↓
変更対象が16面(20台以上)
に膨れ上がる
9Copyright © 2015 NTT DATA Corporation
インフラの課題①大量/多種/複数面のサーバ 変更作業時の課題
商用環境 80台
DR環境 80台
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
開発環境
(お客様所有)
190台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシス内結合面
サブシス間結合面
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
APAPAP
APAPAP APAP
APAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
総合テスト面
…
外部システム結合面
現行システム維持面
非機能テスト面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP DB
バッチ
AP
…
開発環境
(自社内)
80台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
…
単体テスト(新規)面
単体テスト(現行)面
30種類
16面
400台超
AP
AP
AP
AP
AP
AP
AP
AP
AP
AP
AP
AP
AP
1台の変更
↓
類似サーバへ展開すると
変更対象がさらに
2倍(40台)、
3倍(60台)、
:
不整合なく変更を
行う必要あり
10Copyright © 2015 NTT DATA Corporation
インフラ課題の解決策①大量/多種/複数面のサーバ
大量のサーバを
効率的に
構築する必要あり
不整合なく構築する必
要あり
• 同種のサーバ同士
• 面、面、面…の間
不整合なく変更を
行う必要あり
Puppetで構築、
維持管理を実施
• OS設定
• ミドルウエアの構築
ミドルウェア試験の自動化
(今回の発表では詳細は割愛)
• サーバ単体テスト: serverspec
• 振る舞いテスト: 内部独自ツール
課題
対策
効果
品質向上:
作業ミス等でのサーバごとの差
異が発生がない
学習効果、知識の蓄積:
初期の面の経験をフィードバックできるため、後の面
になるほど失敗が少なく、精度が上がる。
スケジュール確度向上:
後の面になるほどトラブルが減るため、スケジュール通りに進む
確度が高まる。結果、スケジュール圧縮も可能になる。
11Copyright © 2015 NTT DATA Corporation
インフラ課題の解決策①大量/多種/複数面のサーバ
商用環境 80台
DR環境 80台
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
開発環境
(お客様所有)
190台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシス内結合面
サブシス間結合面
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
APAPAP
APAPAP APAP
APAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
総合テスト面
…
外部システム結合面
現行システム維持面
非機能テスト面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP DB
バッチ
AP
…
開発環境
(自社内)
80台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
…
単体テスト(新規)面
単体テスト(現行)面
30種類
16面
400台超
AP
AP
AP
AP
AP
AP
AP
AP
AP
AP
AP
AP
AP
Puppet
Manifest
Puppetで変更
を一元管理
品質向上:
作業ミス等でのサーバごと
の差異が発生がない
12Copyright © 2015 NTT DATA Corporation
インフラ課題の解決策①大量/多種/複数面のサーバ
構築
回数
環境/面 Puppetでの
構築期間
構成
1回目 開発環境/
サブシス内結合面
4週間/面
2回目 開発環境/
非機能テスト面
非機能テストDR面
3週間/2面
=1.5週間/面
3回目 開発環境/
サブシス間結合面
開発環境/
外部システム結合面
2週間/2面
=1週間/面
: :
5回目 商用環境
DR環境
4週間/2面
=2週間/面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
DBDB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ …
APAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
DBDB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ …
APAP
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ …
AP
APAPAP
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ …
AP
APAPAP
×新規なので準備(モジュール作成等)に時間が掛かった
△冗長構成(HA,負荷分散)が初登場で難易度が高くなった
○1回目と同じ構成なので、ほぼノートラブル、4倍効率化
○商用ながら、2回目から台数が増えたのみ
当日の作業延長なし、期間内に終了
学習効果、知識の蓄積:
初期の面の経験をフィードバックできるため、
後の面になるほど失敗が少なく、精度が上がる。
シンプル
構成
冗長構成
シンプル
構成
冗長構成
スケジュール確度向上:
後の面になるほどトラブルが減るため、スケジュール通りに
進む確度が高まる。結果、スケジュール圧縮も可能になる。
13Copyright © 2015 NTT DATA Corporation
公式な環境
うちは小規模だから自動化してもしょうがない??
ところで、
「うちは小規模だから自動化してもしょうがない」
とお思いのあなた、
ちゃんと数えると思っている以上にサーバ数、面数はありますよ!
業務Aチーム内サーバ ベンダ検証センタ
検証環境
商用環境
野良サーバ系 一時的環境
Aさん席足元の
サーバ(PC)
業務Bチーム内サーバ
開発環境(単体テスト)
開発環境(結合テスト)
ベンダ検証センター
パッケージソフト
検証環境
環境によって再現しない
バグが出ることも
統制かけて公式環境化
するのはどうか?
検証期間は短いので、
素早く作りたい
14Copyright © 2015 NTT DATA Corporation
システムの特徴②当社にとって新規顧客、新規システム
システムの特徴 解決策
①社会基盤を担う重
要な大規模システム
②当社にとって新規
顧客、新規システム
③お客様所有データ
センタに設置
①大量/多種/複数面
のサーバ
• 効率的かつ不整合な
く構築
• 不整合なく変更を反映
する必要がある
②変更要求に対して柔
軟かつ正確な対応が
求められる
③お客様データセンタで
は短期間で確実な構
築/試験が求められる
インフラの課題 効果
Puppetで構築、
維持管理を実施
ミドルウェア試験
の自動化
品質向上
学習効果、知識の蓄積
スケジュール確度向上
15Copyright © 2015 NTT DATA Corporation
システムの特徴②当社にとって新規顧客、新規システム
新規顧客
開発に入った後に初めてわかることも多い
新規システム
当然、要件定義は厳格に行うのだが……
お客様の独自文化
• 独自用語(各種 識別子が変更になる)
• 明文化されていない暗黙のルール
(後から知っても、守る必要がある)
• 全システム共通の運用システム
(監視、ジョブ、ログ等へ合わせこむ)
等
連携先システムの詳細仕様
詳細設計を進めて気づく仕様
• 例外的な処理
• 異常時の処理
• DR切り替え時の処理
等
インフラ構築後の変更が避けがたい
変更要求に対して柔軟かつ正確な対応が求められる
16Copyright © 2015 NTT DATA Corporation
Puppetで維持管理を実施
• OS設定
• ミドルウエアの設定
課題
対策
効果
インフラ課題の解決策②変更要求に対して柔軟かつ正確な対応
インフラの変更要求に対して
柔軟かつ正確な対応が求められる
品質向上:
作業ミス等でのサーバごとの
差異が発生がない
変更のトラッキング:
変更は、テキストファイルとして
リビジョン管理ができる
変更の敷居を下げる:
次ページで解説
17Copyright © 2015 NTT DATA Corporation
インフラ課題の解決策②変更要求に対して柔軟かつ正確な対応
商用環境 80台
DR環境 80台
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
開発環境
(お客様所有)
190台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシス内結合面
サブシス間結合面
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
総合テスト面
…
外部システム結合面
現行システム維持面
非機能テスト面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
開発環境
(自社内)
80台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
…
単体テスト(新規)面
単体テスト(現行)面
30種類
16面
400台超
Puppet担当者
VM
商用環境 80台
DR環境 80台
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
開発環境
(お客様所有)
190台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシス内結合面
サブシス間結合面
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
総合テスト面
…
外部システム結合面
現行システム維持面
非機能テスト面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
開発環境
(自社内)
80台
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
…
単体テスト(新規)面
単体テスト(現行)面
30種類
16面
400台超
Puppet
Manifest
構築対象の環境
Puppet検証環境
変更
要求 1
2
3
4
Puppet
Manifest
変更の敷居を下げる:
変更しやすさと正確性が保てる
手元の自由に使える環境
で変更の検証を行う
課題: 業務の各種テストで使用中
変更は慎重さが必要
(テストを止めたくない)
Dockerコンテナで実現
• 台数が多くても、コンテナなら少
ないリソースで何とか動かせる
• あくまでPuppet検証用途限定
• ミドルの動作はリソース上困難
メモリ多めのPC
検証済みのPuppet
Manifestで変更を実施
18Copyright © 2015 NTT DATA Corporation
システムの特徴③お客様所有データセンタに設置
システムの特徴 解決策
①社会基盤を担う重
要な大規模システム
②当社にとって新規
顧客、新規システム
③お客様所有データ
センタに設置
①大量/多種/複数面
のサーバ
• 効率的かつ不整合な
く構築
• 不整合なく変更を反映
する必要がある
②変更要求に対して柔
軟かつ正確な対応が
求められる
③お客様データセンタで
は短期間で確実な構
築/試験が求められる
インフラの課題 効果
Puppetで構築、
維持管理を実施
ミドルウェア試験
の自動化
品質向上
学習効果、知識の蓄積
スケジュール確度向上
変更のトラッキング
変更の敷居を下げる
Puppetで構築、
維持管理を実施
19Copyright © 2015 NTT DATA Corporation
開
発
拠
点
システムの特徴③お客様所有データセンタに設置
厳格なセキュリティ管理
5月 6月 7月 8月
商用
DR
データセンタ
商用
ラック電源
工事
機器設置
OS/
ミドル
設定
商用
ミドル
設定
ミドル
単体
テスト
ミドル
可用性
テスト
データセンタ
DR
ラック電源
工事
機器設置
OS/
ミドル
設定
商用
ミドル
設定
ミドル
単体
テスト
ミドル
結合
テスト
ミドル
結合
テスト
ミドル
可用性
テスト
×データセンタ 商用 入館申請
日時: 8/7 10:00~17:00
作業内容: ミドル結合テスト
入館者:
A社 田中 一郎
A社 佐藤 二郎
B社 鈴木 花子
ネットワークは完全独立
(開発環境と商用環境
はつながらない)
入館日、作業者、
作業時間の事前
申請が必要
×
お客様立会い
管理下での作業
20Copyright © 2015 NTT DATA Corporation
開
発
拠
点
インフラの課題③データセンタでは作業場所/期間/時間に制約
厳格なセキュリティ管理
5月 6月 7月 8月
商用
DR
データセンタ
商用
ラック電源
工事
機器設置
OS/
ミドル
設定
商用
ミドル
設定
ミドル
単体
テスト
ミドル
可用性
テスト
データセンタ
DR
ラック電源
工事
機器設置
OS/
ミドル
設定
商用
ミドル
設定
ミドル
単体
テスト
ミドル
結合
テスト
ミドル
結合
テスト
ミドル
可用性
テスト
× ×
作業場所/期間/時間
に制約が大きい
場所:
商用環境はデータセンタ
での作業が必須
期間:
スケジュール通りで構築・テスト
を終える必要がある
• 作業内容に合わせたお客様
担当者が立ち会う。
急に立会い日をずらせない。
時間:
トラブル発生時でも時間延長は
容易ではない
(お客様にも残業を強いる)
21Copyright © 2015 NTT DATA Corporation
インフラ課題の解決策③データセンタは作業場所/期間/時間に制約
Puppetで構築、
維持管理を実施
• OS設定
• ミドルウエアの構築
ミドルウェア試験の自動化
(今回の発表では詳細は割愛)
• サーバ単体テスト: serverspec
• 振る舞いテスト: 内部独自ツール
課題
対策
効果
品質向上:
作業ミス等でのサーバごとの差
異が発生がない
学習効果、知識の蓄積:
初期の面の経験をフィードバックできるため、後の面
になるほど失敗が少なく、精度が上がる。
スケジュール確度向上:
後の面になるほどトラブルが減るため、スケジュール通りに進む
確度が高まる。結果、スケジュール圧縮も可能になる。
作業場所/期間/時間
に制約が大きい
構築時と同じ効果が
顕著に効く
22Copyright © 2015 NTT DATA Corporation
インフラの課題と解決策 まとめ
システムの特徴 解決策
①社会基盤を担う重
要な大規模システム
②当社にとって新規
顧客、新規システム
③お客様所有データ
センタに設置
①大量/多種/複数面
のサーバ
• 効率的かつ不整合な
く構築
• 不整合なく変更を反映
する必要がある
②変更要求に対して柔
軟かつ正確な対応が
求められる
③お客様データセンタで
は短期間で確実な構
築/試験が求められる
インフラの課題 効果
Puppetで構築、
維持管理を実施
ミドルウェア試験
の自動化
品質向上
学習効果、知識の蓄積
スケジュール確度向上
変更のトラッキング
変更の敷居を下げる
品質向上
学習効果、知識の蓄積
スケジュール確度向上
Puppetで構築、
維持管理を実施
ミドルウェア試験
の自動化
Puppetで構築、
維持管理を実施
Copyright © 2015 NTT DATA Corporation 23
SIプロジェクトでのPuppet活用方法
• Puppetの使い方
• Puppetの構成、Puppet適用スタイル
• Puppet manifest構成
• 商用ソフトのPuppet対応
• Puppetの使い方での工夫は多岐にわたるが、
今回はかいつまんで一部のみ紹介
• 残りは、今後のPuppetユーザ会等で順次紹介していきたい
24Copyright © 2015 NTT DATA Corporation
Puppetのシステム構成: Master-Agent構成
商用環境
DR環境
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
開発環境
(お客様所有) サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシス内結合面
サブシス間結合面
サブシステムA
AP
DB
バッチ
AP
DB
バッチ
サブシステムB
AP
DB
AP
DB
サブシステムC
AP
DB
バッチ
AP
DB
バッチ
…AP
APAPAP
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
総合テスト面
…
外部システム結合面
現行システム維持面
非機能テスト面
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ…
開発環境
(自社内)
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
サブシステムA
AP DB
バッチ
サブシステムB
DB
サブシステムC
…AP AP DB
バッチ
…
…
単体テスト(新規)面
単体テスト(現行)面Puppet
Master
Puppet
Master
Puppet
Master
Puppet
Master
Puppet
Master
(非機能テスト面用)
Master-Agent構成
• 各環境ごとにPuppet Masterを設置
• Puppet Manifestはgitに一元管理し、
各Masterに配布して使用する
Manifest
git
25Copyright © 2015 NTT DATA Corporation
Puppetのシステム構成: 適用スタイル
Agentを手動起動させ、常駐(自動適用)させない
• 適用タイミングをコントロールしたい(試験の進捗に合わせて適用したい)
• 差分内容を確認したい(不用意に変更してしまわない)
サーバ
Agent
サーバ
Agent
Puppet
Master
Manifest
サーバ
Agent
1. --noopオプションを指定して、diffを表示させる
# puppet agent --noop --onetime --no-daemonize
2. diff内容が、意図する内容のみであることを確認
3. agentコマンドで適用する
# puppet agent --onetime --no-daemonize
26Copyright © 2015 NTT DATA Corporation
Puppet Manifest構成
PuppetlabsのBest Practiceに従う
• 「The Puppet Language Style Guide」
• 「Module Fundamentals」
• Puppet Manifest設計方法の議論を内部で散々
行ってきたが、結局Best Practiceと同じになった
Node定義 Module
DR環境
開発環境
サブシス間
結合面 …
…
開発環境
単体テスト
(現行)面
オープンソース
ミドルA
オープンソース
ミドルB
オープンソース
ミドルC
開発環境
サブシス内
結合面
商用環境
開発環境
単体テスト
(新規)面
商用
ミドルD
商用
ミドルE
商用
ミドルF
できる限り単純化
• if文など制御を極力排除
• テンプレートは値の穴埋めのみ使用
面依存はNode定義に記載する
途中でhieraに乗り換えた
27Copyright © 2015 NTT DATA Corporation
商用ソフトのPuppet対応
商用ソフトは自動化の敵
• 対話型インストーラはPuppet化が困難
コマンドラインインストール、
サイレントインストールあり
対話型しかない
Puppet化
オープンソース
ミドルウェア
商用ソフト
インストール前提条件のみ
Puppet化
+手動インストール
インストール前提条件
• ユーザ、ディレクトリ作成
• 依存ライブラリインストール
• カーネルパラメタ設定 等
前提条件の整備だけでも一定の効果あり
• 条件がそろうので、手動インストールが
失敗しにくい
• 単純インストール時間のみで済む
Puppet化の考え方
• 全サーバに導入するソフトを優先する
• 運用エージェント(ジョブ、監視等)
• アンチウィルス等セキュリティ
• ライセンス費用の高い重要ソフトウェアは、専
任担当者が付くので手動インストールでもそ
れほど問題にならなかった
Copyright © 2015 NTT DATA Corporation 28
おわりに
29Copyright © 2015 NTT DATA Corporation
おわりに
今後、Puppetユーザ会を通じて話していきたい内容
• Puppet Best Practice
• PuppetをSIプロジェクトで適用する場合のノウハウ、テクニック
• インフラテスト自動化
等、皆さんに情報提供しつつ議論を深めていきたい
SIプロジェクトでインフラ自動化は非常に役立つ。
積極的に推進していきたい。
大規模プロジェクトでの
インフラ自動化事例を紹介
1. なぜ自動化を行うのか、インフラの課題と解決策
2. SIプロジェクトでのPuppet活用方法
Copyright © 2011 NTT DATA Corporation
Copyright © 2015 NTT DATA Corporation

Mais conteúdo relacionado

Mais procurados

perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
Daichi Egawa
 
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
Insight Technology, Inc.
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo!デベロッパーネットワーク
 

Mais procurados (20)

perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
 
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
 
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
 
OSS系データベース、クラウド・データベースへ脱Oracleへの実現方法
OSS系データベース、クラウド・データベースへ脱Oracleへの実現方法OSS系データベース、クラウド・データベースへ脱Oracleへの実現方法
OSS系データベース、クラウド・データベースへ脱Oracleへの実現方法
 
PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介
 
PostreSQL監査
PostreSQL監査PostreSQL監査
PostreSQL監査
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
OpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix EnvironmentsOpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix Environments
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
 

Destaque

Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をするChef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Hidetoshi Ochiai
 
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Noriyuki Mizuno
 

Destaque (20)

今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
 
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をするChef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
 
Puppetが仲間外れにされて悲しいので、呼ばれてないのにPuppetの最新動向を話すよ
 Puppetが仲間外れにされて悲しいので、呼ばれてないのにPuppetの最新動向を話すよ Puppetが仲間外れにされて悲しいので、呼ばれてないのにPuppetの最新動向を話すよ
Puppetが仲間外れにされて悲しいので、呼ばれてないのにPuppetの最新動向を話すよ
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
 
DevOps Practices: Configuration as Code
DevOps Practices:Configuration as CodeDevOps Practices:Configuration as Code
DevOps Practices: Configuration as Code
 
Application of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jpApplication of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jp
 
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixConfiguration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
 
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
 
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
 
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理
 
Windows Serverを活用する on Windows Azure セミナー
Windows Serverを活用する on Windows Azure セミナーWindows Serverを活用する on Windows Azure セミナー
Windows Serverを活用する on Windows Azure セミナー
 
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
 

Semelhante a SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)

Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
Boss4434
 
事例でわかるBIGLOBEクラウドホスティング
事例でわかるBIGLOBEクラウドホスティング事例でわかるBIGLOBEクラウドホスティング
事例でわかるBIGLOBEクラウドホスティング
ビジネスBIGLOBE
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
Abe Junichiro
 

Semelhante a SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料) (20)

ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
 
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
 
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
 
事例でわかるBIGLOBEクラウドホスティング
事例でわかるBIGLOBEクラウドホスティング事例でわかるBIGLOBEクラウドホスティング
事例でわかるBIGLOBEクラウドホスティング
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
 
July techfesta2014 f30
July techfesta2014 f30July techfesta2014 f30
July techfesta2014 f30
 
OpenStackプロジェクトの全体像~詳細編~
OpenStackプロジェクトの全体像~詳細編~OpenStackプロジェクトの全体像~詳細編~
OpenStackプロジェクトの全体像~詳細編~
 
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
 
[db tech showcase Tokyo 2018] #dbts2018 #E37 『Attunity Replicateが変えた Oracle D...
[db tech showcase Tokyo 2018] #dbts2018 #E37 『Attunity Replicateが変えた Oracle D...[db tech showcase Tokyo 2018] #dbts2018 #E37 『Attunity Replicateが変えた Oracle D...
[db tech showcase Tokyo 2018] #dbts2018 #E37 『Attunity Replicateが変えた Oracle D...
 
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
 
オールアバウトにおける技術への取り組み
オールアバウトにおける技術への取り組みオールアバウトにおける技術への取り組み
オールアバウトにおける技術への取り組み
 
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~
 
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
 

Mais de NTT DATA OSS Professional Services

Mais de NTT DATA OSS Professional Services (11)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 

Último

Último (11)

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

SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)

  • 1. Copyright © 2015 NTT DATA Corporation 第1回 Puppetユーザ会 発表資料 2015年10月28日 株式会社NTTデータ 落合 秀俊 SIプロジェクトでのインフラ自動化の事例
  • 2. 2Copyright © 2015 NTT DATA Corporation はじめに 自己紹介 名前: 落合 秀俊 所属: 株式会社NTTデータ 技術革新統括本部 基盤システム事業本部 経歴: • 社内のSIプロジェクトに対して、 オープンソースミドルウェアの技術支援を実施 • 2009年以降は、HadoopのSI案件を複数担当 Hadoopの大量(数百台~数千台)のスレーブサーバ構築で Puppetを活用、Puppetのノウハウを蓄積してきた
  • 3. 3Copyright © 2015 NTT DATA Corporation はじめに 今回伝えたいこと インフラの自動化に関して、 • 世の中ではWeb系企業での事例は多いが、 • エンタープライズ領域ではほとんどない。 大規模プロジェクトでの インフラ自動化事例を紹介 1. なぜ自動化を行うのか、インフラの課題と解決策 2. SIプロジェクトでのPuppet活用方法 インフラ自動化に取り組む人を増やしていきたい 今後目指す方向 • 品質/柔軟性の高いITインフラを日本のSIプロジェクトに広めることで、 • 3K,7Kと言われるIT業界の苦労を少しでも軽減し、 • より創造的な仕事に注力できるようにしたい
  • 4. Copyright © 2015 NTT DATA Corporation 4 1.なぜインフラの自動化を行うのか インフラの課題と解決策
  • 5. 5Copyright © 2015 NTT DATA Corporation Puppetを活用した「事例プロジェクト」の概要と、インフラの抱える課題 システムの特徴 解決策 ①社会基盤を担う重 要な大規模システム ②当社にとって新規 顧客、新規システム ③お客様所有データ センタに設置 ①大量/多種/複数面 のサーバ • 効率的かつ不整合な く構築 • 不整合なく変更を反映 する必要がある ②変更要求に対して柔 軟かつ正確な対応が 求められる ③お客様データセンタで は短期間で確実な構 築/試験が求められる インフラの課題 効果
  • 6. 6Copyright © 2015 NTT DATA Corporation システムの特徴①社会基盤を担う重要な大規模システム 商用環境 80台 DR環境 80台 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP 開発環境 (お客様所有) 190台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシス内結合面 サブシス間結合面 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ 総合テスト面 … 外部システム結合面 現行システム維持面 非機能テスト面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … 開発環境 (自社内) 80台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … … 単体テスト(新規)面 単体テスト(現行)面 30種類 16面 サーバのバリエーションが多く、 種類ごとに内部構成が異なる 400台超 商用環境は80台だが、 トータルだと5倍以上に膨れ上がる プロジェクト最大の山場である テスト工程で試験の並走度が高く、 開発環境に多数のテスト面がある。
  • 7. 7Copyright © 2015 NTT DATA Corporation インフラの課題①大量/多種/複数面のサーバ 構築時の課題 商用環境 80台 DR環境 80台 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP 開発環境 (お客様所有) 190台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシス内結合面 サブシス間結合面 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ 総合テスト面 … 外部システム結合面 現行システム維持面 非機能テスト面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … 開発環境 (自社内) 80台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … … 単体テスト(新規)面 単体テスト(現行)面 30種類 16面 400台超 大量のサーバを 効率的に 構築する必要あり 不整合なく構築する 必要あり • 同種のサーバ同士 • 面、面、面…の間
  • 8. 8Copyright © 2015 NTT DATA Corporation インフラの課題①大量/多種/複数面のサーバ 変更作業時の課題 商用環境 80台 DR環境 80台 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP 開発環境 (お客様所有) 190台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシス内結合面 サブシス間結合面 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP APAPAP APAPAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ 総合テスト面 … 外部システム結合面 現行システム維持面 非機能テスト面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP DB バッチ AP … 開発環境 (自社内) 80台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … … 単体テスト(新規)面 単体テスト(現行)面 30種類 16面 400台超 AP AP AP AP AP AP AP 1台の変更 ↓ 変更対象が16面(20台以上) に膨れ上がる
  • 9. 9Copyright © 2015 NTT DATA Corporation インフラの課題①大量/多種/複数面のサーバ 変更作業時の課題 商用環境 80台 DR環境 80台 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP 開発環境 (お客様所有) 190台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシス内結合面 サブシス間結合面 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP APAPAP APAPAP APAP APAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ 総合テスト面 … 外部システム結合面 現行システム維持面 非機能テスト面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP DB バッチ AP … 開発環境 (自社内) 80台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … … 単体テスト(新規)面 単体テスト(現行)面 30種類 16面 400台超 AP AP AP AP AP AP AP AP AP AP AP AP AP 1台の変更 ↓ 類似サーバへ展開すると 変更対象がさらに 2倍(40台)、 3倍(60台)、 : 不整合なく変更を 行う必要あり
  • 10. 10Copyright © 2015 NTT DATA Corporation インフラ課題の解決策①大量/多種/複数面のサーバ 大量のサーバを 効率的に 構築する必要あり 不整合なく構築する必 要あり • 同種のサーバ同士 • 面、面、面…の間 不整合なく変更を 行う必要あり Puppetで構築、 維持管理を実施 • OS設定 • ミドルウエアの構築 ミドルウェア試験の自動化 (今回の発表では詳細は割愛) • サーバ単体テスト: serverspec • 振る舞いテスト: 内部独自ツール 課題 対策 効果 品質向上: 作業ミス等でのサーバごとの差 異が発生がない 学習効果、知識の蓄積: 初期の面の経験をフィードバックできるため、後の面 になるほど失敗が少なく、精度が上がる。 スケジュール確度向上: 後の面になるほどトラブルが減るため、スケジュール通りに進む 確度が高まる。結果、スケジュール圧縮も可能になる。
  • 11. 11Copyright © 2015 NTT DATA Corporation インフラ課題の解決策①大量/多種/複数面のサーバ 商用環境 80台 DR環境 80台 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP 開発環境 (お客様所有) 190台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシス内結合面 サブシス間結合面 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP APAPAP APAPAP APAP APAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ 総合テスト面 … 外部システム結合面 現行システム維持面 非機能テスト面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP DB バッチ AP … 開発環境 (自社内) 80台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … … 単体テスト(新規)面 単体テスト(現行)面 30種類 16面 400台超 AP AP AP AP AP AP AP AP AP AP AP AP AP Puppet Manifest Puppetで変更 を一元管理 品質向上: 作業ミス等でのサーバごと の差異が発生がない
  • 12. 12Copyright © 2015 NTT DATA Corporation インフラ課題の解決策①大量/多種/複数面のサーバ 構築 回数 環境/面 Puppetでの 構築期間 構成 1回目 開発環境/ サブシス内結合面 4週間/面 2回目 開発環境/ 非機能テスト面 非機能テストDR面 3週間/2面 =1.5週間/面 3回目 開発環境/ サブシス間結合面 開発環境/ 外部システム結合面 2週間/2面 =1週間/面 : : 5回目 商用環境 DR環境 4週間/2面 =2週間/面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ AP DB バッチ サブシステムB DBDB サブシステムC AP DB バッチ AP DB バッチ … APAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ AP DB バッチ サブシステムB DBDB サブシステムC AP DB バッチ AP DB バッチ … APAP サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ … AP APAPAP サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ … AP APAPAP ×新規なので準備(モジュール作成等)に時間が掛かった △冗長構成(HA,負荷分散)が初登場で難易度が高くなった ○1回目と同じ構成なので、ほぼノートラブル、4倍効率化 ○商用ながら、2回目から台数が増えたのみ 当日の作業延長なし、期間内に終了 学習効果、知識の蓄積: 初期の面の経験をフィードバックできるため、 後の面になるほど失敗が少なく、精度が上がる。 シンプル 構成 冗長構成 シンプル 構成 冗長構成 スケジュール確度向上: 後の面になるほどトラブルが減るため、スケジュール通りに 進む確度が高まる。結果、スケジュール圧縮も可能になる。
  • 13. 13Copyright © 2015 NTT DATA Corporation 公式な環境 うちは小規模だから自動化してもしょうがない?? ところで、 「うちは小規模だから自動化してもしょうがない」 とお思いのあなた、 ちゃんと数えると思っている以上にサーバ数、面数はありますよ! 業務Aチーム内サーバ ベンダ検証センタ 検証環境 商用環境 野良サーバ系 一時的環境 Aさん席足元の サーバ(PC) 業務Bチーム内サーバ 開発環境(単体テスト) 開発環境(結合テスト) ベンダ検証センター パッケージソフト 検証環境 環境によって再現しない バグが出ることも 統制かけて公式環境化 するのはどうか? 検証期間は短いので、 素早く作りたい
  • 14. 14Copyright © 2015 NTT DATA Corporation システムの特徴②当社にとって新規顧客、新規システム システムの特徴 解決策 ①社会基盤を担う重 要な大規模システム ②当社にとって新規 顧客、新規システム ③お客様所有データ センタに設置 ①大量/多種/複数面 のサーバ • 効率的かつ不整合な く構築 • 不整合なく変更を反映 する必要がある ②変更要求に対して柔 軟かつ正確な対応が 求められる ③お客様データセンタで は短期間で確実な構 築/試験が求められる インフラの課題 効果 Puppetで構築、 維持管理を実施 ミドルウェア試験 の自動化 品質向上 学習効果、知識の蓄積 スケジュール確度向上
  • 15. 15Copyright © 2015 NTT DATA Corporation システムの特徴②当社にとって新規顧客、新規システム 新規顧客 開発に入った後に初めてわかることも多い 新規システム 当然、要件定義は厳格に行うのだが…… お客様の独自文化 • 独自用語(各種 識別子が変更になる) • 明文化されていない暗黙のルール (後から知っても、守る必要がある) • 全システム共通の運用システム (監視、ジョブ、ログ等へ合わせこむ) 等 連携先システムの詳細仕様 詳細設計を進めて気づく仕様 • 例外的な処理 • 異常時の処理 • DR切り替え時の処理 等 インフラ構築後の変更が避けがたい 変更要求に対して柔軟かつ正確な対応が求められる
  • 16. 16Copyright © 2015 NTT DATA Corporation Puppetで維持管理を実施 • OS設定 • ミドルウエアの設定 課題 対策 効果 インフラ課題の解決策②変更要求に対して柔軟かつ正確な対応 インフラの変更要求に対して 柔軟かつ正確な対応が求められる 品質向上: 作業ミス等でのサーバごとの 差異が発生がない 変更のトラッキング: 変更は、テキストファイルとして リビジョン管理ができる 変更の敷居を下げる: 次ページで解説
  • 17. 17Copyright © 2015 NTT DATA Corporation インフラ課題の解決策②変更要求に対して柔軟かつ正確な対応 商用環境 80台 DR環境 80台 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP 開発環境 (お客様所有) 190台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシス内結合面 サブシス間結合面 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ 総合テスト面 … 外部システム結合面 現行システム維持面 非機能テスト面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … 開発環境 (自社内) 80台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … … 単体テスト(新規)面 単体テスト(現行)面 30種類 16面 400台超 Puppet担当者 VM 商用環境 80台 DR環境 80台 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP 開発環境 (お客様所有) 190台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシス内結合面 サブシス間結合面 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ 総合テスト面 … 外部システム結合面 現行システム維持面 非機能テスト面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … 開発環境 (自社内) 80台 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … … 単体テスト(新規)面 単体テスト(現行)面 30種類 16面 400台超 Puppet Manifest 構築対象の環境 Puppet検証環境 変更 要求 1 2 3 4 Puppet Manifest 変更の敷居を下げる: 変更しやすさと正確性が保てる 手元の自由に使える環境 で変更の検証を行う 課題: 業務の各種テストで使用中 変更は慎重さが必要 (テストを止めたくない) Dockerコンテナで実現 • 台数が多くても、コンテナなら少 ないリソースで何とか動かせる • あくまでPuppet検証用途限定 • ミドルの動作はリソース上困難 メモリ多めのPC 検証済みのPuppet Manifestで変更を実施
  • 18. 18Copyright © 2015 NTT DATA Corporation システムの特徴③お客様所有データセンタに設置 システムの特徴 解決策 ①社会基盤を担う重 要な大規模システム ②当社にとって新規 顧客、新規システム ③お客様所有データ センタに設置 ①大量/多種/複数面 のサーバ • 効率的かつ不整合な く構築 • 不整合なく変更を反映 する必要がある ②変更要求に対して柔 軟かつ正確な対応が 求められる ③お客様データセンタで は短期間で確実な構 築/試験が求められる インフラの課題 効果 Puppetで構築、 維持管理を実施 ミドルウェア試験 の自動化 品質向上 学習効果、知識の蓄積 スケジュール確度向上 変更のトラッキング 変更の敷居を下げる Puppetで構築、 維持管理を実施
  • 19. 19Copyright © 2015 NTT DATA Corporation 開 発 拠 点 システムの特徴③お客様所有データセンタに設置 厳格なセキュリティ管理 5月 6月 7月 8月 商用 DR データセンタ 商用 ラック電源 工事 機器設置 OS/ ミドル 設定 商用 ミドル 設定 ミドル 単体 テスト ミドル 可用性 テスト データセンタ DR ラック電源 工事 機器設置 OS/ ミドル 設定 商用 ミドル 設定 ミドル 単体 テスト ミドル 結合 テスト ミドル 結合 テスト ミドル 可用性 テスト ×データセンタ 商用 入館申請 日時: 8/7 10:00~17:00 作業内容: ミドル結合テスト 入館者: A社 田中 一郎 A社 佐藤 二郎 B社 鈴木 花子 ネットワークは完全独立 (開発環境と商用環境 はつながらない) 入館日、作業者、 作業時間の事前 申請が必要 × お客様立会い 管理下での作業
  • 20. 20Copyright © 2015 NTT DATA Corporation 開 発 拠 点 インフラの課題③データセンタでは作業場所/期間/時間に制約 厳格なセキュリティ管理 5月 6月 7月 8月 商用 DR データセンタ 商用 ラック電源 工事 機器設置 OS/ ミドル 設定 商用 ミドル 設定 ミドル 単体 テスト ミドル 可用性 テスト データセンタ DR ラック電源 工事 機器設置 OS/ ミドル 設定 商用 ミドル 設定 ミドル 単体 テスト ミドル 結合 テスト ミドル 結合 テスト ミドル 可用性 テスト × × 作業場所/期間/時間 に制約が大きい 場所: 商用環境はデータセンタ での作業が必須 期間: スケジュール通りで構築・テスト を終える必要がある • 作業内容に合わせたお客様 担当者が立ち会う。 急に立会い日をずらせない。 時間: トラブル発生時でも時間延長は 容易ではない (お客様にも残業を強いる)
  • 21. 21Copyright © 2015 NTT DATA Corporation インフラ課題の解決策③データセンタは作業場所/期間/時間に制約 Puppetで構築、 維持管理を実施 • OS設定 • ミドルウエアの構築 ミドルウェア試験の自動化 (今回の発表では詳細は割愛) • サーバ単体テスト: serverspec • 振る舞いテスト: 内部独自ツール 課題 対策 効果 品質向上: 作業ミス等でのサーバごとの差 異が発生がない 学習効果、知識の蓄積: 初期の面の経験をフィードバックできるため、後の面 になるほど失敗が少なく、精度が上がる。 スケジュール確度向上: 後の面になるほどトラブルが減るため、スケジュール通りに進む 確度が高まる。結果、スケジュール圧縮も可能になる。 作業場所/期間/時間 に制約が大きい 構築時と同じ効果が 顕著に効く
  • 22. 22Copyright © 2015 NTT DATA Corporation インフラの課題と解決策 まとめ システムの特徴 解決策 ①社会基盤を担う重 要な大規模システム ②当社にとって新規 顧客、新規システム ③お客様所有データ センタに設置 ①大量/多種/複数面 のサーバ • 効率的かつ不整合な く構築 • 不整合なく変更を反映 する必要がある ②変更要求に対して柔 軟かつ正確な対応が 求められる ③お客様データセンタで は短期間で確実な構 築/試験が求められる インフラの課題 効果 Puppetで構築、 維持管理を実施 ミドルウェア試験 の自動化 品質向上 学習効果、知識の蓄積 スケジュール確度向上 変更のトラッキング 変更の敷居を下げる 品質向上 学習効果、知識の蓄積 スケジュール確度向上 Puppetで構築、 維持管理を実施 ミドルウェア試験 の自動化 Puppetで構築、 維持管理を実施
  • 23. Copyright © 2015 NTT DATA Corporation 23 SIプロジェクトでのPuppet活用方法 • Puppetの使い方 • Puppetの構成、Puppet適用スタイル • Puppet manifest構成 • 商用ソフトのPuppet対応 • Puppetの使い方での工夫は多岐にわたるが、 今回はかいつまんで一部のみ紹介 • 残りは、今後のPuppetユーザ会等で順次紹介していきたい
  • 24. 24Copyright © 2015 NTT DATA Corporation Puppetのシステム構成: Master-Agent構成 商用環境 DR環境 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP 開発環境 (お客様所有) サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシス内結合面 サブシス間結合面 サブシステムA AP DB バッチ AP DB バッチ サブシステムB AP DB AP DB サブシステムC AP DB バッチ AP DB バッチ …AP APAPAP サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ 総合テスト面 … 外部システム結合面 現行システム維持面 非機能テスト面 サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ… 開発環境 (自社内) サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ サブシステムA AP DB バッチ サブシステムB DB サブシステムC …AP AP DB バッチ … … 単体テスト(新規)面 単体テスト(現行)面Puppet Master Puppet Master Puppet Master Puppet Master Puppet Master (非機能テスト面用) Master-Agent構成 • 各環境ごとにPuppet Masterを設置 • Puppet Manifestはgitに一元管理し、 各Masterに配布して使用する Manifest git
  • 25. 25Copyright © 2015 NTT DATA Corporation Puppetのシステム構成: 適用スタイル Agentを手動起動させ、常駐(自動適用)させない • 適用タイミングをコントロールしたい(試験の進捗に合わせて適用したい) • 差分内容を確認したい(不用意に変更してしまわない) サーバ Agent サーバ Agent Puppet Master Manifest サーバ Agent 1. --noopオプションを指定して、diffを表示させる # puppet agent --noop --onetime --no-daemonize 2. diff内容が、意図する内容のみであることを確認 3. agentコマンドで適用する # puppet agent --onetime --no-daemonize
  • 26. 26Copyright © 2015 NTT DATA Corporation Puppet Manifest構成 PuppetlabsのBest Practiceに従う • 「The Puppet Language Style Guide」 • 「Module Fundamentals」 • Puppet Manifest設計方法の議論を内部で散々 行ってきたが、結局Best Practiceと同じになった Node定義 Module DR環境 開発環境 サブシス間 結合面 … … 開発環境 単体テスト (現行)面 オープンソース ミドルA オープンソース ミドルB オープンソース ミドルC 開発環境 サブシス内 結合面 商用環境 開発環境 単体テスト (新規)面 商用 ミドルD 商用 ミドルE 商用 ミドルF できる限り単純化 • if文など制御を極力排除 • テンプレートは値の穴埋めのみ使用 面依存はNode定義に記載する 途中でhieraに乗り換えた
  • 27. 27Copyright © 2015 NTT DATA Corporation 商用ソフトのPuppet対応 商用ソフトは自動化の敵 • 対話型インストーラはPuppet化が困難 コマンドラインインストール、 サイレントインストールあり 対話型しかない Puppet化 オープンソース ミドルウェア 商用ソフト インストール前提条件のみ Puppet化 +手動インストール インストール前提条件 • ユーザ、ディレクトリ作成 • 依存ライブラリインストール • カーネルパラメタ設定 等 前提条件の整備だけでも一定の効果あり • 条件がそろうので、手動インストールが 失敗しにくい • 単純インストール時間のみで済む Puppet化の考え方 • 全サーバに導入するソフトを優先する • 運用エージェント(ジョブ、監視等) • アンチウィルス等セキュリティ • ライセンス費用の高い重要ソフトウェアは、専 任担当者が付くので手動インストールでもそ れほど問題にならなかった
  • 28. Copyright © 2015 NTT DATA Corporation 28 おわりに
  • 29. 29Copyright © 2015 NTT DATA Corporation おわりに 今後、Puppetユーザ会を通じて話していきたい内容 • Puppet Best Practice • PuppetをSIプロジェクトで適用する場合のノウハウ、テクニック • インフラテスト自動化 等、皆さんに情報提供しつつ議論を深めていきたい SIプロジェクトでインフラ自動化は非常に役立つ。 積極的に推進していきたい。 大規模プロジェクトでの インフラ自動化事例を紹介 1. なぜ自動化を行うのか、インフラの課題と解決策 2. SIプロジェクトでのPuppet活用方法
  • 30. Copyright © 2011 NTT DATA Corporation Copyright © 2015 NTT DATA Corporation