でぶさみ夏2013 キーノート オレンジレンジャーの資料
DESCRIPTION
でぶさみ夏2013 キーノートのリレートークでとりを努めた オレンジレンジャーの資料です。TRANSCRIPT
Summit Developers
Developers Summit 2013 Summer
サンドボックスから開放せよ!
藤井智弘 日本ヒューレット・パッカード㈱
S1 #natsumiS1
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のベストプラクティス
Summit Developers
Developers Summit 2013 Summer
“エンタープライズ”,” DevOps”?
“サンドボックス”タイプ “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 !
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 !
スキル みんなが“アジャイル“ってわけじゃない みんなが“プログラマー”ってわけじゃない みんなが“遊んでる”ってわけじゃない
別にそんなに頻繁に“リリース”しない
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 !
OpsDev DevOps
プロセスの標準化
プロセスの自動化
コラボレーションと共有
アプリケーションのデリバリ・ パイプラインの標準化
サービスの標準化とデリバリ・ モデルの工業化
ビルドとテスト、開発とテストのためのプロビジョニング環境構築の自動化
自動リリース、環境のプロビジョニング、モニタリングと再配布
開発ーテストービルドーリリースのコラボレーション
LOBや外部サービスプロバイダとのコラボレーション
スピード&ビジネス俊敏性 効率化と低コストの推進
ビジネス成果の最大化
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
プロセス成熟度 最小限のリスクとコストで、ビジネス目標を達成するための全体的なプロセスの継続的な評価
可視性と予測可能性の為にプロセス品質とパフォーマンスの測定
プロセスがうまく特徴付けられ組織間をまたがって標準化されている
プロセスは管理されているが標準化はされていない
プロセスは予測不可能でコントロールが貧弱でリアクティブな対応
プロセス自動化 自己学習と自己修復を通じたメトリック分析を利用し自動化プロセスの継続的な改善
自動化プロセスに対しビジネス目標のためのメトリックの収集と分析
アプリケーションのライフサイクル全体で集中での自動化プロセス
サイロ化された環境で自動化。インフラの標準化もされていない
自動化はない
コラボレーションと共有
コラボレーションは、効果的かつ継続的な知識の共有と個別エンパワーメントのために最適化
非効率性とボトルネック特定のため測定されるコラボレーションプロセス
プロセスに統合されたツールと共有された責任範囲のもとチーム間でのコラボレーションが実現
管理されたコミュニケーションとコーディネーション。いくつかの共有された意志決定
貧弱な基盤、アドホックなコミュニケーション意志決定は独立して行われる
成熟度モデルによる段階的アプローチ
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 !
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 !
リリース ユーザー受入テスト
パフォーマンス&セキュリティ テスト
リグレッション テスト
コード 修正
機能 テスト ビルド
欠陥対応 欠陥対応
エラー対策
ユーザーフィードバック対応
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 !
開発
品質
保証
運用
ステ
ー
ジン
グ
リリース ユーザー受入テスト
パフォーマンス&セキュリティ テスト
リグレッション テスト
コード 修正
機能 テスト ビルド
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 !
ステージに応じた… ーテストの種別 ー完了基準 の連鎖が、プロセスによる品質の向上を実現する
開発
品質
保証
運用
ステ
ー
ジン
グ
リリース ユーザー受入テスト
パフォーマンス&セキュリティ テスト
リグレッション テスト
コード 修正
機能 テスト ビルド
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)
リリース ユーザー受入テスト
パフォーマンス&セキュリティ テスト
リグレッション テスト
コード 修正
機能 テスト ビルド
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
開発
品質
保証
ステ
ー
ジン
グ
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
開発
品質
保証
ステ
ー
ジン
グ
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
“アプリケーション“ “プラットフォーム“ “インフラ“
開発
品質
保証
ステ
ー
ジン
グ
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 !
インフラの定義 ミドルウェアの設定
ノードへのマッピング
処理ワークフローの定義
“モデル駆動”により、プログラマーでなくとも 環境定義が可能に
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
16
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
リリース ユーザー受入テスト
パフォーマンス&セキュリティ テスト
リグレッション テスト
コード 修正
機能 テスト ビルド
Summit Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化③実行形態
17
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
Summit Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化③“バッチ“
18
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
テスティングホスト
Summit Developers
Developers Summit 2013 Summer
リリース・プロセスの効率化③“バッチ“
19
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
テスティングホスト
スケジュールでリソースの最大限活用
Summit Developers
Developers Summit 2013 Summer
リリース ユーザー受入テスト
パフォーマンス&セキュリティ テスト
リグレッション テスト
コード 修正
機能 テスト ビルド
リリース・プロセスの効率化
20
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
開発
品質
保証
運用
ステ
ー
ジン
グ
①“ビルド検証テスト“により、リリースプロセスの各段階での品質検証のスキームを確立し、確実な実行を促進する(質の向上、ガバナンス視点) ②“モデル駆動“により構成の維持管理を簡便にするとともに、開発者側が適切な環境をミスなく構築できる ③スケジュール実行で、テスト用のリソースを最大活用する
Summit Developers
Developers Summit 2013 Summer
リリース ユーザー受入テスト
パフォーマンス&セキュリティ テスト
リグレッション テスト
コード 修正
機能 テスト ビルド
リリース・プロセスの効率化成熟化
21
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
開発
品質
保証
運用
ステ
ー
ジン
グ
①“ビルド検証テスト“により、リリースプロセスの各段階での品質検証のスキームを確立し、確実な実行を促進する(質の向上、ガバナンス視点) ②“モデル駆動“により構成の維持管理を簡便にするとともに、開発者側が適切な環境をミスなく構築できる ③スケジュール実行で、テスト用のリソースを最大活用する
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で、新しい開発アプローチを “サンドボックス”から開放しよう!
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に関する詳細もこちらに適宜アップしていきますので、 ぜひ参加登録を!
Summit Developers
Developers Summit 2013 Summer
It’s your turn.