JFPUG 20th Open Seminar session1
Short Description
Download JFPUG 20th Open Seminar session1...
Description
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 \} \}/, #{@build >#{@build.id}
View more...
Comments