2. Summit
Developers
Developers Summit 2013 Summer
自己紹介
• 藤井智弘
• 日本ヒューレット・パッカード㈱
ソフトウェア事業統括
ALM技術部マネージャー
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
ディシプリンド・アジャイル・
デリバリー
エンタープライズ・アジャイル実践ガイド
アジャイル開発の本質とスケールアップ
変化に強い大規模開発を成功させる
14のベストプラクティス
4. Summit
Developers
Developers Summit 2013 Summer
“BETA”なエンタープライズの特質
“BETA”タイプ
しがらみ
他システム
利害関係者
確立された部門・組織
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
スキル
みんなが“アジャイル“ってわけじゃない
みんなが“プログラマー”ってわけじゃない
みんなが“遊んでる”ってわけじゃない
別にそんなに頻繁に“リリース”しない
5. Summit
Developers
Developers Summit 2013 Summer
ギャップは、“BETA”なればこそ
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
OpsDevDevOps
プロセスの標準化
プロセスの自動化
コラボレーションと
共有
アプリケーションのデリバリ・
パイプラインの標準化
サービスの標準化とデリバリ・
モデルの工業化
ビルドとテスト、開発とテストのた
めのプロビジョニング環境構築の
自動化
自動リリース、環境のプロビジョニ
ング、モニタリングと再配布
開発ーテストービルドーリリースの
コラボレーション
LOBや外部サービスプロバイダと
のコラボレーション
スピード&ビジネス俊敏性
効率化と低コストの推進
ビジネス成果の最大化
6. Summit
Developers
Developers Summit 2013 Summer
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
Initial
Managed
Defined
Measured
Optimized
プロセス成熟度
最小限のリスクとコストで、ビ
ジネス目標を達成するため
の全体的なプロセスの継続
的な評価
可視性と予測可能性の為に
プロセス品質とパフォーマン
スの測定
プロセスがうまく特徴付けら
れ組織間をまたがって標準
化されている
プロセスは管理されているが
標準化はされていない
プロセスは予測不可能でコン
トロールが貧弱でリアクティ
ブな対応
プロセス自動化
自己学習と自己修復を通じ
たメトリック分析を利用し自
動化プロセスの継続的な改
善
自動化プロセスに対しビジネ
ス目標のためのメトリックの
収集と分析
アプリケーションのライフサイ
クル全体で集中での自動化
プロセス
サイロ化された環境で自動
化。インフラの標準化もされ
ていない
自動化はない
コラボレーションと共有
コラボレーションは、効果的
かつ継続的な知識の共有と
個別エンパワーメントのため
に最適化
非効率性とボトルネック特定
のため測定されるコラボレー
ションプロセス
プロセスに統合されたツール
と共有された責任範囲のもと
チーム間でのコラボレーショ
ンが実現
管理されたコミュニケーショ
ンとコーディネーション。いく
つかの共有された意志決定
貧弱な基盤、アドホックなコ
ミュニケーション意志決定は
独立して行われる
成熟度モデルによる段階的アプローチ
7. Summit
Developers
Developers Summit 2013 Summer
アクティビティベースの成熟度モデル
7
0
1
2
3
4
ビルド管理 /
CI
構成管理/DSL
インフラのデプロ
イ
アプリケーション
デプロイ
テスト
リリース管理
データ管理・移行
ワークロード管理
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
8. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
リリース
ユーザー
受入テス
ト
パフォーマ
ンス&セ
キュリティ
テスト
リグレッ
ション
テスト
コード
修正
機能
テスト
ビルド
欠陥対応
欠陥対応
エラー対策
ユーザーフィードバック
対応
9. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化①品質保証の観点
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
開発
品質保証
運用
ステー
ジング
リリース
ユーザー
受入テス
ト
パフォーマ
ンス&セ
キュリティ
テスト
リグレッ
ション
テスト
コード
修正
機能
テスト
ビルド
10. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化①品質保証の観点
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
ステージに応じた…
ーテストの種別
ー完了基準
の連鎖が、プロセスによる品質の向上を実現する
開発
品質保証
運用
ステー
ジング
リリース
ユーザー
受入テス
ト
パフォーマ
ンス&セ
キュリティ
テスト
リグレッ
ション
テスト
コード
修正
機能
テスト
ビルド
11. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化①品質保証の観点
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
開発
品質保証
運用
ステー
ジング
開発BVT
品質検証BVT
ステージングBVT
どのステージで
どのタイプのテストを
どのテストケースで
ビルドのステージに応じた検証スキームをあらたに導入
ビルド検証テスト(BVT:Build
Verifica0on
Test)
リリース
ユーザー
受入テス
ト
パフォーマ
ンス&セ
キュリティ
テスト
リグレッ
ション
テスト
コード
修正
機能
テスト
ビルド
12. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化②環境
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
Build
5
Pet
Clinic
v
10.0
Java,
TomCat,
MySQL
1
Proliant,
2
VMs,
4
CPUs
Build
6
Pet
Clinic
v
10.0
Java,
WebSphere,
Oracle
2
HP
Blade,
8
VMs,
8
CPUs
Build
6
Pet
Clinic
v
10.0
Java,
TomCat,
mySQL
1
Proliant,
2
VMs,
4
CPUs
開発
品質保証
ステー
ジング
13. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化②環境
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
Build
5
Pet
Clinic
v
10.0
Java,
TomCat,
MySQL
1
Proliant,
2
VMs,
4
CPUs
Build
6
Pet
Clinic
v
10.0
Java,
WebSphere,
Oracle
2
HP
Blade,
8
VMs,
8
CPUs
Build
6
Pet
Clinic
v
10.0
Java,
TomCat,
mySQL
1
Proliant,
2
VMs,
4
CPUs
付随する各種の処理フロー
• インストール/アンインストール
• 事前処理(環境の操作)
• サーバーの起動/終了
• デプロイ
• デプロイエラー時の後処理
etc
開発
品質保証
ステー
ジング
14. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化②環境
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
Pet
Clinic
v
10.0
1
Proliant,
2
VMs,
4
CPUs
2
Proliant,
4
VMs,
8
CPUs
1
HP
Blade,
4
VMs,
8
CPUs
2
HP
Blade,
8
VMs,
8
CPUs
Java,
WebSphere,
Oracle
Java,
JBoss,
mySQL
Java,
WebSphere,
mySQL
Java,
TomCat,
MySQL
“アプリケーション“
“プラットフォーム“
“インフラ“
開発
品質保証
ステー
ジング
15. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化②環境
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
インフラの定義
ミドルウェアの設定
ノードへのマッピング
処理ワークフローの定義
“モデル駆動”により、プログラマーでなくとも
環境定義が可能に
16. Summit
Developers
Developers Summit 2013 Summer
開発
品質保証
運用
ステー
ジング
リリース・プロセスの効率化②環境
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
開発BVT
品質検証BVT
ステージングBVT
1
6
JBOSS7.11/
MySQL5.7
CentOS6.4
2CPU/4G
memory
App
ver0.2
JOBSS7.11/
MySQL5.6
CentOS6.3
4CPU/8G
memory
App
ver0.3
Weblogic
Server12
RHEL
6.4
4CPU/8G
memory
App
ver0.9
Oracle
SE
one
11g
RHEL
6.4
4CPU/8G
memory
Weblogic
Server12
RHEL
6.4
8CPU/16G
memory
App
ver1.0
Oracle
SE
SE
11g
RHEL
6.4
8CPU/12G
memory
リリース
ユーザー
受入テス
ト
パフォーマ
ンス&セ
キュリティ
テスト
リグレッ
ション
テスト
コード
修正
機能
テスト
ビルド
17. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化③実行形態
1
7
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
プロジェクトA
192.168.14.56
192.168.14.91
プロジェクトB
プロジェクトC
18. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化③“バッチ“
1
8
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
プロジェクトA
192.168.14.56
192.168.14.91
プロジェクトB
プロジェクトC
テスティングホスト
19. Summit
Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化③“バッチ“
1
9
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
プロジェクトA
192.168.14.56
192.168.14.91
プロジェクトB
プロジェクトC
テスティングホスト
スケジュールでリソー
スの最大限活用
20. Summit
Developers
Developers Summit 2013 Summer
リリース
ユーザー
受入テス
ト
パフォーマ
ンス&セ
キュリティ
テスト
リグレッ
ション
テスト
コード
修正
機能
テスト
ビルド
リリース・プロセスの効率化
2
0
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
欠陥対応
欠陥対応
エラー対策
欠陥対応
ユーザーフィードバック対応
JBOSS7.11/
MySQL5.7
CentOS6.4
2CPU/4G
memory
App
ver0.2
JOBSS7.11/
MySQL5.6
CentOS6.3
4CPU/8G
memory
App
ver0.3
Weblogic
Server12
RHEL
6.4
4CPU/8G
memory
App
ver0.9
Oracle
SE
one
11g
RHEL
6.4
4CPU/8G
memory
Weblogic
Server12
RHEL
6.4
8CPU/16G
memory
App
ver1.0
Oracle
SE
SE
11g
RHEL
6.4
8CPU/12G
memory
開発
品質保証
運用
ステー
ジング
①“ビルド検証テスト“により、リリースプロセスの各段階で
の品質検証のスキームを確立し、確実な実行を促進する
(質の向上、ガバナンス視点)
②“モデル駆動“により構成の維持管理を簡便にするととも
に、開発者側が適切な環境をミスなく構築できる
③スケジュール実行で、テスト用のリソースを最大活用する
21. Summit
Developers
Developers Summit 2013 Summer
リリース
ユーザー
受入テス
ト
パフォーマ
ンス&セ
キュリティ
テスト
リグレッ
ション
テスト
コード
修正
機能
テスト
ビルド
リリース・プロセスの効率化成熟化
2
1
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
欠陥対応
欠陥対応
欠陥対応
ユーザーフィードバック対応
JBOSS7.11/
MySQL5.7
CentOS6.4
2CPU/4G
memory
App
ver0.2
JOBSS7.11/
MySQL5.6
CentOS6.3
4CPU/8G
memory
App
ver0.3
Weblogic
Server12
RHEL
6.4
4CPU/8G
memory
App
ver0.9
Oracle
SE
one
11g
RHEL
6.4
4CPU/8G
memory
Weblogic
Server12
RHEL
6.4
8CPU/16G
memory
App
ver1.0
Oracle
SE
SE
11g
RHEL
6.4
8CPU/12G
memory
開発
品質保証
運用
ステー
ジング
①“ビルド検証テスト“により、リリースプロセスの各段階で
の品質検証のスキームを確立し、確実な実行を促進する
(質の向上、ガバナンス視点)
②“モデル駆動“により構成の維持管理を簡便にするととも
に、開発者側が適切な環境をミスなく構築できる
③スケジュール実行で、テスト用のリソースを最大活用する
22. Summit
Developers
Developers Summit 2013 Summer
“サンドボックスから開放せよ“
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
“リリースが頻繁でなければDevOpsはいらない”?
“BETA”なエンタープライズにとっては、
リリース可能な品質獲得のスキーム
DevOpsを、“サンドボックス”から開放しよう!
DevOpsで、新しい開発アプローチを
“サンドボックス”から開放しよう!
23. Summit
Developers
Developers Summit 2013 Summer
(おまけ)もしよろしければ…
D E V O P S
M A K E S
Y O U R
L I F E
H A P P Y !
hp.com/jp/alm
HP
ALMのポータルサイトをリニューアルしました。
DevOpsに関する詳細もこちらに適宜アップしていきますので、
ぜひ参加登録を!