visual studio onlineで実践するdevops手法

52
© 2015 Takashi Takebayashi Microsoft MVP for Visual Studio and Development Technologies TFSUG Takashi Takebayashi @changeworlds Visual Studio Online実践するDevOps手法 © 2015 Takashi Takebayashi 29TFSUG東京 Visual Studio OnlineDevOps

Upload: takashi-takebayashi

Post on 13-Apr-2017

1.279 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Visual Studio Onlineで実践するDevOps手法

© 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

Page 2: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Hi everyone,

Page 3: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOpsとは何か?

DevOpsの実践

DevOpsのデモ

Agenda

Page 4: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOpsとは何か?

Page 5: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

Page 6: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

Page 7: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

Page 8: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

「DevOps とは

自Infrastructure as Code  のことだ!」

Page 9: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

「DevOps とは

自Infrastructure as Code  のことだ!」

「DevOps とは

自Docker/Chef/Puppet/etcを使う  ことだ!」

Page 10: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

「DevOps とは

自Infrastructure as Code  のことだ!」

「DevOps とは

自Docker/Chef/Puppet/etcを使う  ことだ!」

我こそ真のDevOps

Page 11: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

「DevOps とは

自Infrastructure as Code  のことだ!」

「DevOps とは

自Docker/Chef/Puppet/etcを使う  ことだ!」

我こそ真のDevOps 我こそ元祖DevOps

Page 12: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

「DevOps とは

自Infrastructure as Code  のことだ!」

「DevOps とは

自Docker/Chef/Puppet/etcを使う  ことだ!」

我こそ真のDevOps

我こそ本家DevOps

我こそ元祖DevOps

Page 13: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

「DevOps とは

自Infrastructure as Code  のことだ!」

「DevOps とは

自Docker/Chef/Puppet/etcを使う  ことだ!」

我こそ真のDevOps

我こそ本家DevOps

我こそ元祖DevOps 我こそ最新のDevOps

Page 14: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

「DevOps とは

自Infrastructure as Code  のことだ!」

「DevOps とは

自Docker/Chef/Puppet/etcを使う  ことだ!」

我こそ真のDevOps

我こそ本家DevOps

我こそ元祖DevOps 我こそ最新のDevOps

我こそ本命のDevOps

Page 15: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

「DevOps とは

 DevとOpsの  コラボレーション  のことだ!」

「DevOps とは

 毎日頻繁に  デプロイする  ことだ!」

「DevOps とは

 自動化  のことだ!」

「DevOps とは

自Infrastructure as Code  のことだ!」

「DevOps とは

自Docker/Chef/Puppet/etcを使う  ことだ!」

我こそ真のDevOps

我こそ本家DevOps

我こそ元祖DevOps 我こそ最新のDevOps

我こそ本命のDevOps

群盲象を評す

Page 16: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

そもそもの始まり・原典

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 17: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Dev vs Ops

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 18: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Why?

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 19: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Ops’s job is…

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 20: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Ops’s job is…

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 21: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

The business requires change

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 22: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Changeにはリスクがある

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 23: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Lowering risk of change

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 24: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOps

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 25: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOps elements

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 26: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOpsの価値/原則/プラクティス

Value

PrinciplePractices

価値を共有

基本方針具体的な内容を現場に

フィットさせる

Page 27: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Tools Culture

DevOps Value

Page 28: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Tools  <-Flickr Culture <-Flickr

DevOps Value

Page 29: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Product <-Flickr’s Tool Process <-Flickr’s Culture People <-Flickr’s Culture

DevOps Value

Page 30: Visual Studio Onlineで実践するDevOps手法

© 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/

Page 31: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOps PracticesInfrastructure as Code 継続的インテグレーション 自動テスト アプリのパフォーマンス監視/管理

継続的デプロイ/デリバリ リリース管理 構成管理

高度な監視

容量管理

機能フラグ

セルフサービス環境

自動回復(Rollback & Roll-Forward)

仮説駆動開発

本番環境でのテスト

フォールトインジェクション

使用状況監視/テレメトリ

A/Bテスト(aka canary testing)http://www.itproguy.com/devops-practices/

Page 32: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOpsの実践

Page 33: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOps

ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01

Page 34: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOps

ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01

Page 35: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

計画要求定義

作業の進捗の追跡Infrastructure as Code (IaC) かんばん(見える化)

Page 36: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOps

ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01

Page 37: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

開発 + テスト(テスト)コードの記述

単体テスト

ヴァージョン管理

ビルド

ビルドのテスト

構成管理

継続的インテグレーション

自動テスト

Page 38: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOps

ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01

Page 39: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

リリースQA環境での自動テスト

QA環境での総合テスト

ステージング環境でのテスト

継続的デプロイ/デリバリ

リリース管理

Page 40: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOps

ALMとDevOpsとリーンスタートアップは何が違うのか? - Build Insider http://www.buildinsider.net/enterprise/almessentials/01

Page 41: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

運用 + 監視監視

フィードバック

アプリのパフォーマンス監視/管理 高度な監視 容量管理

自動回復(Rollback & Roll-Forward)

仮説駆動開発

本番環境でのテスト

フォールトインジェクション

使用状況監視/テレメトリ

A/Bテスト(aka canary testing)

Page 42: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

フェーズ毎に異なるプラクティス計画

開発 + テスト

リリース

運用 + 監視

Infrastructure as Code (IaC)

かんばん(見える化)…etc

構成管理

継続的インテグレーション…etc

継続的デプロイ/デリバリ

リリース管理…etc

アプリのパフォーマンス監視/管理

高度な監視…etc

Page 43: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Visual Studio OnlineによるDevOpsのデモInfrastructure as Code 継続的インテグレーション 自動テスト アプリのパフォーマンス監視/管理

継続的デプロイ/デリバリ リリース管理 構成管理

高度な監視

容量管理

機能フラグ

セルフサービス環境

自動回復(Rollback & Roll-Forward)

仮説駆動開発

本番環境でのテスト

フォールトインジェクション

使用状況監視/テレメトリ

A/Bテスト(aka canary testing)http://www.itproguy.com/devops-practices/

Page 44: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Visual Studio OnlineによるDevOpsのデモInfrastructure as Code 継続的インテグレーション 自動テスト アプリのパフォーマンス監視/管理

継続的デプロイ/デリバリ リリース管理 構成管理

高度な監視

容量管理

機能フラグ

セルフサービス環境

自動回復(Rollback & Roll-Forward)

仮説駆動開発

本番環境でのテスト

フォールトインジェクション

使用状況監視/テレメトリ

A/Bテスト(aka canary testing)http://www.itproguy.com/devops-practices/

次のセッション

Page 45: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

サーバーの構成変更を自動化!

Infrastructure as Codeとは何か?

Page 46: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

サーバーの構成変更を自動化!

Infrastructure as Codeとは何か?

Page 47: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

インフラをすべてソフトウェアとしてコードで扱うことでアプリケーション開発で行われてきた様々な“ワークフロー”をインフラ作業の世界にも導入するもの

e.g. 継続的インテグレーション、自動テスト、

継続的デプロイ/デリバリ…etc

Infrastructure as Codeとは何か?

Page 48: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Infrastructure as Codeの続きは 次のセッションで!

Page 49: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

DevOpsのDemo

Page 50: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Any questions?

Page 51: Visual Studio Onlineで実践するDevOps手法

© 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

Page 52: Visual Studio Onlineで実践するDevOps手法

© 2015 Takashi Takebayashi

Thank you for your attention