visual studio onlineで実践するdevops手法
TRANSCRIPT
© 2015 Takashi Takebayashi
Microsoft MVP for Visual Studio and Development Technologies TFSUG Takashi Takebayashi
@changeworlds
Visual Studio Onlineで
実践するDevOps手法
© 2015 Takashi Takebayashi
第29回 TFSUG東京 Visual Studio OnlineでDevOps
© 2015 Takashi Takebayashi
Hi everyone,
© 2015 Takashi Takebayashi
DevOpsとは何か?
DevOpsの実践
DevOpsのデモ
Agenda
© 2015 Takashi Takebayashi
DevOpsとは何か?
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
「DevOps とは
自Infrastructure as Code のことだ!」
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
「DevOps とは
自Infrastructure as Code のことだ!」
「DevOps とは
自Docker/Chef/Puppet/etcを使う ことだ!」
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
「DevOps とは
自Infrastructure as Code のことだ!」
「DevOps とは
自Docker/Chef/Puppet/etcを使う ことだ!」
我こそ真のDevOps
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
「DevOps とは
自Infrastructure as Code のことだ!」
「DevOps とは
自Docker/Chef/Puppet/etcを使う ことだ!」
我こそ真のDevOps 我こそ元祖DevOps
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
「DevOps とは
自Infrastructure as Code のことだ!」
「DevOps とは
自Docker/Chef/Puppet/etcを使う ことだ!」
我こそ真のDevOps
我こそ本家DevOps
我こそ元祖DevOps
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
「DevOps とは
自Infrastructure as Code のことだ!」
「DevOps とは
自Docker/Chef/Puppet/etcを使う ことだ!」
我こそ真のDevOps
我こそ本家DevOps
我こそ元祖DevOps 我こそ最新のDevOps
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
「DevOps とは
自Infrastructure as Code のことだ!」
「DevOps とは
自Docker/Chef/Puppet/etcを使う ことだ!」
我こそ真のDevOps
我こそ本家DevOps
我こそ元祖DevOps 我こそ最新のDevOps
我こそ本命のDevOps
© 2015 Takashi Takebayashi
「DevOps とは
DevとOpsの コラボレーション のことだ!」
「DevOps とは
毎日頻繁に デプロイする ことだ!」
「DevOps とは
自動化 のことだ!」
「DevOps とは
自Infrastructure as Code のことだ!」
「DevOps とは
自Docker/Chef/Puppet/etcを使う ことだ!」
我こそ真のDevOps
我こそ本家DevOps
我こそ元祖DevOps 我こそ最新のDevOps
我こそ本命のDevOps
群盲象を評す
© 2015 Takashi Takebayashi
そもそもの始まり・原典
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
Dev vs Ops
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
Why?
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
Ops’s job is…
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
Ops’s job is…
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
The business requires change
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
Changeにはリスクがある
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
Lowering risk of change
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
DevOps
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
DevOps elements
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
© 2015 Takashi Takebayashi
DevOpsの価値/原則/プラクティス
Value
PrinciplePractices
価値を共有
基本方針具体的な内容を現場に
フィットさせる
© 2015 Takashi Takebayashi
Tools Culture
DevOps Value
© 2015 Takashi Takebayashi
Tools <-Flickr Culture <-Flickr
DevOps Value
© 2015 Takashi Takebayashi
Product <-Flickr’s Tool Process <-Flickr’s Culture People <-Flickr’s Culture
DevOps Value
© 2015 Takashi Takebayashi
DevOps PracticesInfrastructure as Code (IaC) Continuous Integration (CI) Automated Testing Application Performance Monitoring/Management (APM) Continuous Deployment/Delivery (CD) Release Management Configuration Management
Advanced Monitoring Capacity Management Feature Flags Self-Service Environments Automated Recovery (Rollback & Roll-Forward) Hypothesis Driven Development
Testing in Production Fault Injection Usage Monitoring/Telemetry A/B Testing (aka canary testing)
http://www.itproguy.com/devops-practices/
© 2015 Takashi Takebayashi
DevOps PracticesInfrastructure as Code 継続的インテグレーション 自動テスト アプリのパフォーマンス監視/管理
継続的デプロイ/デリバリ リリース管理 構成管理
高度な監視
容量管理
機能フラグ
セルフサービス環境
自動回復(Rollback & Roll-Forward)
仮説駆動開発
本番環境でのテスト
フォールトインジェクション
使用状況監視/テレメトリ
A/Bテスト(aka canary testing)http://www.itproguy.com/devops-practices/
© 2015 Takashi Takebayashi
DevOpsの実践
© 2015 Takashi Takebayashi
DevOps
ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01
© 2015 Takashi Takebayashi
DevOps
ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01
© 2015 Takashi Takebayashi
計画要求定義
作業の進捗の追跡Infrastructure as Code (IaC) かんばん(見える化)
© 2015 Takashi Takebayashi
DevOps
ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01
© 2015 Takashi Takebayashi
開発 + テスト(テスト)コードの記述
単体テスト
ヴァージョン管理
ビルド
ビルドのテスト
構成管理
継続的インテグレーション
自動テスト
© 2015 Takashi Takebayashi
DevOps
ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01
© 2015 Takashi Takebayashi
リリースQA環境での自動テスト
QA環境での総合テスト
ステージング環境でのテスト
継続的デプロイ/デリバリ
リリース管理
© 2015 Takashi Takebayashi
DevOps
ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01
© 2015 Takashi Takebayashi
運用 + 監視監視
フィードバック
アプリのパフォーマンス監視/管理 高度な監視 容量管理
自動回復(Rollback & Roll-Forward)
仮説駆動開発
本番環境でのテスト
フォールトインジェクション
使用状況監視/テレメトリ
A/Bテスト(aka canary testing)
© 2015 Takashi Takebayashi
フェーズ毎に異なるプラクティス計画
開発 + テスト
リリース
運用 + 監視
Infrastructure as Code (IaC)
かんばん(見える化)…etc
構成管理
継続的インテグレーション…etc
継続的デプロイ/デリバリ
リリース管理…etc
アプリのパフォーマンス監視/管理
高度な監視…etc
© 2015 Takashi Takebayashi
Visual Studio OnlineによるDevOpsのデモInfrastructure as Code 継続的インテグレーション 自動テスト アプリのパフォーマンス監視/管理
継続的デプロイ/デリバリ リリース管理 構成管理
高度な監視
容量管理
機能フラグ
セルフサービス環境
自動回復(Rollback & Roll-Forward)
仮説駆動開発
本番環境でのテスト
フォールトインジェクション
使用状況監視/テレメトリ
A/Bテスト(aka canary testing)http://www.itproguy.com/devops-practices/
© 2015 Takashi Takebayashi
Visual Studio OnlineによるDevOpsのデモInfrastructure as Code 継続的インテグレーション 自動テスト アプリのパフォーマンス監視/管理
継続的デプロイ/デリバリ リリース管理 構成管理
高度な監視
容量管理
機能フラグ
セルフサービス環境
自動回復(Rollback & Roll-Forward)
仮説駆動開発
本番環境でのテスト
フォールトインジェクション
使用状況監視/テレメトリ
A/Bテスト(aka canary testing)http://www.itproguy.com/devops-practices/
次のセッション
© 2015 Takashi Takebayashi
サーバーの構成変更を自動化!
Infrastructure as Codeとは何か?
© 2015 Takashi Takebayashi
サーバーの構成変更を自動化!
Infrastructure as Codeとは何か?
✘
© 2015 Takashi Takebayashi
インフラをすべてソフトウェアとしてコードで扱うことでアプリケーション開発で行われてきた様々な“ワークフロー”をインフラ作業の世界にも導入するもの
e.g. 継続的インテグレーション、自動テスト、
継続的デプロイ/デリバリ…etc
Infrastructure as Codeとは何か?
© 2015 Takashi Takebayashi
Infrastructure as Codeの続きは 次のセッションで!
© 2015 Takashi Takebayashi
DevOpsのDemo
© 2015 Takashi Takebayashi
Any questions?
© 2015 Takashi Takebayashi
Takashi Takebayashi @changeworlds Microsoft MVP for Visual Studio and Development Technologies
Blog : http://changesworlds.com/ Role : Scrum Master, Agile Coach Writing : Build Insider, mynavinews Community : スクラム道, TFSUGコアメンバ
Speaker
© 2015 Takashi Takebayashi
Thank you for your attention