JFPUG 20th Open Seminar session1

JFPUG Open Seminar
未来を作る新たなテクノロジーと
ファンクション・ポイントの挑戦
ク
ポ
挑戦
2014年2月24日
日本アイ・ビー・エム(株)
榊原 彰 (http://about.me/akirasakakibara)
© 2013 IBM Corporation
テクノロジ のトレンド
テクノロジーのトレンド
クラウド、ソーシャル、ビッグデータ
Webベース
クライアント・サーバー
ホスト集中
60’s
80’s
90’s
© 2013 IBM Corporation
ビッグデ タを核とするITトレンド
ビッグデータを核とするITトレンド
クラウド
モバイル
ソ シャル
ソーシャル
モノのインターネット
ノのインタ ネ ト
© 2013 IBM Corporation
ファンクション ポイントの適用に 考が必要か?
ファンクション・ポイントの適用に一考が必要か?
トランザクション
ファンクション
入力(EI)
力( )
ユーザー
データ
ファンクション
出力(EO)
照会(EQ)
計測対象ソフトウ ア
計測対象ソフトウェア
200
7/2/
© 2013 IBM Corporation
Systems of Engagement
4
© 2013 IBM Corporation
ITは記録のためのシステムから協働型のシステムへ
シフト
(包括)
トランザクション
Systems of Record (SoR)
5
トランザクション
Systems of Engagement (SoE)
© 2013 IBM Corporation
モバイル ファ ストとクラウドがIT提供の形態を変えます
モバイル・ファーストとクラウドがIT提供の形態を変えます
旧来の3ティアモデル
HTTP
Web ブラウザ
DB
Applサーバー
データ同期
スケーラブルな
IT提供インフラ
CRM
HR
レガシー
DB
ERP
Systems of Record
クライアント
エクスペリエンス
6
エンゲージメント基盤
ソーシャルとコラボレーション
クロスエンドポイント
パーソナライゼーション
コンテキスト化
スケーラブルなITインフラ
バックエンド・アクティビティ・モニタリング
ビ
グ
データ同期
サービス構築
メタデ タ リポジトリ
メタデータ・リポジトリ
セキュリティ
© 2013 IBM Corporation
Webの進化はモバイルデバイスの進化により再加速された
1990年代から2000年の始めにかけてはとても緩やかな進化 :
PCを中心としたコモディティの世界
Mosaic
(04/22/1993)
7
Netscape
(12/15/1994)
(出典)Google, “Webの進化
Opera
(04/01/1995)
Internet Explorer
(08/16/1995)
, http://evolutionofweb.appspot.com/
© 2013 IBM Corporation
Webの進化はモバイルデバイスの進化により再加速された
携帯端末の進化とともに新たなUIの標準化 :
JavaScriptのパフォーマンスが1990年代とくらべて100倍
Safari
(06/30/2003
8
Firefox
(11/09/2004)
(出典)Google, “Webの進化
Chrome
(12/11/2008)
Chrome OS
(08/10/2011)
, http://evolutionofweb.appspot.com/
© 2013 IBM Corporation
Responsive Enterprise Design :
動的なコンテンツ・アジャストによる効果的UX提供
• Media queries
• Fluid grid
• Flexible media
• Content
C t t reduction
d ti
Media queries [1]
Fluid grid [2]
Flexible media [3]
(出典)
[1] Frameworks CSS with Responsive fluid grid layout for mobile devices,
http://www drupaldeveloper es/en/frameworks-css-with-responsive-fluid-grid-layout-for-mobile-devices
http://www.drupaldeveloper.es/en/frameworks
css with responsive fluid grid layout for mobile devices
[2] Media Queries in Adobe Dreamweaver CS5,
http://swcta.net/teachers/changcl/dwProject1112/LaOFernandez_queriesWebStorage/index.html
9
[3] Learning Web Design, http://www.scoop.it/t/learning-web-design
© 2013 IBM Corporation
市場におけるWebAPIのインパクト
February 6th,
6th 2012 – “We
We now list 5,000
5 000 APIs,
APIs just a short four months since passing 4000.
4000 ”
5,000 APIs: Facebook, Google and Twitter Are Changing the Web – Adam
DuVander, Feb, 62012
10
http://blog.programmableweb.com/2012/02/06/5000-apis-facebook-google-and-twitter-are-changing-the-web/
© 2013 IBM Corporation
ビジネスの連携方法が変化しています
Web APIは新しく、
急成長している
ビジネス・チャネル
ビジネス
手段の発展
店舗
電話
Webサイト
企業
ノウハウ
企業データ
Web API
“Externalize the Enterprise”
「企業活動の外面化」
11
© 2013 IBM Corporation
Web APIの増殖は権利関係の複雑化のリスクを抱えます
12
© 2013 IBM Corporation
Web APIの連携は連動リスクも伴います
2013年10月21日 Facebookで世界的大規模障害発生
https://developers.facebook.com/status/
13
© 2013 IBM Corporation
ファンクション ポイントの適用に 考が必要か?
ファンクション・ポイントの適用に一考が必要か?
トランザクション
ファンクション
入力(EI)
力( )
ユーザー
データ
ファンクション
出力(EO)
照会(EQ)
計測対象ソフトウ ア
計測対象ソフトウェア
200
7/2/
© 2013 IBM Corporation
Big Data Analytics &
Cognitive Computing
15
© 2013 IBM Corporation
モノのインターネット
モノのインタ ネ ト (Internet
モノのインターネット
(I t
t off Things)
Thi
)
今日、世界には数兆
ものスマートデバイス、
センサーが存在する
これらのデバイスの相互接続
によって、ITシステムの中枢
神経系を作ることが可能
16
© 2013 IBM Corporation
地球上をITが覆っていきます
ƒ この20年間で、
年間 、
ƒ 広帯域のネットワークがグローバルに
広 り、
広がり、
ƒ 20億人のインターネットユーザーを生
み出しました。
。
ƒ 携帯電話ユーザーは60億人に達し、
ƒ 何十億というセンサ
何十億というセンサーやカメラが私たち
やカメラが私たち
を取り巻く環境に社会インフラの一部と
して設置されています。
設置
す。
ƒ そして私たちはグローバルに連携する
社会の中で生活しています。
社会
中
活
す。
17
© 2013 IBM Corporation
ビッグデ タの4つのV
ビッグデータの4つのV
Veracity
Velocity
データの量
データの速度
データの形態
データの信頼度
蓄積している
データ
流動するデータ
多様なデータ
不確かなデータ
ストリーミングデータを
ミリ秒から秒単位で
処理
構造化・非構造化
データ、テキスト、
マルチメディア
テラバイトから
エクサバイト級の
データを処理
18
Variety
Volume
データの非一貫性・
デ
タの非 貫性
不完全性、曖昧性、
レイテンシ、モデルの
近似による生じる
不確かなデータ
© 2013 IBM Corporation
多くのデータソースから不確かさが生じます
プロセスの不確かさ
データの不確かさ
モデルの不確かさ
現実のプロセスは偶発的です
入力デ タに曖昧性が存在します
入力データに曖昧性が存在します
モデルは近似を内包します
意図した
スペル
実際の
スペル
文章入力
? ?
?
データの曲線回帰
GPS の精度
移動時間 不確かさ
移動時間の不確かさ
?
?
?
{パリ空港}
証拠画像
曖昧さ
半導体の歩留まり
汚染?
噂
{ジョン・スミス, ダラス}
{ジョン・スミス, カンザス}
データの衝突
ハリケーン予測
(www noaa gov)
(www.noaa.gov)
© 2013 IBM Corporation
1
まだ始ま たばかり
まだ始まったばかり
9000
容量︵エクサバイト︶
不確かな
データ
8000
7000
センサー&
デバイス
6000
5000
4000
イマココ
3000
ソ シャル
ソーシャル
メディア
V IP
VoIP
企業データ
2010
20
2020
© 2013 IBM Corporation
蓄積されたデ タと流動するデ タの解析
蓄積されたデータと流動するデータの解析
ホームランド・セキュリティー
Exa
60万通信レコード/秒,
通信
ド 秒 500億/日
億
1判断につき1-2ms
10,000倍
大きく
320TBの解析データ
Tera
Giga
通信会社における販売促進
10万通話記録レコード/秒,
10万通話記録レコ ド/秒 60億/日
1判断につき10ms
270TBの解析データ
蓄積して
ているデータ
タ
Data Sca
D
ale
デー
ータ・スケール
ル
Peta
DeepQA
100GBの解析データ
1判断につき3秒
伝統的なデータ・ウェアハウスと
ビジネス・インテリジェンス
Mega
10 000倍速く
10,000倍速く
流動するデータ
スマートな交通システム
25万GPSデータ/秒
Kilo
yyr
mo
時折
wk
day
y
hr
頻繁
min
sec
…
常時
ms
µs
µ
63万道路状況データ/秒
1判断につき2ms(4 000台解析時)
1判断につき2ms(4,000台解析時)
判断の頻度
21
© 2013 IBM Corporation
大規模並列処理システム
Hadoop / MapReduce
入力データ
入力デ
タ (ディスク上)
=計算ノード
Jaql, Java
蓄積しているデータ*:
大規模データ
多様なデータ
低速度データ
大規模スケールアウト処理による
ディープ・アナリティクス
Mappers
Reducers
出力データ
((*事前に分割済み)
事前に分割済み)
ストリーミング
SPL,, C, Ja
S
Java
a
流動するデータ:
高速度データ
多様なデ タ
多様なデータ
大規模データ*
(*時間的に変化)
22
シミュレーション
C/C++, Fortran, MPI, OpenMP
長時間実行
入力データ量:少
入力デ
タ量:少
出力データ量:巨大
高速デ タストリ ム処理による
高速データストリーム処理による
リアクティブ・アナリティクス
生成モデルを用いた
大規模科学技術シミューレション
22
© 2013 IBM Corporation
ビッグデ タの上 面だけ?
ビッグデータの上っ面だけ?
DATA + ANALYSIS → INFORMATION
データ
分析
情報
INFORMATION + CONTEXT → INSIGHT
情報
コンテキスト
知見
INSIGHT + ACTION → PREDICTION & PREVENTION
知見
23
予測と予防
アクション
MODEL
SIMULATION
FEED BACK
モデル
デ
シミ レ シ ン
シミュレーション
フィ ドバック
フィードバック
© 2013 IBM Corporation
5感の認知
Touch
Sight
g
Hearing
Taste
Smell
24
© 2013 IBM Corporation
「考えるマシン 認知マシン」の進化
「考えるマシン・認知マシン」の進化
Cognitive
S t
Systems
計算機の知性
SyNAPSE
Watson
(2010)
Brain Wall
Deep Blue
(1997)
System/360
(1964)
算盤
(Circa 3500 BC)
アンティキティラの
歯車
(ca 87 BC)
ネイピアの
計算棒
(Circa 1600)
ホレリス
計算機
(Circa 1820)
ENIAC
(Circa 1945)
時間
25
25
© 2013 IBM Corporation
コグニティブ・コンピューティングにおけるシステム構造
グ
ブ
ピ
グ おけるシ
ム構造
Learning System
・IF-THENのようなプログラミ ングをしない
・人と対話し、そこから目的、仮説を設定できる
・学習する(教えて育てる)
・ビッグデータから根拠と確信度で答える
Big Dataの整備と解釈
・非構造化データ、センサー、五感等の
リアルタイムデータを扱える
・コンテキストの把握ができる
・大量、高速、低コストでの構築が必要
新コンピューター・アーキテクチャ
・データ中心コンピューター
・データをプロセッサーに移動するのではなく、
逆にプロセスをデ タへ移動
逆にプロセスをデータへ移動
センサーや身体性の感覚器官
・五感や身体性を感じることができる
ナノテクによる次世代素子の開発
・分子、原子レベルの技術
・大量のデータを低コストで保持(原子メモリー)
・大量のデータを超省電力で超高速処理
大量 デ タを超省電
超高速処
(ニューロ、量子コンピューター素子)
26 出典:
SMART MACHINES by IBM Senior VP Research, John Kelly Ⅲ
© 2013 IBM Corporation
ビッグデ タはコグニティブ コンピ
ビッグデータはコグニティブ・コンピューティングで新次元に
ティングで新次元に
取り扱える認知データの増加
(人間の5感:視覚、聴覚、触覚、嗅覚、味覚)等
INSIGHT + ACTION → PREDICTION & PREVENTION
知見
MODEL
モデル
予測と予防
アクション
SIMULATION
シミュレーション
FEED BACK
フィードバック
学習
27
© 2013 IBM Corporation
ファンクション ポイントの適用に 考が必要か?
ファンクション・ポイントの適用に一考が必要か?
トランザクション
ファンクション
入力(EI)
力( )
ユーザー
データ
ファンクション
出力(EO)
照会(EQ)
計測対象ソフトウ ア
計測対象ソフトウェア
200
7/2/
© 2013 IBM Corporation
DevOps &
Software Defined Env.
29
© 2013 IBM Corporation
非常に速いスピ ドで新サ ビスを提供し続けている企業
非常に速いスピードで新サービスを提供し続けている企業
¾ Facebook
Flickrは通常でも1日10回はリリースしていると話題に
¾ eBay
¾ Netflix
¾ Flickr
¾ Etsy
¾ Taobao
¾ ・・・・
http://www.slideshare.net/jallspaw/10
http://www
slideshare net/jallspaw/10-deploys-per-day-dev-anddeploys per day dev and
ops-cooperation-at-flickr
© 2013 IBM Corporation
従来の開発と運用の相対的コスト(工数)消費状況
リリース
作業工数
新規
システム開発
プロジェクト
機能追加
システム老朽化
に伴う刷新
プロジェクト
(機能追加では
対応しきれな
い)
経過時間
開発作業工数
運用・保守作業工数
© 2013 IBM Corporation
DevOpsによって目指す開発と運用のコスト(工数)の平準化
作業工数
リリース
新規
開発
継続的デリバリー
経過時間
開発作業工数
運用・保守作業工数
© 2013 IBM Corporation
D O
DevOps:
開発とオペレ シ ンのコラボレ シ ン
開発とオペレーションのコラボレーション
ƒ 運用サイドの考慮点やプロセスを開発のライ
フサイクルの早い
段階に反映
ƒ 開発の初期段階から
開発の初期段階から、運用も積極的に考慮す
運用も積極的に考慮す
る技術的取組み
DevOps
開発チーム
ビルド
ƒ 再使用可能な開発テスト環境パターン作成の
再使用可能な開発テスト環境パタ ン作成の
ための協業
設計
ƒ アプリケーションやインフラの変更に関する
ア リケ シ
イ
ラ 変更 関する
計画やトラッキング、レポーティングのため
の共通ツール
運用管理チーム
Dev
修正
リリース
テスト
Ops
運用
管理
継続的なフィードバック
継続的なフィ
ドバック
効果
•展開配備までの流れを最適化することより、
全体的な計画性とスピードの向上
全体的な計画性とスピ
ドの向上
人
•数週間/数か月から数分/数時間に大幅な短縮
プロセス
•アプリケーション・ポートフォリオ全体のリ
スクの低減、コスト削減、品質の向上
減
削減
向
情報
© 2013 IBM Corporation
De Opsの主要構成要素
DevOpsの主要構成要素
開発技術
運用技術
アジャイル開発
Infrastructure as Code
動的資源配分
継続的インテグレーション
DevOps
仮想化
継続的デリバリー
統合運用監視ツ ル
統合運用監視ツール
ライフサイクル管理
自動化
資源構成管理
クラウド
© 2013 IBM Corporation
D O に欠かせない継続的なデリバリ
DevOpsに欠かせない継続的なデリバリー
開発者
Continuous Delivery
構成管理
クラウド環境
継続的なビルド
継続的なテスト
継続的なデプロイ
ビルド
テスト環境の配置
自動テスト実行
プロビジョニング
環境設定
ユニット・テスト
ライブラリー
環境構築用のアーティファクトの登録、再利用、検索
© 2013 IBM Corporation
ITインフラをプログラムで正確に記述することが可能に
IT
インフラをプログラムで正確に記述することが可能に
#!/usr/ bin/env ruby
class D evopsDeployer
def i nitialize(build_u rl, build_id)
@lo g = Logger.new(LO G_FILE)
@l g.level
@lo
l
l = LOG
LOG_LEV
LEV EL
@ia as_gateway = Iaas Gateway.new(HsltPr ovider.new(),
LOG_FIL E, LOG_LEVEL)
@se rver_instance = n il
.jsp
.html
rtc _build_system_pro
build system pro vider = RtcBuildSy stemProvider.new(
stemProvider new(
RTC_REP OSITORY_URL, RTC_ USER_ID, RTC_PASSW ORD_FILE)
@bu ild = rtc_build_s ystem_provider.res olve_build(
build_u rl, ENV['buildRes ultUUID'], build_i d)
@bu ild_system_gatewa y = BuildSystemGat eway.new(
rtc_bui ld_system_provide r, LOG_FILE, LOG_L EVEL)
end
.java
def a dd_build_stamp
tem plate_file = WEB_ APP_ROOT +
"/app/t emplates/pages/pa ge.html"
@lo g.info "Adding bu ild ID stamp #{@bu ild.id} to \
#{templ ate_file}"
.sh
Infrastructure
as Code
as Code
chef contentsrecipes
as a str ing,
# R ead in the file's
replace
# t he build_id, then overwrite the ori ginal contents
# o f the file
tex t = File.read(tem plate_file)
new _text = text.gsub (/\{\{ build_id \} \}/,
<a hre f=\"#{@build
f \ #{@build.uri}
uri} \
\">#{@build
>#{@build.id}</a
id}</a >")
> )
"<a
Fil e.open(template_f ile, "w") { ¦file¦
f ile.puts new_text
}
end
構成管理
# ...
36
© 2013 IBM Corporation
ファンクション ポイントの適用に 考が必要か?
ファンクション・ポイントの適用に一考が必要か?
トランザクション
ファンクション
入力(EI)
力( )
ユーザー
データ
ファンクション
出力(EO)
照会(EQ)
計測対象ソフトウ ア
計測対象ソフトウェア
200
7/2/
© 2013 IBM Corporation
Wrap Up
38
© 2013 IBM Corporation
まとめ
• 協働型のシステム(SoE)により、人間の行動センシングが主役に
• ITはより一層ユビキタス化し、データ爆発がますます進む
はより 層
キタ 化し、デ タ爆発 ますます進む
• ビッグデータのセンス・収集・解析・シミュレーションのサイクルが鍵
• DevOpsとSDEにより、インフラのプログラム化が進む
• FPは計測単位や導出される見積り方法に再考が必要となるかも
39
© 2013 IBM Corporation
Let’s build a
smarter planet.
l
New perspectives. New ways of working. New solutions.
40
© 2013 IBM Corporation