Developers Summit 2015 Summer - DevOpsって要は何なのか?
- 2. 2 © 2015 CA. ALL RIGHTS RESERVED.
本日のテーマ
DevOpsって要は何なのか?
1. DevOpsはスタートアップ企業やネット企業のため
のものであり、わが社には関係ない
2. 頻繁にリリースするアプリケーションなぞわが社に
はない。だからDevOpsは必要ない
3. 金融業界は監査や規制が厳しいのでDevOpsの導入
はムリである
4. 当社では開発と運用の間に壁はない。だから
DevOpsを実施している
5. 開発はSIerに任せているので、わが社ではDevOps
の導入はムリである
- 3. 3 © 2015 CA. ALL RIGHTS RESERVED.
DevOpsとは?
DevOps(デブオプス)は、ソフトウェア開発手法の一つ。
開発 (Development) と運用 (Operations) を組み合わせたかばん語
であり、開発担当者と運用担当者が連携して協力する開発手
法をさす。 ただし2013年現時点では厳密な定義は存在しておら
ず、抽象的な概念に留まっている。
DevOpsという単語は2009年のオライリー主催のイベント
「Velocity 2009」において、Flickrのエンジニアにより初め
て公の場で用いられた。
このプレゼンテーションでは「開発と運用が協力することで、
1日に10回以上のペースでリリースが可能にな
る」という発表とともにDevOpsという単語が用いられた。
- 4. 4 © 2015 CA. ALL RIGHTS RESERVED.
P338)
彼らは猫と犬のように喧嘩するのでは
なく、1日に10デプロイを普通に行う
ために共同作業するにはどうすればよ
いかを話し合った。これは、ほとんど
のIT組織が四半期に1度とか年に1度の
ペースでデプロイしていたときの話だ。
1日に10デプロイ!?
- 5. 5 © 2015 CA. ALL RIGHTS RESERVED.
1日に10デプロイは「目的」ではない
競争優位性を維持するため
お客様満足度を高めるため
開発チームと運用チームの連携
1日に10デプロイ
ツール、プロセス、(組織)文化
ビジネスのスピードに
デリバリーのスピードをあわせる
従来にないほどの
デリバリー回数を実現するために
- 6. 6 © 2015 CA. ALL RIGHTS RESERVED.
アプリケーションの種類で考える、DevOps
IT業務 Mode-1
既存システムをしっかり運用し、
同時にデータ保護を確実に実行
する
Mode-2
スタートアップ企業的なやり方
を取り入れ、テクノロジーを
使った新しいビジネスを早期に
立ち上げる
アプリケーションの
タイプ
SoR
Systems of Record
SoE
Systems of Engagement
変化の頻度
/スピード
小 大
リリース回数 少 多
開発プロセス ウォーターフォール アジャイル
アプリケーションの
デリバリー
ITIL DevOps
継続的デリバリー
プラットフォーム オンプレミス クラウド
- 7. 7 © 2015 CA. ALL RIGHTS RESERVED.
DevOpsへの変革を実施した理由と背景
米国の銀行の例
- 8. 8 © 2015 CA. ALL RIGHTS RESERVED.
DevOpsへの変革 - 米国の銀行の例
アプリケーション開発と運用が分断したシーケンシャルなプロセスを
継続的で協調的なプロセスに結合
サービス仮想化でテストのプロセスをモダナイズ
- 9. 9 © 2015 CA. ALL RIGHTS RESERVED.
サービス仮想化でテストのプロセスを変革
CA Service Virtualization
仮想サービスとは:連携するシステムの振る舞い、データ、パフォーマンス
の特徴を捕捉し、シミュレートするテクノロジー
これにより依存する(結合する)システムの制約を解消
- 10. 10 © 2015 CA. ALL RIGHTS RESERVED.
サービス仮想化でテストのプロセスを変革
CA Service Virtualization
仮想サービスとは:連携するシステムの振る舞い、データ、パフォーマンス
の特徴を捕捉し、シミュレートするテクノロジー
これにより依存する(結合する)システムの制約を解消
結合テストや負荷テストを
早期に実施し欠陥を早期検出
テストカバレージの改善
タイムツーマーケットの改善
リリース頻度の増加
テスト環境構築コストの削減
- 11. 11 © 2015 CA. ALL RIGHTS RESERVED.
成果
65% ~
85%
テスト工程における
コスト削減
3ヵ月半 アプリケーション開発
期間の短縮
10時間
1時間
テスト環境をリフ
レッシュするための
ダウンタイム
42日
3日
開発環境をセット
アップするための時間
競合他行と競争しトップ10の銀行になるためには、より俊敏でより確実により高い品質を
維持する必要がありました。CAのソリューションは、より俊敏にビジネスニーズに追随す
るという私たちのアイデンティティを変えつつあります
- 12. 12 © 2015 CA. ALL RIGHTS RESERVED.
DevOpsへの変革を実施した理由と背景
ヨーロッパの銀行の例
テクノロジーの変化
業界の変化
顧客ニーズの変化
- 13. 13 © 2015 CA. ALL RIGHTS RESERVED.
モバイルバンキングアプリケーションを
月30,000回デプロイ
1ヶ月あたりのデプロイ数
- 14. 14 © 2015 CA. ALL RIGHTS RESERVED.
開発プロセスの変遷
スプリント
分析 設計 ビルド テスト デプロイ
スプリント
分析 設計 ビルド テスト デプロイ
継続的デリバリー
スプリントスプリント
分析 設計 ビルド 分析 設計 ビルド テスト デプロイ
アジャイル (スクラム) 開発が短期化できても、結合テスト、
デプロイに時間がかかっていた
テスト デプロイ分析 設計 ビルド
ウォーターフォール
スプリント
分析 設計 ビルド テスト デプロイ
スプリント
分析 設計 ビルド テスト デプロイ
DevOps
デプロイに対して運用チームとの
調整に時間がかかった
- 15. 15 © 2015 CA. ALL RIGHTS RESERVED.
DevOpsチーム
継続的デリバリーからDevOpsへ
継続的デリバリー DevOps
開発チーム 運用チーム
基盤チーム
30人の
コーディネータ
60人の
コーディネータ
開発
エンジニア(6)
運用
エンジニア(3)
プロダクト
オーナー (1)
各DevOpsチームは8~10人構成
180のDevOpsチーム
1~5のアプリケーションをマネージ
プロダクトオーナーが優先度を判断する
アプリケーションの開発とデプロイの責任を各チームが持つ
SIパートナーも、チームにアサインされる
コーディネーターはいない(不要)
- 16. 16 © 2015 CA. ALL RIGHTS RESERVED.
DevOpsチームを新規に発足すると
• 経験のあるメンバーが2~3スプリントの間参加し、チームが自律
的に実践できるように支援
• 継続的インテグレーションに必要なソフトウェアをインストールし
たサーバーをチームに提供
• すべてのDevOpsチームはCIサーバーを持ち、それらは継続的デリ
バリーサーバーに接続されている
CIサーバ
CIサーバ
CIサーバ
継続的デリバリー
サーバー
支払いDevOps
チーム
チャネルDevOps
チーム
預金DevOps
チーム
接続
接続
接続
- 17. 17 © 2015 CA. ALL RIGHTS RESERVED.
リリースを自動化し継続的デリバリーを実現
CA Release Automation
アプリケーションの開発から運用にいたるライフサイクル全体にわたり、
複数層から構成されるWebシステムやクラウド環境に対して、配布作業
フローの設計、テスト、実行といった、アプリケーション配布の自動化を
行うためのソリューション
環境
AP, MW, DB
開発, UAT, 本番
ビルド/CI
保管
テスト プロモートデプロイ構成プロビジョニング
リリース時間とエラーの
削減
タイムツーマーケットの
改善
リリース頻度の増加
ビジネス価値提供
スピードの変革
- 18. 18 © 2015 CA. ALL RIGHTS RESERVED.
CA Release Automation
デプロイ・プロセスをグラフィカルに定義
デプロイ・プロセス
アクション
グラフィカルなフロー定義と設定
- “スクリプトレス”を基本とした設計思想
- 生産性、再利用性
豊富なアクション
- 1500以上のアクション
- 定期的にCAから追加
- お客様自身も作成可能
- 19. 19 © 2015 CA. ALL RIGHTS RESERVED.
CA Release Automation
開発・テスト・本番環境への一貫したデプロイ
開発 結合 ステージング 本番
汎用モデルとデプロイメント・データを分離(成果物、リリースデータと環境の
構成など)することで、あらゆるデプロイメントタイプに対して繰り返し可能/
再利用可能なリリースプロセスを構築可能
開発者
テスター 運用
デプロイの頻度 多 少
環境の複雑性
小 大
- 20. 20 © 2015 CA. ALL RIGHTS RESERVED.
CA Release Automation
他ツール連携によるEnd to Endのプロセス実現
- 21. 21 © 2015 CA. ALL RIGHTS RESERVED.
CA Release Automation
構成管理ツールとの連携
基盤のインストールと構成
基盤の配備・設定
(例:仮想マシン、ストレージ、ネットワーク)
CA Release Automation
アプリのインストールと構成
- 22. 22 © 2015 CA. ALL RIGHTS RESERVED.
CA TechnologiesのDevOpsポートフォリオ
サービス仮想化
結合テストを前倒しし、早期に
品質を担保
テスト自動化
モバイルやWeb UI、API等の
機能テストを自動化
継続的デリバリー
開発~テスト~本番にいたるライフ
サイクル全体のリリースを自動化
Why CA technologies ?
DevOps領域への積極的な投資 ~ 製品開発、企業買収
コモディティ化していないエリアへ注力 ~ サービス仮想化、テストデータ管理
オープンソース、オープンスタンダードとの連携を強化
エンタープライズでの利用に耐えうる性能、スケーラビリティ
- 23. 23 © 2015 CA. ALL RIGHTS RESERVED.
アナリスト、著者、業界やコミュニティのリーダー全員が同意。
DevOpsとは要は:
DevOpsはビジネスの成功を支援するために存在する
スコープは広範だがITが中心
基礎はアジャイルとリーンにある
(組織)文化が非常に重要
フィードバックはイノベーションの燃料
自動化が役立つ
Why: ビジネスの成功を支援するため