building petascale clouds · • クラウドを利用する >...

31
1 1 道高チーフ・テクノロジスト サン・マイクロシステムズ株式会社 Building Petascale Clouds Sun Clound Computing 戦略

Upload: others

Post on 07-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

11

下道高志チーフ・テクノロジスト

サン・マイクロシステムズ株式会社

Building Petascale Clouds Sunの Clound Computing 戦略

Page 2: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 2Oct. 30, 2008

クラウド・コンピューティングを取り巻く環境

Page 3: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 3Oct. 30, 2008

技術進化:クラウド・コンピューティングに影響

クラウド・コンピューテイングコンピュータ技術

Webの進化

仮想化

グリッド/ユティリティコンピューティング

オープン・ソース

Page 4: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 4Oct. 30, 2008

アプリケーション・アーキテクチャ

Persistence TierPersistence Tier

Presentation TierPresentation Tier

Application TierApplication Tier

伝統的な n-Tier アーキテクチャ

Page 5: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 5Oct. 30, 2008

Webの進化

Web 1.0The World Wide Web

(read-only)

Web 2.0The Social Web

(read-write)

Web 3.0The Semantic Web(read-write-execute)

Web 4.0The Intelligent Web

’ データ’のみソーシャル・コンテンツ / 活動

’人’に依存エージェント/デバイスで処理

統計+ 大規模 - 構造化データには不適例 . Google, Autonomy

タギング+ 利用が簡単 r - 手作業が必用例 . Technorati, Del.icio.us

言語+ テキストから知識を抽出 - 言語依存例 . Powerset, Attensity

センマンティクス+洗練されたアプリ - スケール難例 . Metaweb,Radar Networks

A.I.+ 自己学習機能 - 時間が必用例 . Cycorp

Page 6: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 6Oct. 30, 2008

Web2.0アプリケーション・アーキテクチャ

Persistence TierPersistence Tier

Presentation / Application TierPresentation / Application Tier

“Share Nothing” アーキテクチャC

aching Module

Caching M

odule

DFS ModuleDFS Module

LB ModuleLB Module

Messaging M

oduleM

essaging Module

Batch FarmBatch Farm

Page 7: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 7Oct. 30, 2008

Virtualiazation:仮想化(抽象化層)

DatacenterVirtualization

Network Virtualizaiton

Server/OS virtualization

ApplicationVirtualization

CPU Virtualization

Storage Virtualization

Memory Virtualization

Client/Desktop Virtualization

Page 8: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 8Oct. 30, 2008

グリッド/ユティリティコンピューティング

Page 9: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 9Oct. 30, 2008

オープンソース (S/Wマーケット 3.0)

c.2000-

c.1980-2000

統合 適用1.0 :H/Wから独立

c.1970-1980

2.0 :S/W単体販売

3.0 :利用毎の課金

Page 10: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 10Oct. 30, 2008

ボトムアップからの適用アクセスできるものから適用

デスクトップ データセンター

Page 11: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 11Oct. 30, 2008

クラウド・コンピューティングとは?技術的には??

Page 12: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 12Oct. 30, 2008

クラウド・コンピューティングとは?

似たような用語/アーキテクチャ

• ユティリティ・コンピューティング

> 利用毎の課金体系> 例: N. Carr, the Big S/Witch

• SaaS – S/W as a service > アプリケーションの提供> 例: Salesforce, GoogleApps

• PaaS – Platform as a Service > ” ”アプリケーション インフラ を提供> 例: Google App Engine, Force.com,

Morph, AWS (Amazon Web Services)- packaged AMIs

• IaaS – Infrastructure as a Service > H/Wと基本 S/W を提供> 例: AWS - EC2/S3, BlueLock

• ” ”「データは インターネット上の何処か のサーバ上にあり、アプリ” ” ” ”ケーションは クラウドの中にあるサーバ と ユーザのブラウザ の両

方で稼働するアーキテクチャと言える」 Eric Schmidt in Information Factories by G. Gilder.

CPUdisk

host OS

guestOS

platform svccontainers

app

IaaS

PaaS

Page 13: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 13Oct. 30, 2008

クラウド空間のエコ・システムパートナーとサービスの関係

ディベロッパ向け vs 企業向け

抽象化レベル

コア・インフラストラクチャの提供

付加サービスの提供

Page 14: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 14Oct. 30, 2008

次世代の 'スタック ' サービス、ネットとの親和性、オープン等がキーワード

1998 2008 ?

Page 15: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 15Oct. 30, 2008

クラウドの有用性  借用か自前調達か?• ハードウェアを保持せずクラウドを使う

> スタートアップ企業、研究開発プロジェクト• クラウドを利用する

> 一時的にリソースが必要な場合> 特定の機能が必要な場合

• 自前のクラウドを”クラウドの中に”作る> 企業用としてのインフラストラクチャ・グリッド (internal 'AWS')> 標準化された開発環境やサービス (internal 'Google Apps)

• クラウドになる> クラウドおよびそのサービスを新規ビジネスとして提供

Page 16: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 16Oct. 30, 2008

クラウドを利用する目的開発とテスト

(例: SOASTA)

機能のオフロード(Storage –例: TimesMachine)

機能のオフロード(バッチ処理–例 :SmugMug)

 コンピュータリソース増強(一時的な利用–例 :Animoto)

Web Service

Page 17: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 17Oct. 30, 2008

スーパースケール・クラウド・アーキテクチャ 仮想化、モジュール化、サービス

ロード・バランシングオープン・ソース・アーキテクチャに適したものへ以降● L7 H/W – 高性能/耐高負荷

構造化データ複雑なデータはスケール・アウト● 垂直方向がベストであるが難しい

● 典型的なアプリはreadが80%

● 一貫性を保つようにスキーマをデザイン

セッションスケーラビリティを確保するために保持する常時セッションを少なく● PHP, APC等のセッション:考慮対象● DB 等のセッション:必要悪

非構造化データローカル域からグローバル域へ移動● レプリケーションは難

データセット集中化リソースとして激増する部分● 新たな価値を生む

キャッシングアプリケーション・サーバ、DBサーバ● modPerl ● query cache ● memcached

Page 18: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 18Oct. 30, 2008

クラウド適用のためのアーキテクチャ–仮想化がキー●仮想化●コントロール・プレーン (外部 API)●プロビジョニング●管理/モニタリング

●外部の付加価値サービス

●ユティリティ・コンピューティングモデルによる価格

●仮想化技術● Hypervisor (xVM,

VMware, Xen)● OS (Solaris Containers)●アプリケーション / プラットフォーム (JVM)

●トレードオフの問題●仮想化管理によるオーバー・ヘッド

●ディベロッパの対応力

Page 19: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 19Oct. 30, 2008

Sunとクラウド・コンピューティング

Page 20: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 20Oct. 30, 2008

Sunの仮想化技術

• Type-2 hypervisor は OS管理下環境にて稼働

• 例 : VMware Server; MS Hyper-V• 優位点 : インストールや利用が比較的簡単

• 欠点 : 効率性に欠ける

• Type-1 Hypervisorは H/Wプラットフォーム上で直接稼働

•例 : Xen, LDoms, VMware ESX, xVM Server•優位点 : 高パフォーマンス•欠点 : 別の S/W層が追加されるので管理が複雑

• Sunの xVMは Xenベース: Type-1 の hypervisor > 管理が容易。必要なシステム・リソースは少ない> Linuxコアを利用する type-1の hypervisorと違って、 xVMは Solaris OS コンテナに組み込まれ、マルチ・スレッド化された CPU、 10Gbit-Ether Link等のユニークな H/W機能を提供する

> 下記2つを比較すると Type-1が優位

Page 21: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 21Oct. 30, 2008

仮想化管理の進化ダイナミック・インフラストラクチャ & Sun OpenDI プロジェクト抽象化層の増大

• OpenDI> Sunの方式設計論、ベスト・プラクティス、デザイン・メソドロジ (Sun PSを通じて提供)

> 将来の渡っての変更管理のためのツール・キット> キーとなる管理技術のためのオープンソース・コミュニティ> wikis.sun.com/display/DI

Page 22: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 22Oct. 30, 2008

高密度 / 大規模 / モジュラーベース H/W H/Wの 'POD'のためのクラウド・デザイン• 大規模データセンターが利用しつつある標準的なサーバ・ラックのプロビジョニングと管理のためのモジュラー・アプローチ

• PODのためのデザイン・ルール> 特殊な能力、標準化されたプロセス、制限されたインターフェース、バージョン管理

> 特別なワーク・ロードに適用 (例 : http, hpc, etc.)し、特別な容量 (例 ;75,000 ユーザ , 2,000,000 トランザクション )を提供

• 3種類のデザイン可能な POD> Sun Customer Ready Systems (CRS)> Sun MD (aka. Blackbox)> Sun (aka. Constellation System) C-48

Page 23: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 23Oct. 30, 2008

基本的な IaaSサービス・モデル

Compute Elastic Compute Cloud Storage Simple Storage Service SimpleDB non-relational DBMessaging Simple Queue Service

SimpleDB

SQS

EC2

S3

• オープンソース AWS – UC Santa Barbara 'Eucalyptus'プロジェクト> EC2互換のオープンソースのデバッグ/開発環境> web サービスの実装> 'ボタンを押すだけ 'の簡単なインストール

• Amazon Web Services

Page 24: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 24Oct. 30, 2008

クラウド・サービス / ディベロッパの範囲Google App

Engine

ディベロッパロック・イン

ディベロッパ独立

Google App Engine Sun Project Caroline AWS EC2 – AMIsコンピューティング・モデル HTTP Request Handler Process Linux OS Instance

サービス作成言語 Python (no native code)

ストレージ:ファイル local read-only

ネットワーク Hidden Private Network Shared Network

ネットワーク・プロトコル HTTP/S, SMTP TCP, UDP TCP, UDP

インターネットとの接続性 Hidden NAT (static)

DNS static dynamic fixed

Java, Ruby, PHP, Perl, Python,(no native code)

any (including native code)

network ZFSlocal tempFS

S3, network block storage, local tempFS

ストレージ:DB BigTable PostgreSQL SimpleDB

NAT (static & dynamic)VPN, direct

L4 & L7 Load Bal.

Page 25: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 25Oct. 30, 2008

AWS 開発モデル

● kernel外部に構築された Xenイメージ● Alternate kernels を利用可能 (AKI)● 'public' もしくはカスタマイズした AMIものを選択

● 大部分の AMIは Fedora もしくは Ubuntu

● 修正/共有が楽● Amazonによるツールの提供● ISVによる“有償 AMI” が可能

● S3上に格納

Amazon Machine Image(AMI)

Sunと AWS

• MySQL production support for EC2 – mysql.com/ec2

• OpenSolaris Beta on Amazon EC2 – sun.com/amazon– Amazon Machine Images (AMI)

• OpenSolaris (32-bit)• SXCE (32-bit, 64-bit)

– 利用方法• AWS アカウントを開設• Betaとして登録• EC2で OpenSolaris を利用

– EC2コミュニティのOpenSolaris に参加/協調

Page 26: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 26Oct. 30, 2008

現状– 2つの見解

'半構造化 'データの出現Mogile, Bigtable, Hypertable ...

新しい「分析 (analytics)」が出現MapReduce, Hadoop ...

新 'コンピューティング '

新 'データ '

Page 27: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 27Oct. 30, 2008

分析 - 高い成長が期待される戦略分野

• MapReduce @ Google > MapReduceの最初のバージョンは2003に作成され、Google内部での利用が増え続けている。29,000 jobが2004年8月に稼働し、2007年9月には220万Jobとなっている

> 毎日Googleは約10万のMapReduce jobを走らせている。各Jobは約400のサーバを使い、5-10分で処理を終了させている。換算すると一日に述べ20万台のサーバを使った処理を行っている

• Hadoop @ Facebook>一年で Facebook は複数の Hadoop クラスタを稼働させた。最も大きなものは

2500 cpu コアと 1 ペタ・バイトの diskを利用している> 2 テラ・バイトのデータと数百の job を司るプロジェクトは、サイト利用率・スパム被害・アプリケーション等のデータの統計処理をしている

• MapReduce/Hadoop @Sun> OpenSolaris ベースの Hadoop Live CD, 3 ノードの仮想クラスタ

opensolaris.org/os/project/livehadoop/>社内・顧客プロジェクトでの経験

–ペタ・スケールのデータを分析する新しい方法 – Collect, Map, Save, Reduce, Solve– タギング , 顧客の振る舞い

Page 28: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 28Oct. 30, 2008

Sunのクラウド・コンピューティング・エンジニアリング• IaaS: network.comの主たるフォーカス

> コンピューティングおよびストレージのリソースをサービスとして提供

> Amazon的なサービスと付加機能を提供> アイデンティティ、メッセージ・キューイング、データベース機能も提供

> Linux, OpenSolaris• PaaS: 研究プロジェクトを援護

> 主たるディベロッパの環境 : Java EE, JRuby> エマージング・スケーラブル・プラットフォーム : Project

Caroline, Darkstar• SaaS: ISV モデルの革新

Page 29: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 29Oct. 30, 2008

Sun のクラウド分野の研究 様々な 'インフラ 'と 'プラットフォーム 'プロジェクト

Project Caroline – '制限のある ' 開発コンテナ• ユーザ・アプリケーションは高レベル言語で記述可能– Java,Perl,

Python, PHP, Ruby • 分散されたコンピューティング/ストレージ/ネットワークのリソースは高レベルの抽象化を通じてプログラマブルな制御が可能

• シンプルなオペレーションと開発手順によりサービスを各自の環境下に構築可能

Project Hydrazine –リッチ・サービスの提供• 次世代のリッチ・インターネット・アプリケーション• 個々人がコンテキストをカスタマイズ可能• 自宅や会社、ノートPC,携帯電話、テレビ、車のダッシュボードでも同様にサービスを利用可能にする

Immutable Service Containers – One Container, One Service• セキュアな (Solaris)コンテナが特定のサービスのみを提供 (単機能に特化する )

• 一度構成作成すれば、どこでも利用可能となる

Page 30: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

© 2008 Sun Microsystems, Inc. 30Oct. 30, 2008

Sunの強み• オープン・ソースおよび標準仕様にコミット• これまでの社内外の経験を顧客に提供可能• 特にネットワーク分野において、サービス・プロバイダやその顧客との強い信頼関係

• クラウドに適用可能な技術および製品の提供• 効率性を重視 : データ・センターのデザイン、エコ・コンピューティング等

Page 31: Building Petascale Clouds · • クラウドを利用する > 一時的にリソースが必要な場合 > 特定の機能が必要な場合 • 自前のクラウドを”クラウドの中に”作る

Takashi ShitamichiChief TechnologistSun Microsystems, K.K

[email protected]://blogs.sun.com/shita