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
?Veri?ca0on
?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に関する詳細もこちらに適宜アップしていきますので、
?
ぜひ参加登録を!