2008/11/13
1
Cloud 時代の到来
早稲田大学
丸山不二夫
はじめに
Cloudは、現在進行中の歴史的な変化である。
その意味で、筆者は、Cloudの「厳密な」定義を与ええようとは思わない。けだし、未来や歴史を定義することなどできないからである。
いろんなCloud概念があって構わない。
歴史的なアプローチを通じて、多くのCloud概念の中から、共通のコアの部分を見つけ出してみよう。
Agenda
我々は、どういう時代にいるのか?
Cloudの時代の始まり
Cloudとは何か?
Scale-outするシステム
Cloud OSの登場
この40年以上ものあいだ、IT技術の革新のドライビング・フォースは、Mooreの法則であった。同時に、Mooreの法則は、経済的には多くの負荷を、ITベンダに与えることにもなった。あと10数年で、Mooreの法則は、その終焉を迎えようとしている。その最後を飾るのは、高機能なMobile Deviceかもしれない。
我々は、どういう時代にいるのか?--- Mooreの法則の諸帰結
IBMシステム/3601963年
40年前 40年前
2008/11/13
2
System/360 Announcement
Powerful main memories - - containingup to 524,000 characters of information - - range from 2.5 millionths-of-a-second down to one millionth-of-a-second.A key development provides 8,000,000
characters in bulk core storage
The computer's historic limitations on memory size are overcome by this development.http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PR360.html
40年前
http://www.intel.com/technology/silicon/mooreslaw/index.htm
Moore’s Law40th Anniversary2005年
1965年
Mooreの法則 回路の集積度
パフォーマンスMooreの法則 価格Mooreの法則
原油の価格が、1.5年で半分になったとしたら、石油業界はやっていけるだろうか?
情報1bitを蓄えるのに必要な電子の数
X
?
Moore則の限界Mooreの法則
Multi-Core /Scale-outへ
東大大型計算機センターのHITAC8800/8700
30年前
2008/11/13
3
• 主メモリー 4MB• スワップ用ドラム 16MB• ファイル用ドラム 8MB• 集団ディスク 2.13GB• IOプロセッサー 8MB/sec
30年前
東大大型計算機センターのHITAC8800/87001975年東大大型計算機センターのHITAC8800/8700
30年前
1977年
30年前
TRS-80
• CPU Z80 1.8Mz• Memory 4KB
20年前
Sun3/260
• CPU 68020 25MH• Memory 4MB• Disk 120M
約2,000万円
1987年 wakhok丸山研究室
10年前
System全体でMemory 8GDisk 1TStorage 2T
1999年 wakhokシステム 10年前
Memory 1G x 8
87,589,200円Disk 1T
61,256,000円
Backend 3T
16,966,000円
CPU 400MHz x 8
1999年 wakhokシステム
カタログ価格
2008/11/13
4
現在
Memory 4GDisk 0.5TCPU 2.4GHz x 2
56,800円!
現在
Disk 1T
9,480円!
ネットワークの進化(Gilder則)
Log Growth
100
10,000
1M2x/6-9mo
2x/18mo
Y 97 99 01 03 05 07
コンピュータの進化(Moore則)がを上回る。
Scale-upからScale-outへ
1980年以来の変化
マイクロプロセッサのパフォーマンスは、1万倍以上 (1 MHz 3.5GHz, 8 bit 64 bit)
メガバイトあたりのメモリの値段は、3万分の一 ($3,500 10 cents)
一般ユーザのネットワーク接続のスピードは、100万倍 (96 baud 100Mbps)
メガバイトあたりのディスクの値段は、 360万分の一 ($1,200 .033 cents)
20世紀末に、ネットワークの世界では二つの大きな変化が進行する。一つは、インターネットの登場とその爆発的な普及であり、もう一つは、携帯電話の登場と、その爆発的な普及である。
20世紀末に起きたこと
0
200
400
600
800
1000
1200
1400
1600
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
系列1
1993/06 1995/06
1993年 1994年 1995年
6月10月
3月
800K
1200K
400K
インターネットの爆発
2008/11/13
5
コンピュータの数より携帯の数のほうが多い
“You Are Here”
10^10
10^9
10^8
„95 „97 „99 „01 „03 „05 „07
Computer
MAD (Mass Access ConsumerDevices)
携帯電話の急速な普及
CRAY-1 Memory 4M CPU 80MHz 500万$Android Memory 192M CPU 528MHz 178$
2008年 1075年
CloudとMobile Device
Cloudの時代の始まり
Cloudは、インターネットCloudから生まれた。無数の個人がWebをプラットフォームとしてネットワークへ参加する中で、ネットワークがサービスを提供するという考えは一般化した。エンタープライズで主流のWebアプリも、SOAの考え方も、基本的には、同じ考えに基づいている。
小さなCloud
Request
Response
invoke
小さなCloud
2008/11/13
6
大きなインターネットCloud
Web2.0 Summit2006 11/7-9
Cloud概念の登場
Web2.0 Summit 2006
Microsoft : Debra ChrapatyIt’s all about the Infrastructurehttp://conferences.oreillynet.com/presentations/web2con06/chrapaty.ppt
Google : Marrisa MayerA Secret Google Discovered …http://conferences.oreillynet.com/presentations/web2con06/mayer.ppt
Amazon : Jeff BezosWeb Scale Computinghttp://conferences.oreillynet.com/presentations/web2con06/bezos.ppt
Cloud
Cloud という偉大な経験
世界中の人々が、いつもインターネットのcloudにつながっていると信じています。
それはまさに、我々が望んでいたことです。我々の顧客は、望んだものを、望んだ時間に、望んだデバイス上で得ることが出来るのです。
我々の顧客は、サービスや情報がcloudから来ると考えています。-- この経験こそ、まさに、我々が彼らに持たせようとしたものなのです。
“It's All About the Infrastructure”, Web2.0 Summit
Debra Chrapaty, MicroSoft
Cloudの実体
ネットワークのインフラ
多数のサーバ
データセンタ
2008/11/13
7
ネットワーク上の多様なサービスの展開
インターネットの爆発から、わずか10数年の間に、驚くほど多様なネットワーク上のネットワークサービスが展開されている。こうした変化を技術の進化としてだけではなく、新しいサービスの登場として捉える視点が重要である。
すべては、Googleから始まった!
これは、Webアプリか?
検索サービス巨大なクラスタが提供するサービス
これは、Webアプリか?
動画コンテンツ配信サービス
これは、Webアプリか?
2008/11/13
8
論理的に可能な経路 N=n(n-3)/2
n=10,000 N=50,000,000
Long Tailの可能性
個人データの保存+個人データの自由な交換
マッシュアップされたサービス
SaaS (Software as a Service)
サービスとしてのソフトウェアネットワーク上を流れる情報の止むことのない増大
コンピュータの処理能力は増大したのだが、処理すべき情報の量は、それを上回るスピードで増大を続けている。インターネットの爆発とは、ネットワーク上に流れる情報の量の爆発的な増加であった。
その傾向は、今も、止むことはない。
Googleのビジョン
全世界の情報を、組織し、アクセス可能にするという夢は、ほとんど達成可能なところにまで来ている!
Webのスケール
Googleは、数十億のwebドキュメントにindexを付けている Web pages: ライバル社の3倍以上
Images: 20億以上の画像イメージ
News: 4500のソースから。 常に更新されている
File types: 3500万以上のnon-HTML文書
UseNet messages: 10億以上のメッセージ
数ペタバイトのデータ
ドキュメントは、35以上の言語でindex
2008/11/13
9
ネットワークを流れる情報の量メディア別
Internet Radio
64kbps 21GB/一月
Youtube
512kbps 166GB/一月
HDTV
4000kbps 1296GB/一月
ネットワークを流れる情報の量ネットワーク帯域別
1M (ADSL…)
22時間/10GB 324GB/一月
4M (e-Mobile…)
6時間/10GB 1296GB/一月
20M (FTTH…)
1時間/10GB 6480GB/一月
一月のデータ転送の上限1G ?データ通信上限設定が20G/月 あるいは 250GB/月の場合
Internet Radio
104%/20GB上限 8%/250GB上限
Youtube
829%/20GB上限 66%/250GB上限
HDTV
518%/20GB上限 6480%/250GB上限
Cloudとはなにか?
Cloudとは何か? -- 広い意味で
ネットワークを通じて、サービスを提供するシステム。
ネットワークで結合された、多数のサーバ群で構成されたシステム。
2008/11/13
10
Cloudとは何か? -- 疑問
ネットワークを通じて、サービスを提供するシステム。
WebアプリやSOAとどう違うのか?
ネットワークで結合された、多数のサーバ群で構成されたシステム。
自社やデータセンタのサーバーとどう違うのか?
Cloudとは何か? -- 違いは?
ネットワークを通じて、サービスを提供するシステム。
サービス提供のスタイルが違う。
ネットワークで結合された、多数のサーバ群で構成されたシステム。
規模と結合のスタイルが違う。
Cloudのサービス提供のスタイル
ユーザは、サーバ施設を所有せずに、Cloudからのサービスのみを受け取る。
サーバ導入に伴う固定的な経費がいらない。
利用の多寡に応じた、従量制の課金体系。
ユーザは、サーバ施設の保守・管理の人的負担とコストから解放される。
かつ、ユーザは、Cloudのサービス内容を、自由に構成できる。
あるいは、サービスの実装を知る必要がない。
Cloudのネットワークの特徴
大規模化を徹底して推進する。
スケールメリットによるコスト・ダウン。
ダウン時間なしの高可用性。
ネットワーク上の多数のマシンとリソースを協調動作可能にするCloud OS。
安価なマシンを多数並べる、Scale-outのデザイン。
Cloudの成立と巨大化と寡占化の進行
Cloudが、誰にも必要な新しい社会インフラになる半面で、その巨大化と寡占化が進行している。
「世界には、5つのコンピュータがあればいい。」
Cloudの主要なプレーヤ達
Amazon
MocroSoft
IBM
Yahoo
e-Bay
Akamai
MySpace
2008/11/13
11
2008/11/13
12
世界第四位のサーバー・メーカー?
Dell
HP
IBM
?
北米におけるGoogleデータセンターの位置(推定)
GoogleのデータセンタGoogle の場合、データセンターの運営は同社の強みであるとして、データセンターの数などの詳細を企業秘密としており、正式に公表はしていない。しかしながらデータセンターに関するニュースを配信する” Data Center Knowledge”によると、2008 年3 月現在、同社の米国内におけるデータセンターの数は16 ヶ所(それに加えて3 ヶ所を建設中)であり、また、米国外では、尐なくとも17 ヶ所のデータセンターを所有すると推定されている。この中でも、米国内では、オレゴン州ダレス、ジョージア州アトランタ(2 ヶ所)、バージニア州レストンに位置するデータセンターは特に重要な施設と見られている。また、米国外の分布は、判明している範囲内では、ヨーロッパに12 施設、アジアに3 施設、ロシアと南アメリカにそれぞれ1 施設などと欧州地域が多い。なお、現在、同社は、マレーシアや台湾地区など、アジア地区でのデータセンターの新設に焦点を当てているとの報道もある。
Newyork JETRO/IPA の市川類氏のレポートから
Microsoftのサーバー増設の取組
Microsoft も、Google と同様、データセンターの数を公開していないが、同社のGlobal Foundation Services 担当副社長によると、サーバ数は現在毎月1 万台単位で増加9しているとしており、今後数年間は、サーバの増加数が月間2 万台まで成長すると見込んでいる。
また、同社は2008 年6 月、アイオワ州デモインで、新データセンターの建設に着工すると発表した。他にも同社は現在、イリノイ州ノースレークで、5 億ドルを投じて55 万sqf のデータセンターの建設を行っている他、テキサス州サンアントニオやアイルランドのダブリンでもデータセンターを建設中とされる。
Newyork JETRO/IPA の市川類氏のレポートから
IBMのデータセンタ設置の取組
IBMは、ノース・カロライナ州のリサーチ・トライアングルにアウトソーシング向けのデータ・センターを新設する。これに伴い、同社は、総額3億 6000万ドルを費やす計画だ。同センターでは、水冷式コンピュータを大量に導入することで電力消費量を極力抑えるという。同センターの機能の大半は、顧客各社の緊急用バックアップ・システムに使われるが、同時に、クラウド・コンピューティング・サービスにも使われる予定。【8月4日WSJ】
IBMは、世界各国に新たに13の専用センター「ビジネス・レジリエンス・センターズ」を新設する。新たに施設を設立する場所には、香港、北京、上海、東京ほか、欧米各地の主要都市が含まれている。同社によると、この分野における投資では、これまでで最大規模になるという。施設は年内に稼働を開始する予定。センターでは、データの保存、複製、復旧に加えて、クラウド・コンピューティングを使ったビジネス・アプリケーションを提供していく。【8月21日Computer World】
Newyork JETRO/IPA の市川類氏のレポートから
HP、Yahoo!、Intel、大規模クラウドコンピューティング研究事業を発表
米Hewlett-Packard(HP)、米Yahoo!、米Intelは7月29日、主に研究と教育利用を目的とした、オープンソースのクラウドコンピューティングテスト環境「Cloud Computing Test Bed」の開設を発表した。教育機関や政府機関が、コンピューティングリソースを必要なときに必要なだけ、低コストで利用できるようにするのが狙い。
3社はクラウドコンピューティングに関するソフトウェア、データセンター管理、ハードウェア上の課題などを研究する分散型のテスト環境を提供する。クラウドアプリケーションとサービスの研究も支援する。
HP、Yahoo!、Intelは、シンガポールの情報通信開発庁(IDA)、米イリノイ大学アーバナシャンペーン校、独カールスルーエ工科大学と提携し、研究イニシアチブを形成。イリノイ大学とともに、米国科学財団(NSF)も参加している。
http://www.itmedia.co.jp/news/articles/0807/30/news020.html
2008/11/13
13
Scale-outするシステム
Cloudのシステムの最大の特徴は、システム
に対する要求の増大に対して、サーバを高機能化=Scale-upするのではなく、多数のマシンを並べるScale-outする戦略を取っていることである。
$10,000
machine
$1000machi
ne
Scale-up と Scale-out
価格
$500machi
ne
# MachinesScale Up
$500machi
ne
$500machi
ne
$500machi
ne
価格
$500machi
ne
Scale Out
性能は、価格にリニアにスケールする
Scale-up: Scale-out
Googleは、なぜ、安いPCを使うのか?
33倍ほど、PCクラスのサーバのほうがコストパフォーマンスがいい
“ENIAC は、17,468 個の真空管 、7,200個のクリスタルダイオード、 1,500 個のリレー、 70,000の抵抗、10,000 のコンデンサを含み、約500万のはんだ付け箇所があった。
システム障害--昔からの古い問題
2008/11/13
14
“真空管は大体二日でひとつは壊れた。問題を解くのは、15分以内に行わなければならなかった。“
1954年には、失敗せずに動かせた最長連続期間は116時間(約5日間)であった。
システム障害--昔からの古い問題
3-year MTBFだとしても, 1000台のうち一台は、毎日だめになるという計算になる。
最小のGoogleのアプリケーションでも、2000台のマシンを必要とする。
こうした障害をソフトでどう対応するか?データの多重化と冗長化は、この規模ではどうしても必要となる。
システム障害—Scale-outの新しい問題
システム障害についてのGoogle流の考え方の一例
だから、なぜ、高価な信頼性の高いハードのことで思い悩むのか?
信頼性の高いハードは、ソフトウェア技術者を怠け者にする
障害に強いソフトウェアが、安いハードを役に立つものに変えるのだ
Ben Jai, Google Platforms Architect「Googleはなにをしているのか?」より
システム障害についてのCloudの考え方のポイント
沢山のマシンから構成されるシステムでは、障害は、確率的には必ず起きるものである。
障害が起きるのは、当然のことであるという前提にたってシステムを構成すること。
本当に安いマシンで大丈夫か? Scale-upでも障害は起こりえる!
2008/11/13
15
「あり得ないことが起きた」 ここで問題。
稼働率が、99.9%のシステムがあったとしよう。このシステムの稼働率を99.99%にするためには、おおよそ、どれくらいのコストがかかるだろうか?
解答: 2倍のコストがかかる
99.9%の稼働率の同じシステムを二つ用意して、一方がダウンしたら、もう一方に切り替えるようにする。
このシステムがダウンするのは、両方のシステムが、同時にダウンした場合だけ。
その確率は、0.1% x 0.1% =0.01%
よって、このシステムの稼働率は、99.99%になる。
Cloudの先駆、GoogleScale-outするシステム(1)
Cloudの特徴であるScale-outするシステムは、歴史的には、Googleの大規模分散システム GFS,BigTable,MapReduce等によって、初めて実現された。
それは、ネットワークに登場し始めた無数の個人たちが生成する、情報の急速な拡大を、ターゲットとしていた。
Googleのビジョン、再び
全世界の情報を、組織し、アクセス可能にするという夢は、ほとんど達成可能なところにまで来ている !
Googleの提供するサービス
検索サービス 地図情報サービス 乗り換え検索 Youtube Gmail Blog Google Group Gtalk カレンダー 写真共有 ドキュメント共有 ……
Google App Engine Open Social Google Gear GDATA 様々のAPI ……
2008/11/13
16
GFS chunkserver
Linux File System
GFS chunkserver
Linux File System
Application
GFS Client
GFS Architecture
Chunk 2ef0GFS Master
File NameSpace
/foo/bar
(file name,chunk index)
(chunk handle,chunk location)
(chunk handle,byte range)
chunk data
Instruction to chunkserver
Chunkserver state
・・・・・・・・
・・・・
GFS=Googleの分散ファイルシステム
Googleの分散データベース=BigTableTablets の分割
“aaa.com”
“cnn.com”
“cnn.com’sports.html
“webside.com”
…
“zuppa.com’menu.html”
…
“language:” “contents:”
BigTable Tabletsの分割
“aaa.com”
“cnn.com”
“cnn.com/sports.html
“webside.com”
…
“yahoo.com/kids.html”
“yahoo.com/kids.html”
…
“zuppa.com’menu.html”
…
“language:” “contents:”
Tablets Split
Googleの分散アルゴリズム=MapReduce
CloudのEnterprise利用Scale-outするシステム(2)
Google型の大規模分散システムのみが、Cloudのアーキテクチャーではない。
実践的には、Web Multi-Tier ApplicationのScale-Out戦略は重要であり、Cloudのアーキテクチャーにも大きな影響を与えている。
Cloudのエンタープライズ分野での活用の、新しい焦点となりつつある。
Web Appli Multi-tier のScale-out戦略
Web Server Business LogicDaa Base
2008/11/13
17
・・・・・・・
Web Appli Multi-tier のScale-out戦略
Load Balancer
Web Server Business Logic
Daa Base
・・・・・・・
Web Appli Multi-tier のBottle Neck
Load Balancer
Web Server Business Logic
Daa Base
Multi-tier の分散メモリーCache
・・・・・・・
Load Balancer
Web Server Business Logic
Daa Base
分散メモリーCache / Data Grid
Oracle Coherencehttp://coherence.oracle.com/display/COH33UG/Coherence+3.3+Home
IBM Object Gridhttp://www.ibm.com/developerworks/downloads/ws/wsdg/learn.html?S_TACT=105AGY09
GiGaSpacehttp://www.gigaspaces.com/
Terracottahttp://terracottatech.com/
Key/Value の形式
Cloud上の分散データベース
On MemoryHash
Persistency
Cloud 上の分散データベース
Google: BigTable + Google App Enginehttp://labs.google.com/papers/bigtable-osdi06.pdf
Microsoft: SSDS(SQL Server Data Service)http://www.microsoft.com/sql/dataservices/default.mspx
Amazon: SimpleDBhttp://www.amazon.com/SimpleDB-AWS-Service-Pricing/b?ie=UTF8&node=342335011
Amazon: Dynamohttp://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
2008/11/13
18
Cloud OSの登場
Cloudでの最近の注目
すべき動きは、マイクロソフト社が、Cloudへの本格参入を宣言したことである。同社のWindows Azureは、
画期的なものである。今後のレクチャーでも取り上げていく予定である。
Google Basic Computing Cluster
Job 0Task
BigMemory JobTask
GFSChunkServer
WorkqueueSlave
Job NTask
BigMemory JobTask
GFSChunkServer
WorkqueueSlave
Machine 1 Machine N
GFSMaster
WorkqueueMaster
ハードを選んで、組み立てる デバイスドライバを見つける ファイルシステムを書く ジョブスケジューラを書く アプリのインストーラを書く …
とんでもなく手間がかかる!
PC上のアプリを次のような手順で開発することを想像してみよう
ハードからは抽象化されたアプリの実行環境
アクセスコントロール付きの共有ファイルシステム
共有プールからのリソースの割り当て 強力な開発環境のサポート 他のシステムとのインターオペラビリティ ……..
PCでの解答は?Operating System
Cloudサービスの開発も、現在では非常に手間がかかる!
Business logic
Datacenter
ハードのエラーへの対応
ストレージの容量の追加
トラフィックの増大に対応する
サービスのエラーの診断
OSにパッチを当てる
ソフトの更新を行う
新しいlocaleに拡張する
Service “glue”and operations
…
Cloudで欠けていたものは?CloudのためのOperating System
….Service 1 Service 2 Service NService 3
……
2008/11/13
19
PCのOSが提供するのと同じ機能。ただし結合されたサーバ上で。 抽象的な実行環境 共有ファイルシステム リソースの割り当て 開発環境
さらに、 Utility computing 24時間/7日の可用性 従量制課金 簡単で、見通しのよい管理
Cloud OSが提供すべきものは何か?
サービス管理の自動化 ルールを定義してコードを与える プラットフォームはルールに従って、サービスを配備しモニタし管理する
強力なサービスのホスティング環境 全てのハードウェア:
servers; load balancers; … 仮想化と直接の実行
スケーラブルで可用性の高いCloudストレージ Blobs, tables, queues, …
豊富で、かつ身近な開発環境
Windows AzureCloud OS が可能としたもの
まとめ
Cloud技術は、IT技術の絶えざる高性能化・低価格化のなかで、技術が新しい歴史の段階にさしかかったことを示している。
そうした技術を利用して、我々があるいは機械が産み出す情報も、爆発的に増大している。
ITの世界はカンブリア紀を迎えようとしている。
まとめ
Cloud技術の核心は、多数のマシンを協調動作させる、Scale-outの技術である。
Cloudの焦点は、コンシューマ向けのサービスからエンタープライズ向けのサービスに変わりつつある。
Cloud化は、明白な経済的なメリットを伴っている。昨今の世界的な不況は、Cloud化を推進する強力な梃子となるであろう。