Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
#devsumiB

【13-B-4】
事例から学ぶDevOps実現のための
プラクティス

黒川 敦
日本アイ・ビー・エム株式会社
ソフトウェア事業
Rational IT テクニカル・セールス
© 2014 IBM Corporation
自己紹介
 2002年日本IBM入社
– WebSphere テクニカル・セールス
– お客様担当SEとしてSOAプロジェクトに参加
– Rational テクニカル・セールス
• Java設計、開発ツール
• メインフレーム開発ツール
• DevOpsとUrbanCodeの立ち上げ
– developerWorks Rational管理者
 中小企業診断士
– 商店街支援、東北の復興支援
 趣味:マラソン
https://www.ibm.com/developerworks/jp/rational/
2

© 2014 IBM Corporation
経営層が求めるITを活用したアジリティー
CEOは自社に影響を及ぼす外部要因のうち、
「テクノロジー」と「市場の変化」を最も重要な要因だと考えている
CEO スタディー 2004–2013
2004

2006

2008

2010

2012

2013

1

1

1

1

1

1

テクノロジー

2

2

2

2

2

2

市場の変化

3

3

3

3

3

3

マクロ経済要因

4

4

4

4

4

4

人材・スキル

5

5

5

5

5

5

法規制

6

6

6

6

6

6

社会経済要因

7

7

7

7

7

7

グローバル化

8

8

8

8

8

8

環境問題

9

9

9

9

9

9

地政学的要因

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

© 2014 IBM Corporation
日本でのアジャイルの普及度
ここ5年でアジャイル開発は確実に普及してきている

アジャイル開発の取り組み状況の遷移
引用:Agile Conference 2009, 2011, 2013 IBMセッション
4

© 2014 IBM Corporation
DevOps

Ops who think like devs
Devs 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
5

© 2014 IBM Corporation
DevOpsをとりまく環境の変化 (SMACS)
ビジネス変化に俊敏な対応に対するITテクノロジーへの期待
お客様

事業部門

Social

Cloud
Mobile

Analytics
6

Security
© 2014 IBM Corporation
リーン・スタートアップ
最低限の製品やサービス、試作品を作って顧客の反応を見る

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

【出典】THE LEAN STARTUP, ERIC RIES

© 2014 IBM Corporation
顧客、事業部門を含めたDevOps
顧客

事業部門

開発部門

運用部門

【アジャイル】
【DevOps】

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

© 2014 IBM Corporation
Action!したStory
①uTest
– 世界最大級のソフトウエア・テスト・サービス
– 200カ国に約10万人のテスターを抱えるコミュニティー
– 特にモバイル・アプリケーションのテストなどで実際の使用
環境に近い形で世界中でテスト可能

②PointSource
– 企業向けのモバイルソリューションを提供
• 銀行向け、小売業向け、医療向け
– クラウド開発環境:JazzHubの活用

9

© 2014 IBM Corporation
Action!したStory
①uTest
– 世界最大級のソフトウエア・テスト・サービス
– 200カ国に約10万人のテスターを抱えるコミュニティー
– 特にモバイル・アプリケーションのテストなどで実際の使用
環境に近い形で世界中でテスト可能

②PointSource
– 企業向けのモバイルソリューションを提供
• 銀行向け、小売業向け、医療向け
– クラウド開発環境:JazzHubの活用

10

© 2014 IBM Corporation
uTest - 世界中に広がるテスト・サービス
IE
Windows 8

LG
verizon

In-House
Manual
Testing

Outsourced
Manual
Testing

Windows

AT&T
SAMSUNG
SONY

iOS

In-House
Test
Automation

Outsourced
Test
Automation

Firefox

HTC
11

© 2014 IBM Corporation
モバイルアプリ開発に関する課題
事業部門
/ マーケティング
“モバイル・アプリケーションを
顧客に効果的に使ってもらう
にはどうすればよいか?”
(ビジネスにつなげるためには)

設計者 / 開発者
“顧客の実際の操作を受け、
機能追加や障害対応を迅速
に行いたい”

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

テスト担当者
“どうやったらデバイス情報や画
面ショット付きの障害レポートを
すぐに起票できるのか?
手間がかかって仕方ない”

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

© 2014 IBM Corporation
DevOpsサイクルを加速化する仕組み
ユーザーのフィードバック

クラッシュログ
3
障害の傾向分析

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

13

フィードバックの分析

クラッシュログの自動レポート
障害報告

設計者/開発者
1

テスト担当者
端末からの障害報告

2

エンドユーザー

端末からのフィードバック

© 2014 IBM Corporation
デモの流れ
障害報告データ

端末からの障害報告

設計者/開発者

14

エンドユーザー

© 2014 IBM Corporation
uTestにおけるDevOpsプラクティス
 運用品質をモニターおよび検証する
– 頻繁で正確なビルドの配布
– 障害の報告は容易かつシンプルに
– 品質メトリクスの収集
 ループバックを拡大する
– ユーザーからの直接フィードバック
• ニーズ
• 障害の収集
– センチメント分析(感情分析)

継続的なモニタリング
15

© 2014 IBM Corporation
頻繁で正確なビルドの配布
 インストールするビルドを継続的にリリースする
– 継続的インテグレーションとの連携

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

変更を
コミット

開発者
16

ビルド

構成管理ツール
/ CIツール

テスト担当者
© 2014 IBM Corporation
障害の報告は容易かつシンプルに
 障害報告を素早く正確に報告してもらうための工夫
– 「デバイスを振ると報告画面に」、「操作が直観的」
– 「システム情報の自動収集」、「チケット管理システムとの連携」

システム情報に含まれるもの
-デバイスメーカー、モデル
-OS、バージョン
-キャリア、接続スピード
-バッテリー消費量
-再現手順、画面ショット など
17

© 2014 IBM Corporation
品質のメトリクスを収集して分析
 実績の品質データを可視化し、予測可能性を向上する
– 本番だけでなく、テスト段階のデータも収集し早期に警告
– (例) バージョン毎のバグとクラッシュの傾向

18

© 2014 IBM Corporation
直接のユーザー・フィードバック
 顧客フィードバックの
継続的な収集
– 顧客の声(顕在的)
• ニーズ
• 不満
– クラッシュ(潜在的)
 目的に応じたフィード
バック先の柔軟性
– 事業部門
– マーケティング
– 設計者 / 開発者
19

© 2014 IBM Corporation
センチメント分析(感情分析)
 ユーザーのアプリや特定のトピックに対
する感情・心情を分析する
– 肯定的、中立、否定的
 品質メトリクスと組み合わせることで、
次のモバイル戦略、製品に活用

20

© 2014 IBM Corporation
(参考)コーディング例
 Androidの本番デバイス用のコーディング
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";
@Override
public 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);
}
}

21

セッションの開始(直接のユーザー・フィードバックなど)
© 2014 IBM Corporation
Mobile Quality Assurance (Open Beta)

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

© 2014 IBM Corporation
Action!したStory
①uTest
– 世界最大級のソフトウエア・テスト・サービス
– 200カ国に約10万人のテスターを抱えるコミュニティー
– 特にモバイル・アプリケーションのテストなどで実際の使用
環境に近い形で世界中でテスト可能

②PointSource
– 企業向けのモバイルソリューションを提供
• 銀行向け、小売業向け、医療向け
– クラウド開発環境:JazzHubの活用

23

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

24

© 2014 IBM Corporation
PointSourceにおける課題
 モバイル市場では time to market の速さが最重要
– プロジェクトは数週間ではなく、数時間の単位で実行

 お客様からの要求の変化に柔軟に対応しなくてはいけない
– IT部門だけでなく、事業部門 やCMOオフィスも対象
– IT予算がオーバーしがちで、初期投資を増やすことができない
– プロジェクト管理手法の検討 (アジャイル開発)

 PointSourceとお客様との摩擦
– 地理的分散
– コミュニケーション・ミス
– 成果物の散在 など

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

© 2014 IBM Corporation
DevOpsサイクルを加速化する仕組み
JazzHub (SaaS)
計画
お客様

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

ソース管理
Eclipse
IDE

Eclipse
Orion

デプロイ

開発者

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

管理者

26

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

フレームワーク

BlueMix (PaaS)

© 2014 IBM Corporation
デモの流れ
JazzHub (SaaS)
計画
ワークアイテム(タスク、障害)
Web IDE

ソース管理

①JazzHubにログイン
②プロジェクトの選択
③ソースコードの確認
(Eclipse Orion)
④BlueMixへのデプロイ

Eclipse
Orion

⑤アプリケーション確認
デプロイ

アプリケーション・ランタイム
アプリケーション
ミドルウェア
(サービス)

27

フレームワーク

BlueMix (PaaS)

© 2014 IBM Corporation
PointSourceにおけるDevOpsプラクティス
 フィードバックはできる限り早く受け取る
– 早期にアクセスできるコードで価値を示す
– 実績あるプログラムを利用する

 共有のためのコラボレーション環境を即時に整備する
– ライフサイクルでのトレーサビリティー確保
– コンテキストに応じたコラボレーション

コラボレーティブ開発 on Developer Cloud
28

© 2014 IBM Corporation
早期にアクセスできるコードで価値を示す
 組織を超えたコラボレーションを支援する仕組みの採用
– (例) ブラウザでのコード開発、計画、ワークアイテムの作成

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

29

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

© 2014 IBM Corporation
早期にアクセスできるコードで価値を示す
 プラットフォームのクラウド化 (PaaSの活用)
 早期の継続的な顧客フィードバックの収集と対応
Launch(デプロイ)

JazzHub

30

BlueMix

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

© 2014 IBM Corporation
利用サービス (この例ではMongo DB)
実績あるプログラムを利用する
 JazzHubの別のプロジェクト
 GitHub
– JazzHubと連携可能
 Web API

JazzHubのプロジェクト検索

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

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

© 2014 IBM Corporation
ライフサイクルでのトレーサビリティー確保





計画(要求、タスク)を含む開発ライフサイクル全体の成果物を紐付けて管理
関連する情報へのアクセス性が向上
関連する人へもリンクされているため、コラボレーションの基点となる
リンク付けの敷居を下げるユーザビリティ上の工夫も必要
ワークアイテム
(タスク)
管理者

作成者、担当者、承認者、…
(お客様も含まれる)

ソースコードの変更履歴

依存関係など
設計者

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

ビルド結果

テスト結果

要求

ファイル
開発者
32

テスト担当
© 2014 IBM Corporation
コンテキストに応じたコラボレーション
 メンバーが各アクティビティの「誰が、何を、いつ、なぜ」をすばやく把握可能

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

スレッド化された
ディスカッション
コメント、メール通知
33

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

© 2014 IBM Corporation
まとめ:DevOpsにおけるプラクティス
顧客

事業部門

開発部門

運用部門

コラボレーティブ開発
継続的なビジネス計画

継続的インテグレーション
継続的テスト
継続的デリバリー

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

© 2014 IBM Corporation
JazzHub
 パブリック、プライベートのプロジェクト作成が可能

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

© 2014 IBM Corporation
BlueMix (Codename)
 Cloud FoundryベースのIBM Public PaaS

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

© 2014 IBM Corporation
37

© 2014 IBM Corporation
ワークショップ、セッション、および資料は、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の米国およびその他の国における商標です。
38

© 2014 IBM Corporation

More Related Content

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