10 年前から始まった マイクロソフトの DevOps ~ 今とこれから

10 年前から始まった
マイクロソフトの DevOps
~ 今とこれから ~
日本マイクロソフト
エバンジェリスト
高添 修・長沢 智治
Microsoft Architect Forum 2013
Agenda
正しいアーキテクチャーの重要性は誰もが知るところ
ただし、どんなアーキテクチャーであってもやるべきことがある




Dynamic Systems Initiative (2003.05)
既存、あるいは
新しいシステムの
モデルを作成
モデルに則した
システム運用
Job
Merc.
Stage
SQL
Feed
Store
DSS
Cache
必要なリソース
HTTP
運用特性
Shuttle
FTP
運用ポリシー
モデルに則した自動的なリソース確保
とシステム構成
ITライフサイクルをつなぐ
共通定義モデル
サーバー
ストレージ
ネットワーク
Oslo (2007.10)
Visual Studio
Quadrant
Runtimes
“F5”
•
•
•
•
•
•
Oslo Process Server
System Center DCM
Visual Studio TFS
SharePoint
RedDog
…
Export
*.sq
l
Repository
dc.exe
*.d
Instances &
Observations
Compile
Converters
•
•
•
•
Models
XAML (WF, WPF, …)
SML / CML
WSDL
…
*.csdl
*.ssdl
*.msl
…
Loaders
•
•
•
•
CLR Metadata
Active Directory
WMI / WS-Man
…
Adapters
• SAP
• MQ
• …
ビジネスと IT
 ビジネスのトレンド
利用者への
直接的な貢献
 IT の戦略的な役割
クラウド時代の到来
戦略的な IT への変化
1990年代
2000年代
Business
2010年代
Business
IT
便利
IT
IT
有効
Cost Center
 確立したビジネスモデル
 全体計画→全体リリース
 技術的な意思決定は
IT 部門
クライアント/サーバー
Business
不可欠
Key Infrastructure
Morphing IT
 ビジネスモデルに
IT が関与
 ニーズに応じたリリース
 技術的な方向性は
経営者層へ
 ビジネスを IT がけん引
 ジャスト イン タイム
 IT 計画と投資は、
顧客中心に
Web / Web サービス
デバイスとサービス
DevOps: ビジネスにフォーカス
要求
Define
ビジネス
価値の創発
開発
運用
Operate
Develop
アイデアを
動くソフトウェアへ
動くソフトウェア
ソフトウェアを
ビジネス価値として提供
DevOps: バリアによる損失
要求
Define
ビジネス
価値の創発
開発
運用
| |
Operate
Develop
アイデアを
動くソフトウェアへ
動くソフトウェア
ソフトウェアを
ビジネス価値として提供
DevOps: 継続的に価値を提供
継続的フィードバック | 継続的品質 | 継続的デリバリー
要求
Define
ビジネス
価値の創発
開発
運用
Operate
Develop
アイデアを
動くソフトウェアへ
動くソフトウェア
ソフトウェアを
ビジネス価値として提供
高い透明性 | 価値の流れ | ムダ取り
DevOps: 課題
要求
運用が欠如した
受け入れ基準
実行可能なフィードバックの
欠如による MTTR の長期化
価値との相関関係が不明瞭
技術的負債
の蓄積
デバッグが困難な本番環境で
の対応
本番稼働中の障害への対応
運用を考慮した
設計の欠如
開発
運用
長い開発とテスト
の仕掛かり
運用準備が整わない
ソフトウェア
長いデプロイの仕掛かり
動くソフトウェア
開発と運用のワークフローの
相違と分離
DevOps: Operation Readiness
 開発における運用への備えを
運用要件を満たしていないソフトウェア
 最終的な段階での阻害要因となる
Problem  本番稼働時に情報収集が困難となる害要因になる
早期の要求獲得と品質の作りこみ
 運用の受け入れ駆動開発 (ATDD), ラボによる自動化
Solution
 継続的インテグレーション, 継続的デプロイメント害要因になる
ビジネス価値に到達するソフトウェアへ
Value
 ソフトウェアをビジネス価値として提供する
 サイクルタイムを短縮できる
DevOps: Operation Readiness
 開発における運用への備えを
開発
運用要件含めた品質の作りこみ
要求
継続的な開発とテスト
テスト
疑似本番環境でのテスト
運用要件
(ログ/QoS)
DevOps: Just-in-Time Delivery
 開発のアジリティと継続的カイゼンへ
顧客ニーズにアラインできない開発サイクル
 ビジネス価値の提供が不定期となり、ユーザーの期待に応えられない
Problem  開発サイクルが定まらず、品質とデリバリーがビジネスに合わない害要
アジャイルプラクティスとカイゼン
 スクラムのフレームワークによる「検査と適応」
Solution
 継続的にフィードバックを得る仕組みと体質づくり害要因になる
ビジネス価値に到達するソフトウェアへ
Value
 適切なビジネス価値を定期的に提供し続ける
 サイクルタイムの短縮と QCDS のバランス調整ができる
DevOps: Just-in-Time Delivery
 開発のアジリティと継続的カイゼンへ
スクラムマスター
デイリースクラム
スプリント
(2週間)
PRIORITIZE
プロダクト
オーナー
PLAN
EXECUTE
チーム
RESPOND
DevOps: Mean time to Repair
 本番稼働中の対応の最適化へ
運用中の障害検出と解決が極めて困難
 高い MTTR によるビジネス価値への浸食
Problem  継続的なフィードバックへの阻害になる
本番稼働環境でも開発プラクティスを実践
 本番環境相当でのテストの継続的な実施 (仮想テスト環境)
Solution
 統合されたインシデント管理, 本番環境でのデバッグの実践害要因になる
MTTR の短縮
Value
 ソフトウェアをビジネス価値として提供し続ける
 サイクルタイムを短縮できる
DevOps: Mean time to Repair
 開発における運用への備えを
運用の問題解決フロー
開発の問題解決フロー
問題検知
問題受入
改修依頼
分析調査
開発
運用
情報提供
改修
解決確認
問題解決
問題解決
継続的な流れを生む仕組みへ
継続的運用テスト
継続的フィードバック
継続的インテグレーション
継続的テスト
継続的デプロイメント
“MTTR 短縮” のためのアプリ監視
アラート
より詳細な情報
動作パターン識別
監視から開発のアサイン
Visual Studio から
確認したところ
開発のアサイン
Ops & Dev Tool のアラート連携
Web テストと世界から自動監視
世界中にある
マイクロソフトの
データセンターから監視
Visual Studio にて
テスト定義ファイル
.webtest の保存
Operations Manager
Global Service Monitor
レスポンスだけ見ても
こんなに違いが !
ビルドとアプリ管理の自動化
Orchestrator
Orchestrator への
インプット
Orchestrator から
受け取り
実際の業務処理
(普通のコード)
自動
プロセスへ
Integration Pack
TFS 連携による
開発環境管理の
自動化
開発とテスト環境の構築
Virtual Machine
Manager
開発環境用の
プライベートクラウドを
自動構築
リソースの解放と制限
開発者用のツールから
仮想マシンを管理
※ スナップショットも
ビジネスのための IT には必須
 できていないのであれば、ぜひともご検討を
Microsoft Architect Forum 2013
Resources
概念とソリューションについて
 Enterprise DevOps ホワイトペーパー (英語)


http://aka.ms/EntDevOpsWp
ソフトウェア開発環境の最新動向と出張セミナー

http://aka.ms/ALMjp
マイクロソフト製品による実現方法について

Integrating Operations Manager with Development Processes (DevOps) Topics


http://technet.microsoft.com/ja-jp/library/jj614609.aspx
How to Synchronize Alerts with TFS in System Center 2012 SP1

http://technet.microsoft.com/ja-jp/library/jj614615.aspx
Microsoft Architect Forum 2013