Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
運用管理者のための
「開発者からみたDevOps」
Visual Studio 2015 新機能から考える開発者の取り組み
1
ソフトバンク・テクノロジー株式会社(エキスパートエンジニア)古賀 慎一
2015年7月15日(水)
Copyrigh...
このセッションのゴール
DevOps(開発・運用)の違い について知る
開発者の取り組み について知る
新しい時代にどのように対応するか?を考える
Visual Studio+Azure の新機能登場に備えよう!
2
※Visual St...
自己紹介
3
古賀 慎一
Microsoft MVP for Visual Studio ALM
ソフトバンク・テクノロジー株式会社 Project Management Office (PMO) エキスパートエンジニア
 クラウドサービス ...
アジェンダ
 DevOps は世界が違う
 Visual Studio で開発者は何をおこなっているか?
 Visual Studio 新機能にみる開発者の取り組み
 DevOps 一緒に今後のサービス対応に取り組みましょう
4
DevOps は世界が違う
5
DevOps(開発・運用)って何だろう?
6
Construct
Implement
Monitor
Operate
BACKLOG
RELEASE
Plan
Business / Define
Develop
Test
Platform
Re...
DevOpsはビジネスの話 = 開発サイクルと投資
 これまでの投資
 これからの投資
7
大投資 大投資
数年かけて
予算取り・企画立案
5~10年運用
仕組みを変えられずに複雑化
中投資 中投資
時代の変化とニーズに応じて常にアップデー...
DevOpsは参加する人によって見える世界が違う
8 開発完了後に「最後は運用でカバー」となるのは業界の常?
ツールが違う
ゴールが違う
やる事が違う
言葉が違う
会社が違う
歴史が違う
Visual Studio + System Center が DevOpsの主軸
 マイクロソフトの DevOps は2つの製品でなりたっている
Visual Studio (Visual Studio Online / Team Fou...
開発者は何を考えて開発しているのか?
Visual Studio 2015 の新機能から
開発者の取り組みを
イメージしてください
※一部に「わかりやすさ」のために、おおざっぱな表現を使用している部分がありますが、ご了承ください
10
開発者は何をおこなっているか?
11
Visual Studio で何が出来ますか?
 Visual Studio Online のメニューを見るとわかります
 HOME ⇒ ダッシュボード・見える化
 CODE ⇒ ソースバージョン管理
 WORK ⇒ タスク管理・工程管...
Visual Studio を使った開発はだいたいこんな感じ
 HOMEを見てチーム全体の課題がないか?確認
 WORKを見て今日のタスクを確認
 Visual Studio でコードを書いて CODE に入れる
 もちろんTESTも十...
Visual Studio からのリリースは本番運用用ではない
 確かに運用することも出来る(ごく小規模なプロジェクトであれば)
 System Center や PowerShell によって提供されている
リリース・監視・運用に着目した...
新機能にみる開発者の取り組み
15
ちゃんと運用を考えた開発が必要
 Visual Studio から気軽にデプロイできる ≠ 運用出来る
 監視や運用を考慮した設計・開発が必要
 開発者がこれを考えていないときは、追加してもらう必要がある
 どの機能も「正しい作り方」で...
接続済みサービス & Azure AD 認証の構成
 Visual Studio からギャラリーを検索
 アプリで使用するサービスを選択、設定を入力して構成
17
Azure Active DirectoryConnected Servic...
Application Insights ( プレビュー )
 モバイル アプリ& Web アプリ の問題の検出、クラッシュの診断、
利用状況の追跡
Azure, IIS, J2EE サーバー... ホストに関わらず使用可能
18
※一部の...
ちゃんと品質の高いコードを書いてる?
 静的コード分析強化
 NuGetパッケージとしてプロジェクト毎に追加
 自作可能(オープンソース化も進む)
 コードレンズ
 クイックアクション(Light Bulb)
19
コードレンズ (Visual Studio 2013 以降)
 ソースコードをいつ?誰が?どう?変更したかをコードの近くに表示
ここから担当者に連絡出来る(IM, メール, 電話)
 単体テスト結果確認、テスト実行もコードからできる
20...
コードレンズ 強化 "Team Activity View“
 Visual Studio 2015 ではグラフィカルに「見える化」
 メソッド毎:C#, Visual Basic
 ファイル毎:JavaScript, C++, SQL ...
Light Bulb ~リファクタリング&コード分析強化
 コードをリアルタイムに分析、提案を表示
 電球アイコンクリック(Ctril + . )で候補を表示⇒プレビュー⇒実行
22
※図は Visual Studio 2015 RC リリ...
リファクタリング&コード分析が Light Bulb に統合
 名前の変更、不要なusingの削除、属性の追加 etc...
 NuGet からコード分析ルールを取得出来る
Microsoft Code Analysis for Azur...
ちゃんと実際に動かして確認してる?
 診断ツール強化
 タイムラインとIntelliTrace
 メモリー使用率、CPU使用率 etc... はグラフで可視化して確認出来る
 どこからどこまでに何秒かかっているか?すぐに何度でも確認出来...
タイムラインツール・診断ツールとIntelliTrace
 WPFとWindowsストア 8.1アプリの検査・診断・パフォーマンス向上を
 メモリー使用量
 CPU使用率
 かかった時間 etc ...
デバッグ時「見える化」
25
※...
タイムライン+IntelliTraceで強力に見える化
 IntelliTrace(2010以降)
 問題が起こるまでを録画して再生するイメージ - 変数の変化やイベントを確認出来る
 お客様の環境でIntelliTraceログを収集、自...
ちゃんとテストしてる?
以前からある機能
 単体テスト・コード化されたUIテスト(UI自動テスト)
 自動ビルド・自動テスト
新機能
 単体テストを自動で作ってくれる機能「IntelliTest」NEW
27
IntelliTest ~ 単体テストの自動作成
 Create Unit Test - 復活!単体テストコードをメソッドから作成
 Run IntelliTest - 新機能!コードカバレッジ100%テストパターンを作成
28
(旧称:S...
単体テストが作れる開発の方法を解説してます
 単体テスト出来るアプリの作り方を
スライドで解説しています
「ちゃんとした C# プログラムを書けるようになる実践的な方法
~ Visual Studio を使った 高品質・低コスト・保守性の高い...
ちゃんとリリース出来るように作ってる?
 Release Management は DevOps が両者で使えるリリース機能
 ソフトバンク・テクノロジー株式会社 事例 リリースコストが 1/20 に!
http://tech.surviv...
DevOps一緒に今後のサービス対応を
31
今後のクラウドサービス・コンテナへの対応
 Azure は Visual Studio で開発するアプリの配置先
PaaS, IaaS, Docker コンテナ... マクロサービスへ?
 Azure は Visual Studio で開...
マイクロサービス (MSA : Microservices architecture)
 動いているサービスを止めずにアップデートは大変( Amazon.co.jp とか)
 全体で巨大1システムだと変更・リリースが難しい
依存関係が複雑...
Docker はコンテナ型のアプリ仮想化技術
 Microsoft はDocker に力を入れている ⇒ マイクロサービス対応のため?
34
仮想マシン
コンテナ
PaaS
アプリ
ミドルウェア
OS
ハイパーバイザー
ハードウェア
Dock...
ASP.net は コンテナ型のアプリ仮想化技術で動作
 配置はアプリと.NET Coreを一緒に xcopy
オンプレミス
Azure Web Apps / 仮想マシン
Docker / Windows コンテナー
Docker
ht...
データレイク (Data lake) と IoT&ビッグデータ
 今まで
業務システムが目的のデータを収集、それを整形加工、分析へ・・
 これから
IoTで大量に収集される生のデータ(ビッグデータ)
リアルタイムでストリーム処理する流...
開発者と一緒に DevOps を考えていきましょう
 今後ますます、Visual Studio から簡単に(数回クリックするだけで)
クラウドサービスの利用やコンテナ対応が出来るようになる
 運用方法やリリース方法をこれから確立しなければな...
38Copyright© 2015 Shin-ichi Koga All Rights Reserved.
Prochain SlideShare
Chargement dans…5
×

運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み

1 728 vues

Publié le

2015年6月にC#開発者向けの勉強会で登壇した内容を、運用管理者向けに再構成して、20分程で話したスライド資料です。

Publié dans : Technologie
  • Identifiez-vous pour voir les commentaires

運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み

  1. 1. 運用管理者のための 「開発者からみたDevOps」 Visual Studio 2015 新機能から考える開発者の取り組み 1 ソフトバンク・テクノロジー株式会社(エキスパートエンジニア)古賀 慎一 2015年7月15日(水) Copyright© 2015 Shin-ichi Koga All Rights Reserved.
  2. 2. このセッションのゴール DevOps(開発・運用)の違い について知る 開発者の取り組み について知る 新しい時代にどのように対応するか?を考える Visual Studio+Azure の新機能登場に備えよう! 2 ※Visual Studio 2015 RC と de:code 2015 の情報を元にしているため、今後のアップデート・製品版では名称や仕様が異なる可能性があります
  3. 3. 自己紹介 3 古賀 慎一 Microsoft MVP for Visual Studio ALM ソフトバンク・テクノロジー株式会社 Project Management Office (PMO) エキスパートエンジニア  クラウドサービス Online Service Gate® で TFS 導入事例 http://tech.surviveplus.net/archives/1114  前職では 某大手 情報サイトのデータ入稿システム のフレームワークを開発  「仕組み」作りで 如何に高品質・低コストで早い開発を実現できるか?  エンタープライズ向けの実践的な C# サンプルを公開
  4. 4. アジェンダ  DevOps は世界が違う  Visual Studio で開発者は何をおこなっているか?  Visual Studio 新機能にみる開発者の取り組み  DevOps 一緒に今後のサービス対応に取り組みましょう 4
  5. 5. DevOps は世界が違う 5
  6. 6. DevOps(開発・運用)って何だろう? 6 Construct Implement Monitor Operate BACKLOG RELEASE Plan Business / Define Develop Test Platform Release Operate Insights Build Measure Learn Collaborate ※DevOps の定義はいくつかあります。この図は2014年前後の Microsoft の資料よりキーワードを集めて作成したものです。 運用? 開発? ここは?
  7. 7. DevOpsはビジネスの話 = 開発サイクルと投資  これまでの投資  これからの投資 7 大投資 大投資 数年かけて 予算取り・企画立案 5~10年運用 仕組みを変えられずに複雑化 中投資 中投資 時代の変化とニーズに応じて常にアップデート 運用と開発は連動 数年で基礎から見直せる プロジェクトのそのものに見直しが必要 = 解散しないプロジェクト
  8. 8. DevOpsは参加する人によって見える世界が違う 8 開発完了後に「最後は運用でカバー」となるのは業界の常? ツールが違う ゴールが違う やる事が違う 言葉が違う 会社が違う 歴史が違う
  9. 9. Visual Studio + System Center が DevOpsの主軸  マイクロソフトの DevOps は2つの製品でなりたっている Visual Studio (Visual Studio Online / Team Foundation Server 含む) System Center  開発者は Visual Studio を使用 ここに追加されている機能は、DevOpsを上手くやるために必要な機能(なはず ... 9
  10. 10. 開発者は何を考えて開発しているのか? Visual Studio 2015 の新機能から 開発者の取り組みを イメージしてください ※一部に「わかりやすさ」のために、おおざっぱな表現を使用している部分がありますが、ご了承ください 10
  11. 11. 開発者は何をおこなっているか? 11
  12. 12. Visual Studio で何が出来ますか?  Visual Studio Online のメニューを見るとわかります  HOME ⇒ ダッシュボード・見える化  CODE ⇒ ソースバージョン管理  WORK ⇒ タスク管理・工程管理・進捗管理・バグトラッキングシステム  BUILD ⇒ 自動ビルド・自動テスト・自動リリース・継続的デリバリー  TEST ⇒ テストケース管理(バグトラッキングシステム)・他機能はまだプレビュー 12
  13. 13. Visual Studio を使った開発はだいたいこんな感じ  HOMEを見てチーム全体の課題がないか?確認  WORKを見て今日のタスクを確認  Visual Studio でコードを書いて CODE に入れる  もちろんTESTも十分に行う  チームの他の人が壊してないか?BUILDで確認  完成したらリリースを行って引き渡し・・・  環境の構築もリリースも Visual Studio で行えちゃうよ??? 13
  14. 14. Visual Studio からのリリースは本番運用用ではない  確かに運用することも出来る(ごく小規模なプロジェクトであれば)  System Center や PowerShell によって提供されている リリース・監視・運用に着目した機能とは根本的に違う  開発環境や検証環境を凄まじい短期間で用意するための物  本番リリースには綿密な計画と運用体制が必要 VSから Azure 環境の構築も配置もできる、簡単に壊すこともできる 14
  15. 15. 新機能にみる開発者の取り組み 15
  16. 16. ちゃんと運用を考えた開発が必要  Visual Studio から気軽にデプロイできる ≠ 運用出来る  監視や運用を考慮した設計・開発が必要  開発者がこれを考えていないときは、追加してもらう必要がある  どの機能も「正しい作り方」で作る必要がある  アプリへの機能追加は「接続済みサービス」から! NEW  開発するアプリに、Azure Application Insights の追加を! NEW 16
  17. 17. 接続済みサービス & Azure AD 認証の構成  Visual Studio からギャラリーを検索  アプリで使用するサービスを選択、設定を入力して構成 17 Azure Active DirectoryConnected Service  アプリを Azure Application Insights, Azure Mobile Services, Azure Storage, Office 365, Salesforce に接続
  18. 18. Application Insights ( プレビュー )  モバイル アプリ& Web アプリ の問題の検出、クラッシュの診断、 利用状況の追跡 Azure, IIS, J2EE サーバー... ホストに関わらず使用可能 18 ※一部の図は MSDN Blog (http://blogs.msdn.com/b/visualstudioalm/archive/2015/01/07/application-insights-and-azure-websites.aspx ) より引用
  19. 19. ちゃんと品質の高いコードを書いてる?  静的コード分析強化  NuGetパッケージとしてプロジェクト毎に追加  自作可能(オープンソース化も進む)  コードレンズ  クイックアクション(Light Bulb) 19
  20. 20. コードレンズ (Visual Studio 2013 以降)  ソースコードをいつ?誰が?どう?変更したかをコードの近くに表示 ここから担当者に連絡出来る(IM, メール, 電話)  単体テスト結果確認、テスト実行もコードからできる 20 ※一部の図は MSDN Blogs ( http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/12/code-lens-for-git-quot-team-activity-view-quot.aspx ) より引用
  21. 21. コードレンズ 強化 "Team Activity View“  Visual Studio 2015 ではグラフィカルに「見える化」  メソッド毎:C#, Visual Basic  ファイル毎:JavaScript, C++, SQL ※ Git のみ、TFVC 対応も計画あり 開発者が情報収集 ⇒ ツールが情報収集 開発者が開発に集中出来る 21 ※図は MSDN Blogs ( http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/12/code-lens-for-git-quot-team-activity-view-quot.aspx ) より引用
  22. 22. Light Bulb ~リファクタリング&コード分析強化  コードをリアルタイムに分析、提案を表示  電球アイコンクリック(Ctril + . )で候補を表示⇒プレビュー⇒実行 22 ※図は Visual Studio 2015 RC リリース ノート ( https://www.visualstudio.com/news/vs2015-vs ) より引用
  23. 23. リファクタリング&コード分析が Light Bulb に統合  名前の変更、不要なusingの削除、属性の追加 etc...  NuGet からコード分析ルールを取得出来る Microsoft Code Analysis for Azure 0.4.0-beta https://www.nuget.org/packages/Microsoft.VisualStudio.Azure.CodeAnalysis/ 自分でもルールを作れる! 23 ※図は Visual Studio 2015 RC リリース ノート ( https://www.visualstudio.com/news/vs2015-vs ) より引用 開発者がチェック・調査 ⇒ツールがチェック・提案 開発者が開発に集中出来る
  24. 24. ちゃんと実際に動かして確認してる?  診断ツール強化  タイムラインとIntelliTrace  メモリー使用率、CPU使用率 etc... はグラフで可視化して確認出来る  どこからどこまでに何秒かかっているか?すぐに何度でも確認出来る  お客様環境で IntellTraceログを収集してもらえば、開発者のPCでデバッグ出来る 24
  25. 25. タイムラインツール・診断ツールとIntelliTrace  WPFとWindowsストア 8.1アプリの検査・診断・パフォーマンス向上を  メモリー使用量  CPU使用率  かかった時間 etc ... デバッグ時「見える化」 25 ※図は MSDN Blog ( http://blogs.msdn.com/b/wpf/archive/2015/01/16/new-ui-performance-analysis-tool-for-wpf-applications.aspx ) より引用
  26. 26. タイムライン+IntelliTraceで強力に見える化  IntelliTrace(2010以降)  問題が起こるまでを録画して再生するイメージ - 変数の変化やイベントを確認出来る  お客様の環境でIntelliTraceログを収集、自社PCの Visual Studio で(ほぼ)F5デバッグが可能  タイムラインで「このとき」から「このとき」何が起きていたか?を確認 26 ※図は MSDN Blog ( http://blogs.msdn.com/b/wpf/archive/2015/01/16/new-ui-performance-analysis-tool-for-wpf-applications.aspx ) より引用 開発者が記録・再現(多くは見えなかった) ⇒ツールが記録・再現・見える化 開発者が開発に集中出来る
  27. 27. ちゃんとテストしてる? 以前からある機能  単体テスト・コード化されたUIテスト(UI自動テスト)  自動ビルド・自動テスト 新機能  単体テストを自動で作ってくれる機能「IntelliTest」NEW 27
  28. 28. IntelliTest ~ 単体テストの自動作成  Create Unit Test - 復活!単体テストコードをメソッドから作成  Run IntelliTest - 新機能!コードカバレッジ100%テストパターンを作成 28 (旧称:Smart Unit Test) ※単体テストサンプルはこちらからダウンロードできます ( https://code.msdn.microsoft.com/TFSVSO-dc7b8c9d ) 開発者が網羅 ⇒ ツールが網羅的に作成 開発者が開発に集中出来る
  29. 29. 単体テストが作れる開発の方法を解説してます  単体テスト出来るアプリの作り方を スライドで解説しています 「ちゃんとした C# プログラムを書けるようになる実践的な方法 ~ Visual Studio を使った 高品質・低コスト・保守性の高い開発」 http://www.slideshare.net/shinichikoga355/starting-c-sharp 29
  30. 30. ちゃんとリリース出来るように作ってる?  Release Management は DevOps が両者で使えるリリース機能  ソフトバンク・テクノロジー株式会社 事例 リリースコストが 1/20 に! http://tech.surviveplus.net/archives/1114  開発者がリリース方法を「開発」し、検証環境にリリース  運用管理者はリリース方法を納品してもらって、本番環境にリリース  ワークフロー(承認・他のアクション)を構築できる 30
  31. 31. DevOps一緒に今後のサービス対応を 31
  32. 32. 今後のクラウドサービス・コンテナへの対応  Azure は Visual Studio で開発するアプリの配置先 PaaS, IaaS, Docker コンテナ... マクロサービスへ?  Azure は Visual Studio で開発するアプリに接続する機能 Azure AD, Azure Mobile Service, Azure ML, Azure Data Factory, Azure Data Lake ... Azure + Visual Studio = Microsoft が注目するアーキテクチャを実現 32
  33. 33. マイクロサービス (MSA : Microservices architecture)  動いているサービスを止めずにアップデートは大変( Amazon.co.jp とか)  全体で巨大1システムだと変更・リリースが難しい 依存関係が複雑 細かいサービスに分かれていれば、部分的にリリースして差し替え可能 アップデートより作り替えの方がリスクが低いはず ※15年使ったエアコンが壊れたら直すか?買い換えるか?  細かいサービスは、仮想化OSじゃなくて、コンテナで動くと良いよね Dockerによる仮想化が進む ~ Azure / Windows Server も対応していく 33
  34. 34. Docker はコンテナ型のアプリ仮想化技術  Microsoft はDocker に力を入れている ⇒ マイクロサービス対応のため? 34 仮想マシン コンテナ PaaS アプリ ミドルウェア OS ハイパーバイザー ハードウェア Docker : コンテナ型 アプリ Docker エンジン OS ハードウェア IaaS アプリ ミドルウェア OS ハイパーバイザー ハードウェア ライブラリ
  35. 35. ASP.net は コンテナ型のアプリ仮想化技術で動作  配置はアプリと.NET Coreを一緒に xcopy オンプレミス Azure Web Apps / 仮想マシン Docker / Windows コンテナー Docker https://www.docker.com/ 35
  36. 36. データレイク (Data lake) と IoT&ビッグデータ  今まで 業務システムが目的のデータを収集、それを整形加工、分析へ・・  これから IoTで大量に収集される生のデータ(ビッグデータ) リアルタイムでストリーム処理する流れ 未整形データを一旦溜めて、整形加工して使用する流れ Azure ML, Azure Data Factory, Azure Data Lake ... 36
  37. 37. 開発者と一緒に DevOps を考えていきましょう  今後ますます、Visual Studio から簡単に(数回クリックするだけで) クラウドサービスの利用やコンテナ対応が出来るようになる  運用方法やリリース方法をこれから確立しなければならない分野が沢山!  本気の DevOps (特にOps)を Dev に意識させてください!  ちゃんと運用が考えられていない開発は差し戻しを  ホントの「最後は運用でカバー」をお願いするかもしれません、ので・・・ 37
  38. 38. 38Copyright© 2015 Shin-ichi Koga All Rights Reserved.

×