【13-B-4】事例から学ぶdev...

38
© 2014 IBM Corporation 13-B-4事例から学ぶDevOps実現のための プラクティス #devsumiB 黒川 日本アイ・ビー・エム株式会社 ソフトウェア事業 Rational IT テクニカル・セールス

description

DevOpsとは、開発(Development)と運用(Operations)が協力し、ビジネス要求をスピーディーに反映する柔軟なシステムを作り上げるためのアプローチです。ITILのような厳密な定義がないため、その解釈はさまざまですが、自動化ツールを導入しさえすれば 実現できるというものではなく、ツールと合わせて、プロセス、カルチャーを定着させることが重要です。 このセッションではDevOpsにチャレンジしている複数の事例を元に、実現のためのプラクティスと適用のためのロードマップを考えてみたいと思います。さらに、ツールをそなえた実践の場として気軽に使えるクラウド環境「JazzHub」もご紹介します。

Transcript of 【13-B-4】事例から学ぶdev...

Page 1: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

【13-B-4】

事例から学ぶDevOps実現のためのプラクティス

#devsumiB

黒川 敦

日本アイ・ビー・エム株式会社ソフトウェア事業Rational IT テクニカル・セールス

Page 2: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

2002年日本IBM入社

–WebSphere テクニカル・セールス

–お客様担当SEとしてSOAプロジェクトに参加

–Rational テクニカル・セールス

• Java設計、開発ツール

• メインフレーム開発ツール

• DevOpsとUrbanCodeの立ち上げ

–developerWorks Rational管理者

中小企業診断士

–商店街支援、東北の復興支援

趣味:マラソン

2

自己紹介

https://www.ibm.com/developerworks/jp/rational/

Page 3: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

CEO スタディー 2004–2013

出所: 問E8 – 今後3-5年間で、企業に最も影響を与える外部要因はどれでしょうか; n = 884

経営層が求めるITを活用したアジリティー

2004 2006 2008 2010 2012 20131

2

3

6

4

5

7

8

9

1

2

3

6

4

5

7

8

9

1

2

3

6

4

5

7

8

9

1

2

3

6

4

5

7

8

9

1

2

3

6

4

5

7

8

9

テクノロジー

市場の変化

マクロ経済要因

人材・スキル

法規制

社会経済要因

グローバル化

環境問題

地政学的要因

2

3

6

4

5

7

8

9

1

CEOは自社に影響を及ぼす外部要因のうち、「テクノロジー」と「市場の変化」を最も重要な要因だと考えている

3

Page 4: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

日本でのアジャイルの普及度

ここ5年でアジャイル開発は確実に普及してきている

アジャイル開発の取り組み状況の遷移

引用:Agile Conference 2009, 2011, 2013 IBMセッション4

Page 5: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

DevOps

5

Ops who think like devsDevs who think like ops

【出典】10 deploys per day - Dev & ops cooperation at Flickr, John Allspaw & Paul Hammond, Velocity 2009. http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 6: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

DevOpsをとりまく環境の変化 (SMACS)

6

ビジネス変化に俊敏な対応に対するITテクノロジーへの期待

Social

Mobile

Analytics

Cloud

Security

お客様 事業部門

Page 7: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation7

リーン・スタートアップ

最低限の製品やサービス、試作品を作って顧客の反応を見る

仮説の構築と検証を繰りかえす仮説の構築と検証を繰りかえすスピードアップが必要!スピードアップが必要!

【出典】THE LEAN STARTUP, ERIC RIES

Page 8: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation8

運用部門事業部門顧客 開発部門

顧客、事業部門を含めたDevOps

リーン・スタートアップをリーン・スタートアップをDevOpsDevOpsが⽀えるが⽀える

【DevOps】

【アジャイル】

Page 9: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

Action!したStory

9

①uTest–世界最大級のソフトウエア・テスト・サービス

–200カ国に約10万人のテスターを抱えるコミュニティー

–特にモバイル・アプリケーションのテストなどで実際の使用環境に近い形で世界中でテスト可能

②PointSource–企業向けのモバイルソリューションを提供

• 銀行向け、小売業向け、医療向け

–クラウド開発環境:JazzHubの活用

Page 10: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

Action!したStory

10

①uTest–世界最大級のソフトウエア・テスト・サービス

–200カ国に約10万人のテスターを抱えるコミュニティー

–特にモバイル・アプリケーションのテストなどで実際の使用環境に近い形で世界中でテスト可能

②PointSource–企業向けのモバイルソリューションを提供

• 銀行向け、小売業向け、医療向け

–クラウド開発環境:JazzHubの活用

Page 11: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

In-HouseManualTesting

Outsourced Manual Testing

In-HouseTest

Automation

OutsourcedTest

Automation

Windows

verizon

AT&T

SONY iOS

Firefox

HTC

SAMSUNG

LG

IE

Windows 8

uTest - 世界中に広がるテスト・サービス

11

Page 12: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

テスト担当者

エンドユーザー

設計者 / 開発者

事業部門/ マーケティング

モバイルアプリ開発に関する課題

迅速なフィードバックが必要迅速なフィードバックが必要そこにそこにDevOpsDevOpsを適⽤してみると・・・を適⽤してみると・・・

“モバイル・アプリケーションを顧客に効果的に使ってもらう

にはどうすればよいか?”(ビジネスにつなげるためには)

“顧客の実際の操作を受け、機能追加や障害対応を迅速

に行いたい”

“操作の不満や障害をカスタマー・センターに伝えてもすぐに直してもらえない”

“どうやったらデバイス情報や画面ショット付きの障害レポートを

すぐに起票できるのか?手間がかかって仕方ない”

12

Page 13: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

テスト担当者エンドユーザー

クラッシュログの自動レポート

3

事業部門/ マーケティング

ユーザーのフィードバック

クラッシュログ

障害報告障害の傾向分析

DevOpsサイクルを加速化する仕組み

端末からの障害報告1 端末からのフィードバック2フィードバックの分析4

設計者/開発者

13

Page 14: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

エンドユーザー

デモの流れ

端末からの障害報告

障害報告データ

設計者/開発者

14

Page 15: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

uTestにおけるDevOpsプラクティス

運用品質をモニターおよび検証する

–頻繁で正確なビルドの配布

–障害の報告は容易かつシンプルに

–品質メトリクスの収集

ループバックを拡大する

–ユーザーからの直接フィードバック

• ニーズ

• 障害の収集

–センチメント分析(感情分析)

継続的なモニタリング継続的なモニタリング15

Page 16: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

頻繁で正確なビルドの配布

テスト担当者開発者 構成管理ツール/ CIツール16

インストールするビルドを継続的にリリースする– 継続的インテグレーションとの連携

対象のテストデバイスに自動通知

変更をコミット

ビルド

Page 17: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

障害の報告は容易かつシンプルに

システム情報に含まれるもの

-デバイスメーカー、モデル

-OS、バージョン

-キャリア、接続スピード

-バッテリー消費量

-再現手順、画面ショット など

17

障害報告を素早く正確に報告してもらうための工夫– 「デバイスを振ると報告画面に」、「操作が直観的」

– 「システム情報の自動収集」、「チケット管理システムとの連携」

Page 18: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

品質のメトリクスを収集して分析

18

実績の品質データを可視化し、予測可能性を向上する

–本番だけでなく、テスト段階のデータも収集し早期に警告

–(例) バージョン毎のバグとクラッシュの傾向

Page 19: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

直接のユーザー・フィードバック

19

顧客フィードバックの

継続的な収集

–顧客の声(顕在的)

• ニーズ

• 不満

–クラッシュ(潜在的)

目的に応じたフィードバック先の柔軟性

–事業部門

–マーケティング

–設計者 / 開発者

Page 20: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

センチメント分析(感情分析)

20

ユーザーのアプリや特定のトピックに対する感情・心情を分析する

–肯定的、中立、否定的

品質メトリクスと組み合わせることで、次のモバイル戦略、製品に活用

Page 21: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

(参考)コーディング例

21

import com.apphance.android.Apphance;import com.apphance.android.Apphance.Mode;import com.apphance.android.common.Configuration;

public class MainActivity extends Activity { public static final String APP_KEY = "Your-Application-Key-Goes-Here";

@Overridepublic void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

Configuration configuration = new Configuration.Builder(this).withAPIKey(APP_KEY).build();

Apphance.startNewSession(MainActivity.this, configuration);}

}

Androidの本番デバイス用のコーディング

ライブラリのインポート

セッションの開始(直接のユーザー・フィードバックなど)

Page 22: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

Mobile Quality Assurance (Open Beta)

是⾮お試しください是⾮お試しください (Try it)(Try it)!!https://www.ibm.com/developerworks/community/blogs/mobilequalityhttps://www.ibm.com/developerworks/community/blogs/mobilequalitybetamobilesite/entry/homebetamobilesite/entry/home

22

Page 23: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

Action!したStory

23

①uTest–世界最大級のソフトウエア・テスト・サービス

–200カ国に約10万人のテスターを抱えるコミュニティー

–特にモバイル・アプリケーションのテストなどで実際の使用環境に近い形で世界中でテスト可能

②PointSource–企業向けのモバイルソリューションを提供

• 銀行向け、小売業向け、医療向け

–クラウド開発環境:JazzHubの活用

Page 24: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

PointSource -企業向けのモバイル・ソリューション・プロバイダー

24

Page 25: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

モバイル市場では time to market の速さが最重要

– プロジェクトは数週間ではなく、数時間の単位で実行

お客様からの要求の変化に柔軟に対応しなくてはいけない– IT部門だけでなく、事業部門 やCMOオフィスも対象

– IT予算がオーバーしがちで、初期投資を増やすことができない

– プロジェクト管理手法の検討 (アジャイル開発)

PointSourceとお客様との摩擦

– 地理的分散

– コミュニケーション・ミス

– 成果物の散在 など

25

早期のプロジェクト⽴ち上げとコラボレーション環境が必要早期のプロジェクト⽴ち上げとコラボレーション環境が必要そこで開発クラウドを検討・・・そこで開発クラウドを検討・・・

PointSourceにおける課題

Page 26: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation26

DevOpsサイクルを加速化する仕組み

ソース管理

ワークアイテム(タスク、障害)

計画

JazzHub (SaaS)

ミドルウェア(サービス)

アプリケーション

BlueMix (PaaS)

Web IDE

EclipseOrion

EclipseIDE

開発者

お客様

管理者

アプリケーション・ランタイム

フレームワーク

デプロイ

Page 27: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

デモの流れ

ソース管理

ワークアイテム(タスク、障害)

計画

JazzHub (SaaS)

ミドルウェア(サービス)

アプリケーション

BlueMix (PaaS)

Web IDE

EclipseOrion

アプリケーション・ランタイム

フレームワーク

デプロイ

①JazzHubにログイン

②プロジェクトの選択

③ソースコードの確認(Eclipse Orion)

④BlueMixへのデプロイ

27

⑤アプリケーション確認

Page 28: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

PointSourceにおけるDevOpsプラクティス

フィードバックはできる限り早く受け取る

–早期にアクセスできるコードで価値を示す

–実績あるプログラムを利用する

共有のためのコラボレーション環境を即時に整備する

–ライフサイクルでのトレーサビリティー確保

–コンテキストに応じたコラボレーション

コラボレーティブ開発コラボレーティブ開発 on Developer Cloudon Developer Cloud28

Page 29: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation29

早期にアクセスできるコードで価値を示す

組織を超えたコラボレーションを支援する仕組みの採用

–(例) ブラウザでのコード開発、計画、ワークアイテムの作成

JavaScriptのコード・アシスト機能

JazzHubに含まれる Eclipse Orion エディター

Page 30: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation30

早期にアクセスできるコードで価値を示す

プラットフォームのクラウド化 (PaaSの活用)早期の継続的な顧客フィードバックの収集と対応

Launch(デプロイ)

デプロイ済みアプリケーション

利用サービス (この例ではMongo DB)

JazzHub

BlueMix

Page 31: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation31

実績あるプログラムを利用する

JazzHubの別のプロジェクト

GitHub–JazzHubと連携可能

Web API

function getKloutInfluence(kloutId, callback) {url = "http://api.klout.com/v2/user.json/" + kloutId + "/influence?"url += "key=" + Key

httpRequest(url, callback)}

Web APIのコーディング例 : Kloutサービスの呼び出し

JazzHubのプロジェクト検索

Page 32: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation32

ライフサイクルでのトレーサビリティー確保

計画(要求、タスク)を含む開発ライフサイクル全体の成果物を紐付けて管理

関連する情報へのアクセス性が向上

関連する人へもリンクされているため、コラボレーションの基点となる

リンク付けの敷居を下げるユーザビリティ上の工夫も必要

ワークアイテム(タスク)

ソースコードの変更履歴 ビルド結果 テスト結果

ワークアイテム(タスク)

依存関係など作成者、担当者、承認者、…

(お客様も含まれる)

ファイル

開発者

設計者

管理者

要求

テスト担当

Page 33: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation33

コンテキストに応じたコラボレーション

開発者向けに太字で表⽰された未読のワークアイテム

スレッド化されたディスカッション

コメント、メール通知

要求に関する最近のディスカッション (ハイライト箇所)

メンバーが各アクティビティの「誰が、何を、いつ、なぜ」をすばやく把握可能

Page 34: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation34

まとめ:DevOpsにおけるプラクティス

運用部門事業部門顧客 開発部門

コラボレーティブ開発

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

継続的デリバリー

継続的テスト

継続的なモニタリング、継続的な改善

継続的なビジネス計画

Page 35: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

JazzHub

是⾮お試しください是⾮お試しください (Try it)(Try it)!!https://hub.jazz.net/https://hub.jazz.net/

35

パブリック、プライベートのプロジェクト作成が可能

Page 36: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation

BlueMix (Codename)

是⾮お試しください是⾮お試しください (Try it)(Try it)!!https://ace.ng.bluemix.net/https://ace.ng.bluemix.net/

36

Cloud FoundryベースのIBM Public PaaS

Page 37: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation37

Page 38: 【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)

© 2014 IBM Corporation38

ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。

本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。

記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。

IBM、IBM ロゴ、ibm.com、およびRational は、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。

Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標です。IT Infrastructure Libraryは英国Office of Government Commerceの一部であるthe Central Computer and Telecommunications Agencyの登録商標です。インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, およびPentium は Intel Corporationまたは子会社の米国およびその他の国における商標または登録商標です。Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。ITILは英国The Minister for the Cabinet Officeの登録商標および共同体登録商標であって、米国特許商標庁にて登録されています。UNIXはThe Open Groupの米国およびその他の国における登録商標です。Cell Broadband Engineは、Sony Computer Entertainment, Inc.の米国およびその他の国における商標であり、同社の許諾を受けて使用しています。JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。Linear Tape-Open, LTO, LTOロゴ, UltriumおよびUltriumロゴは、HP, IBM Corp.およびQuantumの米国およびその他の国における商標です。