クラウド時代のUIの条件クラウドコンピューティングにおける課題の抽出と解決法
2009/11/18 (WED) 14:00-14:45 S6
安藤幸央 - 株式会社エクサ ([email protected])
慶應義塾大学環境情報学部非常勤講師
I think there is a world market for maybe five computers
恐らく世界中のコンピュータ市場の規模は、5台だろう。
Thomas John Watson 1943
(IBM創始者)
The world needs only five Computers.
世界に「コンピュータ」は5つあれば足りる。
Greg Papadopoulos 2006
(Sun Microsystems CTO)http://blogs.sun.com/Gregp/entry/the_world_needs_only_five
Cloud Computing への道のり?
古くは....
SaaS (Software as a Service)
ASP (Application Service Provider)
Utility Computing
Cloud Computing とは?Google の CEO, Eric Schmidt 氏が 2006年8月に提唱
@ Search Engine Strategies Conference
http://www.google.com/press/podium/ses2006.html より引用
What's interesting [now] is that there is an emergent new model, and you all are here because you are part of that new model. I don't think people have really understood how big this opportunity really is. It starts with the premise that the data services and architecture should be on servers. We call it cloud computing – they should be in a "cloud" somewhere. And that if you have the right kind of browser or the right kind of access, it doesn't matter whether you have a PC or a Mac or a mobile phone or a BlackBerry or what have you – or new devices still to be developed – you can get access to the cloud. There are a number of companies that have benefited from that. Obviously, Google, Yahoo!, eBay, Amazon come to mind. The computation and the data and so forth are in the servers.
雲(ネット)の向こうのコンピュータを使いたい時、使いたいだけ使う。
基本的な要素
どこにあるか解らない巨大なデータセンター
普通の Intel 系サーバーをベースとした仮想マシン環境
短期間単位で、使った分だけ少額支払う仕組み
ごくごく標準的なサーバー環境で、柔軟に拡大可能
Cloud Computing とは?
Cloud Spectrum
Instruction Set VM Bytecode VM Framework VM
Low High
Amazon EC2 Microsoft Azure Google AppEngine Salesforce
Y!OSIBM Blue Cloud
SaaS and Cloud matrixNetwork Storage Processing Development Application Business Enterprise Consumer
Akamai Acceleration
Amazon S3 EC2 SimpleDB
AT&T ● ● ● Web Meeting
Box.net ● ● ●
Google AppEngine AppEngine AppEngine Google Apps Gmail
IBM ● Blue Cloud
Microsoft ● ● Azure Azure Office Online Hotmail
Salesforce Force.com ● ●
SAP SAP Library ● ●
Sun ● Metro Web-S Metro Web-S Sun SOA Open Office Open Office
Terremark ● ● ●
Yahoo! Pipes Yahoo!Mail
Xcalibre ● ● ●
cf. http://blogs.zdnet.com/BTL/?p=11206
UI
+
Clouds
Photo by IgnacioConejo
Cloud の利点1.初期投資を極力少なく、スケーラブルなサービスを開始することができる
2.開発者側、サービス提供者にとってサーバのメンテナンスとは無縁
3.急に規模を拡大する必要になった場合、費用以外は比較的容易に増やせる
4.専用サーバーのレンタルと比べると安価に必要な分だけ借りることができる
5.サービス開始時、開発時のサーバーセットアップ作業の面倒さが無い
6. Web 上の様々なサービスを組み合わせて利用できる
7.必要に応じて資源を増減でき、計画的に環境を構築する作業が少なくてすむ
8.サービス提供者に、機器運用・管理・バックアップの手間がかからない
9.多くの一般的な共通のソフトウェアの組みあわせによって構成されている
Photo by argo72
Cloud の欠点1.ダウンタイムの対応が困難。原因が分かりにくい (Status Dashboard が必須)
2. 24時間365日動き続ける重要なアプリケーションの場合はまだまだ運用が難しい
3. OS環境、ソフトウェア環境など、自由なものを選ぶことが出来ない
4.サービス側の環境に合わせなければならず、ロックオンされる
5.細かいチューニングや、独自のカスタマイズなどが許されてない場合が多い
6.開発者にとって、全てをネットワークごしに行わなければならない即時性の無さ
7.従来の開発者が数千台、数万台といった巨大なサーバーリソースに慣れていない
8.クラウド環境に置けるロギングに関するソリューションが(現在)無い
9.旧来のデータセンターで運用しているアプリケーションの移行(移植)は難しい
Cloud Killer Applications1.規模の読めない携帯電話向けサイト2.新規 Web アプリケーション3.デスクトップツール・サービスを拡張するもの4.多量のデータを扱う、大量のバッチ作業5.時期や時間によって大きく利用率が変化するもの6.人材も初期投資も抑えたい、ベンチャー系のサービス7.イベントや告知などで、一気にデータ配布する時8.プロトタイプ作成時の迅速なテスト環境として使う
NY TimesNASDAQSlideShareDropBox
ESPNSecondLife
Cloud 提供者になりたい場合1.大規模でサービス可能な資金があること。薄利多売
2.既存のインフラを有効に使えること (Mixi, Amazon,楽天他)
3.今までの技術を上手く流用できること(Microsoft,Google他)
4.大量のハードウェアを安価に入手できること (DELL)
5.サービスのプラットフォームを持っていること(Facebook)
6.現在主流のサービスで信頼性が広まっていること (Yahoo!)
7.現在多くの顧客を持っていること (Salesforce, Microsoft)
Top 10 O&OObstacles & Opportunities
by Robin Harris
http://storagemojo.com/
障害と機会
Top 10 O&O (Obstacles & Opportunities)
Availability of a Service
障害によるサービス停止
DDoS アタック
複数クラウド運用による可用性
複数データセンター場所指定、分散による可用性
素早くスケールアップして対応
01
Top 10 O&O (Obstacles & Opportunities)
Data Lock-in
特定の環境に依存してしまう
API の標準化
標準的な API の利用
プライベートクラウドでの運用
容量(費用)を超えた時、安価なクラウドに移れる仕組み
02
Top 10 O&O (Obstacles & Opportunities)
Data Confidentiality and Auditability
プライバシー問題、セキュリティーの懸念
暗号化したデータを置く
感情的な問題
米国では銀行や製薬業界も利用し始めている
ヨーロッパでは自国内の EC2 を利用
03
Top 10 O&O (Obstacles & Opportunities)
Data Transfer Bottlenecks
データ転送コストの問題
近い場所にハードディスクで送付
一度データを格納してしまえば、クラウド間の転送は問題にならない
自前でネットワーク帯域を確保するよりも結局安価
04
Top 10 O&O (Obstacles & Opportunities)
Performance Unpredictability
VM だとdisk I/O, memory I/O が遅い?
VMの準仮想化 (Hypervisor) に期待
アーキテクチャをよく考える
キャッシングの効果を最大限に利用する
クラウド環境も SSD(Solid State Drive) に移行?
05
Top 10 O&O (Obstacles & Opportunities)
Scalable Storage
ストレージ自身の規模拡張、クラウド化は難しい
商用のクラウドストレージを使う
極端な即時性を求めない
エラーや遅延を前提とした考え (例 : Twitter)
技術革新と既存技術の組みあわせが求められている
06
Top 10 O&O (Obstacles & Opportunities)
Bugs in Large Scape Distribution Systems
巨大なシステムのバグ取りの難しさ
VM 環境でのデバッグ
小規模なパーソナルクラウドでのデバッグ
エラーを無視するというおおらかさ
07
Top 10 O&O (Obstacles & Opportunities)
Scaling Quickly
素早いスケーリング
自前だとプランニングが難しいが、クラウドだと費用次第
サービス形態そのものがスケール可能である考慮
(例:SNS)
CPUインスタンス時間ではなく純粋に負荷に対して課金
08
Top 10 O&O (Obstacles & Opportunities)
Reputation Fate Sharing
クラウド内サービスでの悪い評判への対処
ホワイトリストやフィルタリング
信頼サイト登録のような仕組みが必要
09
Top 10 O&O (Obstacles & Opportunities)
Software Licensing
膨れあがるソフトウェアライセンスの問題
クラウドに適したライセンス形態(従量課金)
プリペイド形式など
無料でオープンなソフトウェアを最大限活用
10
Cloud Client
Cloud のもう一つの本質
Cloud のもう一つの本質
Cloud UI O&O
課題と解決
SPEED
SUSTAINABILITY
SAFETY
SPEED
SUSTAINABILITY
SECURITY
0.1秒遅くなると、売り上げが1%減少する
約200億ドル
0.5秒遅くなると、検索数が20%減少する
AdWords
遅さの??% : 遅さの??%
Browser vs. Server
遅さの80% : 遅さの20%
Browser : Server
クラウドと意識させないためには
「スピード」が命 = そこにある感
サーバ側を必死でチューニングするよりも、
ブラウザ側を速くする方が効果あり
ブラウザの進化は JavaScript の速度に依存する
2年前なら遅すぎてできなかったことが
今なら出来る (Eric Meyer)
photo by PageBoy
Google Chrome/V8の登場
JavaScript の「超」高速化
Browser Wars (Safari/FF/IE)Safari 4 Developer mode
Firefox+Firebug+YSlow
IE8 Developer toolbar
画像の最適化、まとめた画像
httpリクエストの最少化
CSS/JavaScriptチューニング
High Performance Web Sitehttp://stevesouders.com/hpws/rules.php
Rule 1 - Make Fewer HTTP RequestsRule 2 - Use a Content Delivery NetworkRule 3 - Add an Expires HeaderRule 4 - Gzip ComponentsRule 5 - Put Stylesheets at the TopRule 6 - Put Scripts at the BottomRule 7 - Avoid CSS ExpressionsRule 8 - Make JavaScript and CSS ExternalRule 9 - Reduce DNS LookupsRule 10 - Minify JavaScriptRule 11 - Avoid RedirectsRule 12 - Remove Duplicate ScriptsRule 13 - Configure ETagsRule 14 - Make AJAX Cacheable
着目ポイント1.クラウド自身どこにあるか分からないものを操作する。安心感が欲しい。処理の流れが見え、把握できる要素。
2.必ずしも高いレスポンス性が無くとも違和感やストレスを感じさせないつくり。データの移動効率を考える。
3. NetBook の小さな画面、モバイルでも目的が果たせる。
4.模倣も一つの手段。「慣れている」ことも大切な要因。
5.使える場所に限定されないことも使うスピードに繋がる
UIからみた提言
1.大量の情報を俯瞰してみせる、目的のものを探し出す
2.画面サイズに応じた適切な UI(PC/携帯/TV/Projector)
3.凝った見栄えでなくとも素早い開発にも意味がある
1.Photoshop で見栄えを整えるのではなくブラウザ上で
4.即時性 (Google Translate, Google Wave) も要素の一つ
5.データや情報の移動効率を考える。小さな塊と大きな塊。
by Andy Clarke
wave
SPEED
SUSTAINABILITY
SECURITY
SEAMLESS
Offline + Mobile1.クラウド単体ではなく、オフライン利用も考慮する2.ネットは整っているが、遅い場所つながらない場所もある3.オンラインとオフラインの連携こそが重要。できること?
1. (例 : Dropbox, Gmail)
4.オンライン状態なのかオフライン状態なのか状況を伝えるa) Safari + local database storage (5MB) : SQLite 3b) Gears (Google Gears)c) Mozilla Prismd) HTML 5e) Adobe AIR
UIからみた提言1.インアプリ(組み込み済みの機能をクラウド側から更新)
2.複数のデスクトップ(ブラウザ)とモバイル環境での連携
3.類似サービスからの移行、データの移行、移植性を考慮
4.使い始めの障壁を下げる努力(登録・課金など)
5.利用者のみならずクラウド管理者にとっても簡便な環境
1.定常監視、キャパシティ管理、トラブル対応、復旧
6.クラウドは更新が容易。日々改善していくことを考える
SPEED
SUSTAINABILITY
SAFETY
STABLE
UIからの提言1.クラウド利用は「安心」「信頼」「透明性」が重要
2.守りたいプライバシーと便利さのレベルを定義できる
3.万全のバックアップ体制、ユーザー個人のバックアップも。
4.素早い復旧体制(Microsoft Danger の悪例)
5.強固な暗号化(万が一データが漏れても影響を最小限に)
6.料金体系、SLA(Service Level Agreement) サービス品質保証
7.ディフェンシブデザイン。うまくいかない時にどうするか。
Status DashBoard
1.人がコントロールできる量の物を見せる。選択させる。
2.人が使い方を工夫して解決できることは人にまかせる。
3.デスクトップ(机)の模倣から逃れる (ScanSnap+Evernote)
4.中核機能から作り、徐々に周辺に広めていく
5.問題がみつかった場所の周辺に真の問題が潜んでいる
6.クラウドは更新が容易。日々改良していくことを考える
UIからの提言
Cloud のこれから(技術面から)1.最適化クラウドとしての広がり(HPC分野、スループット)2.クラウドアーキテクチャのパターン化(得意・不得意)3.データ構造の最適化4.運用技術の蓄積5.大規模で並列的なアプリケーションの発想6.クラウド環境で効率の良いデータ構造の研究7.可用性の検討と、複数クラウドでのバックアップ体制8.オフラインクライアントとの連携9.ネットワーク構造自身もクラウド化 (Ciscoが進めている)10.使った分だけ支払うの逆。定額料金性の運用もありえる
説得方法
セキュリティが心配
大切なデータは暗号化して保存
強固なデータセンターと同程度。DB間通信も暗号化情報流出のほとんどは人的な要因。パーソナルクラウド利用
止まったら困ります
自分でやっても止まりますよね?
Status 監視や、不具合時対応の移管、SLA(Service Level Agreement) による保証と割引など
説得方法
銀行にお金を預けますよね?
説得方法
自分で発電しませんよね?
説得方法
経済状況が厳しい今だからこそ固定資産を持たない運用を。
Cloud 専用データセンター5000台/人
Amazon Mechanical Turk人手でしかできない作業をクラウドコンピューティング化
対価の 10% を Amazon が得る
Ten Thousand Cents <http://www.tenthousandcents.com/>
触らないユーザインタフェース
物質を置き換えるクラウド
dressfile
フォントもクラウドに。ユーザビリティテストも
クラウドに
http://typekit.com/
http://www.loop11.com/
考える前に飛べ!Thomas John Watson (IBM)
Photo by FaviinCayman
opengl.jp/blogger
twitter.com/yukio_andoh
ui-patterns.jp
twitter.com/ui_hacks
Resources AWS Blog
http://aws.typepad.com/
CLOUDnews
http://cloud.manabing.jp/
Cloud Computing Journal
http://cloudcomputing.sys-con.com/
Oracle Cloud Computing Center
http://www.oracle.com/technology/tech/cloud/
IBM Cloud Computing
http://www.ibm.com/ibm/cloud/
IT系以外の書籍にUI のヒントがある