地に足がついたクラウドのお話

55
1 netmark.jp all rights reserved (地に足がついた) クラウドのお話 馬場俊彰 [email protected]

Upload: toshiaki-baba

Post on 01-Nov-2014

13 views

Category:

Technology


3 download

DESCRIPTION

hbstudy#2で発表したときの資料です

TRANSCRIPT

Page 1: 地に足がついたクラウドのお話

1netmark.jp all rights reserved

(地に足がついた)

クラウドのお話

馬場俊彰[email protected]

Page 2: 地に足がついたクラウドのお話

2netmark.jp all rights reserved

● id: netmarkjp

● 株式会社ハートビーツのCTOですたまにJPUGのお手伝いもしています

● MSP(Management Service Provider)してます

● 24時間有人監視サービスフルマネージドサービス(ハウジング、ホスティング)

● 今:インフラエンジニア前職:JavaでWebシステム開発前々職:インフラエンジニア

● OS(主にLinux(CentOS))、ネットワーク機器、ミドルウェア(ApacheとかRDBMSとか)の設定やチューニング、DNS設定などなどをしてます

誰?

Page 3: 地に足がついたクラウドのお話

3netmark.jp all rights reserved

近況

● ThinkITに寄稿しました →サーバー管理者の業務カイゼン術

● 第1回:サーバー管理者の目/管理・監視・アーキテクト● 第4回:1ランク上のサーバー管理者になるためには?

● チューニング・障害対応関係の話が増えてきました

● クラウド関係の話が増えてきました

● 会社で「Amazon EC2 フルサポートパック」をはじめました/w 学びing社、シェイクソウル社

Page 4: 地に足がついたクラウドのお話

4netmark.jp all rights reserved

今日のお話

クラウド

Page 5: 地に足がついたクラウドのお話

5netmark.jp all rights reserved

今日のお話

バズワード?

Page 6: 地に足がついたクラウドのお話

6netmark.jp all rights reserved

今日のお話

イメージ?

Page 7: 地に足がついたクラウドのお話

7netmark.jp all rights reserved

今日のお話

http://www.flickr.com/photos/michaelroper/13787146/

Page 8: 地に足がついたクラウドのお話

8netmark.jp all rights reserved

今日のお話

http://www.flickr.com/photos/kky/704056791/

Page 9: 地に足がついたクラウドのお話

9netmark.jp all rights reserved

地に足をつけて話をしよう!

Page 10: 地に足がついたクラウドのお話

10netmark.jp all rights reserved

(やっと)もくじ   

● 分類と実装技術について見てみます

● SaaS / PaaS / IaaS● パブリッククラウド / ブライベートクラウド● ハイブリッドクラウド / マルチクラウド● スケールアウトクラウド / スケールインクラウド(サーバクラウド)

● IaaSについて掘り下げてみます

Page 11: 地に足がついたクラウドのお話

11netmark.jp all rights reserved

SaaS / PaaS / IaaS

Page 12: 地に足がついたクラウドのお話

12netmark.jp all rights reserved

SaaS / PaaS / IaaS

IaaS

PaaS

SaaS

● Software As A Service

● さーす

● Platform As A Service

● ぱーす

● Infrastructure As A Service

● いぁーす、あーす、はーす(HaaS = Host As A Service)

Page 13: 地に足がついたクラウドのお話

13netmark.jp all rights reserved

システム階層構造

コロケーション

ネットワーク

ハードウェア

OS

ミドルウェア

アプリケーション実行環境

アプリケーション 独自開発や、MovableTypeなどの製品、SugarCRMなどのオープンソースのアプリケーション

Ruby on Rails(Ruby), Struts(Java), Symfony(PHP), django(Python) などのアプリケーション開発言語・実行環境(フレームワーク)

Apache, Tomcat, PostgreSQL, MySQLなどのミドルウェア(アーキテクチャ)

Linux, WindowsなどのOS

PowerEdge, Fortigate, CISCO などのサーバ機器、ネットワーク機器

インターネット接続回線などのネットワーク設備

ラック、電源などの物理的なサーバ格納場所

Page 14: 地に足がついたクラウドのお話

14netmark.jp all rights reserved

SaaS / PaaS / IaaS

コロケーション

ネットワーク

ハードウェア

OS

ミドルウェア

アプリケーション実行環境

アプリケーション

IaaS PaaS SaaS

ベンダー

ベンダーベンダー

ユーザ

ユーザ

エンドユーザ

Page 15: 地に足がついたクラウドのお話

15netmark.jp all rights reserved

   の意味

● 仮想化の分界点

● ベンダー依存のわかれめ● ライフサイクル依存のわかれめ

● 既存技術適用範囲のわかれめ

から上は移動可能から下は交換可能

Page 16: 地に足がついたクラウドのお話

16netmark.jp all rights reserved

SaaS / PaaS / IaaS

IaaS

PaaS

SaaS

● ベンダーがアプリケーションまで用意して、ユーザ企業に提供する

● Google Apps, Gmail, salesforce.com, 各種ASPなど

● ベンダーがアプリケーション実行環境まで用意して、ユーザ企業に提供する

● Google App Engine, 各種共有サーバなど

● ベンダーがハードウェアまで用意して、ユーザ企業に提供する

● Amazon EC2, Slicehost, 各種VPSなど

Page 17: 地に足がついたクラウドのお話

17netmark.jp all rights reserved

SaaS / PaaS / IaaS

IaaS

PaaS

SaaS

サービス提供形態での分類

Page 18: 地に足がついたクラウドのお話

18netmark.jp all rights reserved

パブリッククラウド●

プライベートクラウド

Page 19: 地に足がついたクラウドのお話

19netmark.jp all rights reserved

パブリッククラウド

● クラウドを不特定多数と共用する(かもしれない)サービス形態

● マルチテナント形式 と表現したりします

ベンダー

ユーザ ユーザ ユーザ ユーザ ユーザ

注:一般ユーザではなく、クラウドユーザ(企業)

Page 20: 地に足がついたクラウドのお話

20netmark.jp all rights reserved

プライベートクラウド

● クラウドを特定少数で独り占めできるサービス形態

ベンダー

ユーザ ユーザ ユーザ ユーザ ユーザ

ベンダー ベンダー

Page 21: 地に足がついたクラウドのお話

21netmark.jp all rights reserved

パブリッククラウド / プライベートクラウド

プライベートクラウド

パブリッククラウド

クラウド基盤の独立性での分類

Page 22: 地に足がついたクラウドのお話

22netmark.jp all rights reserved

ハイブリッドクラウド●

マルチクラウド

Page 23: 地に足がついたクラウドのお話

23netmark.jp all rights reserved

パブリッククラウド / プライベートクラウド

マルチクラウド

(クラウドで実装された)あるシステムがバックエンドとして複数のクラウドを併用すること

ハイブリッドクラウド

(クラウドで実装された)あるシステムがバックエンドとしてパブリッククラウドと

プライベートクラウドを併用することクラウド

利用形態での分類

一歩間違えると普通のマッシュアップ!?

Page 24: 地に足がついたクラウドのお話

24netmark.jp all rights reserved

スケールアウトクラウド●

スケールインクラウド

Page 25: 地に足がついたクラウドのお話

25netmark.jp all rights reserved

スケールアウトクラウド / スケールインクラウド

スケールアウトクラウド

● 比較的安価なハードウェアを利用した実装で実現したクラウド

● 安価なIAサーバなどを利用する

● Google Apps, Google App Engine, Gmail, Amazon EC2など

スケールインクラウド

● 高性能なハードウェアを利用した実装で実現したクラウド

● ハイエンドIAサーバ、UNIXサーバ、メインフレーム(IBMのSystem zなど)などを利用する

● salesforce.comなど

Page 26: 地に足がついたクラウドのお話

26netmark.jp all rights reserved

スケールアウトクラウド(1/4)

Googleの例

● GFS(分散ファイルシステム)

● BigTable(分散ストレージシステム)

● Chubby(分散ロックシステム)

● MapReduce

● Google Cluster

http://www.flickr.com/photos/10900132@N02/2040385439

Page 27: 地に足がついたクラウドのお話

27netmark.jp all rights reserved

スケールアウトクラウド(2/4)

特徴

● ミドルウェア・アプリケーション実行環境の層でスケールアウトを実現

● MapReduce + GFS, BigTable● Chubby

● 超分散環境を実現するための技術開発

Page 28: 地に足がついたクラウドのお話

28netmark.jp all rights reserved

スケールアウトクラウド(3/4)

● Google Cluster

● 安価なIAサーバで構築● コンテナ・モジュラー型

– 多少壊れても放置● 革新的な運用

– iDCを冷やさない。熱くなったらセンターごと停止

Page 29: 地に足がついたクラウドのお話

29netmark.jp all rights reserved

スケールアウトクラウド(4/4)

ナイショだそうです。。[出典]http://developer.amazonwebservices.com/connect/thread.jspa?messageID=49701&#49701

Amazon EC2の例

Page 30: 地に足がついたクラウドのお話

30netmark.jp all rights reserved

スケールインクラウド(1/2)

salesforce.comの例

● NETWORK

● Cisco switch, router● Juniper Netscreen Firewall● F5 BIG-IP

● WEB / AP

● Array of dual processor Intel servers running Linux ● Resin

● Search

● Array of Sun servers● Apache/Jakarta Lucene

Page 31: 地に足がついたクラウドのお話

31netmark.jp all rights reserved

スケールインクラウド(2/2)

● DB

● Clustered Sun E25Ks● Oracle 9i RAC EE● SunCluster

● Storage: Sun / HDS 9990 Lighting

● Stroage Management: Hitachi Data Systems

● Backup Software: Veritas

● Tape Archive: Sun / Storage Tek

● OS: Sun Solaris, Redhat Linux[出典] http://www.slideshare.net/dreamforce2006/trusted-reliability-performance-with-the-appexchange-platform

コレはスゴい!(後で紹介します)

Page 32: 地に足がついたクラウドのお話

32netmark.jp all rights reserved

Sun E25K

● プロセッサ: Superscalar SPARC® Version 9

● CPU/メモリ・ボード: 最大18枚

● 搭載CPU(ボードあたり): 4個● 搭載メモリ(ボードあたり最大): 64GB

● 寸法 (突起物を含まず)と重量

● 幅 /奥行 /高さ /重量● 84.6cm /163.8cm /191.8cm /1,317.27kg

[出典]http://jp.sun.com/products/catalog/pdf/sunfiree25k.pdf

Page 33: 地に足がついたクラウドのお話

33netmark.jp all rights reserved

スケールアウトクラウド / スケールインクラウド

スケールインクラウド

スケールアウトクラウド

クラウド実装形態での分類

注:あくまで実装形態での分類(スケールアウトクラウドのPaaSは、ユーザから見るとスケールアップすることもある)

Page 34: 地に足がついたクラウドのお話

34netmark.jp all rights reserved

利用例

● IaaS + プライベートクラウド + スケールインクラウド

➔サーバ仮想化を利用した物理サーバ統合

● SaaS + パブリッククラウド + スケールアウトクラウド

➔twitter

● PaaS + パブリッククラウド + スケールアウトクラウド

➔Google App Engine

Page 35: 地に足がついたクラウドのお話

35netmark.jp all rights reserved

SaaS / PaaS / IaaS(ふたたび)

Page 36: 地に足がついたクラウドのお話

36netmark.jp all rights reserved

SaaS

● ベンダーとの分界点がない

● ベンダーを信頼するしかない(信頼できるところを使う)● 利用方法はベンダーに追従する● ライフサイクルもベンダーに追従する● ベンダーの交換(データ移行など)が不可能な可能性あり● 今までのASPと同じ

● ベンダーとして作るとき

● いままでのノウハウ、考え方をベースに作れる● 信頼性・可用性などは、アーキテクチャを絡めて作り込む

Page 37: 地に足がついたクラウドのお話

37netmark.jp all rights reserved

PaaS(1/2)

● ベンダーとの分界点はアプリケーション

● プラットフォームはベンダーに依存する● ライフサイクルもベンダーに追従する● ベンダーの交換(データ移行など)が不可能な可能性あり● ベンダーを信頼するしかない(信頼できるところを使う)

Page 38: 地に足がついたクラウドのお話

38netmark.jp all rights reserved

PaaS(2/2)

● ユーザとして使うとき

● ベンダー側バージョンアップ・仕様変更の影響をモロに受ける● ベンダーとして作るとき

● いままでのノウハウも使う● スケールアウトにするか、スケールインにするか● スケールアウトの場合、突き抜けた分散システムを作り込む必要

あり(例: google)● パブリッククラウドとの互換性を持たせるか?

– AppScale, Hadoop● スケールインの場合、拡張方式をあらかじめ考えておく

– ファーミング(垂直分割)など

Page 39: 地に足がついたクラウドのお話

39netmark.jp all rights reserved

IaaS(1/3)

● ベンダーとの分界点はOS

● ハードウェア性能はベンダーに追従する● ハードウェア信頼性はベンダーに依存する● ライフサイクルはかなり独立性が高い

– OSレベルで差分をある程度吸収できる● ベンダーの交換(データ移行など)が比較的容易● 環境選定の自由度が高い

Page 40: 地に足がついたクラウドのお話

40netmark.jp all rights reserved

IaaS(2/3)

● ユーザとして使うとき

● OS~の管理を自分で実施する必要あり

– 統合管理・統合監視のニーズもきっとある● スケールアウトはアーキテクチャレベルで実装

– 中央管理したらいいのでは– むしろ自動で →Wakameなど

● 冗長化・負荷分散などの非機能要件は自分で工夫して実現● ベンダーごとの利用ノウハウが必要

– Amazon EC2特有のノウハウ– アカウントごとの制約、センター配置など

● いままでのノウハウも使える(使う)

Page 41: 地に足がついたクラウドのお話

41netmark.jp all rights reserved

IaaS(3/3)

● ベンダーとして作るとき

● スケールアウトにするかスケールインにするか

・・・・・・・・

ちょっと面白そうなので、ちゃんと考えてみよう

Page 42: 地に足がついたクラウドのお話

42netmark.jp all rights reserved

IaaSできるかな(1/9)

材料

● インターネット回線 N本

● リアルサーバ M台

● HUB たくさん

● LANケーブル たくさん

Router Server

Router Server

Router Server

Server

Server

Server

Server

Server

Router Server

Page 43: 地に足がついたクラウドのお話

43netmark.jp all rights reserved

宿命

IaaSできるかな(2/9)

リアルサーバのマシンパワー

仮想サーバのマシンパワー

Page 44: 地に足がついたクラウドのお話

44netmark.jp all rights reserved

宿命(その2)

IaaSできるかな(3/9)

リアルサーバのディスク容量

1台で利用できるディスク容量

Page 45: 地に足がついたクラウドのお話

45netmark.jp all rights reserved

宿命(その3)

IaaSできるかな(4/9)

ネットワーク1本の帯域

1台で利用できるネットワーク帯域

Page 46: 地に足がついたクラウドのお話

46netmark.jp all rights reserved

IaaSできるかな(5/9)

利用機器選定

● Amazon EC2 1インスタンス(程度)をベースに考えてみる

➔1インスタンス=CPU: 2core 2GHz, Memory: 2GB程度

➔1インスタンス=1am(アマゾン)という単位で表現してみます

● small IAサーバ(1U) ~15万円(Quadx1, 8GB) 2~4am

● middle IAサーバ(1U) ~30万円(Quadx2, 16GB) 8am

● high IA/UNIXサーバ(4U) ~200万円(Quadx4, 64GB) 32am

● main frame(箪笥) 数千万円~ 128am~

Page 47: 地に足がついたクラウドのお話

47netmark.jp all rights reserved

IaaSできるかな(6/9)

利用機器選定のポイント

● どの程度のマシンパワーが必要か?

● リアルサーバを占有されるとクラウド化の効果が薄い● 初期費用をかけるか?

● 機器としてはmiddle IA以上が現実的● 数の経済を適用できるか?

● ムーアの法則の恩恵を受けるか?

● 個々の機器が高すぎると、恩恵を受けづらい● 管理しきれるか?

● 数・ノウハウ・共通化(Amazon EC2はAPI形式)

Page 48: 地に足がついたクラウドのお話

48netmark.jp all rights reserved

IaaSできるかな(7/9)

永続データ(特にディスクイメージ)の保管場所の設計

● ユーザが都度upload?

● クラウド側に保存?

● 各サーバを分散ストレージとして利用?● 集約する?

– 集約するなら、容量の拡張は柔軟にしたい

Page 49: 地に足がついたクラウドのお話

49netmark.jp all rights reserved

IaaSできるかな(8/9)

実装技術

● サーバ仮想化

● VMware, Xen, KVM, OpenVZ, Hyper-V, Jail, SolarisContainer(Solaris Zone, Solaris Resource Manager), Eucalyptus

● VMware Console, Xen Center, Karesansui ● NAT

● ダイナミックDNS

● Global用 / LAN用● ルーティング・トランキング

(ネットワーク的な負荷分散やスケールアップ)

Page 50: 地に足がついたクラウドのお話

50netmark.jp all rights reserved

IaaSできるかな(9/9)

● 分散ストレージ

● GlusterFS● GFS(Global File System) ※ ≠Google File System

● 柔軟なストレージ

● LVM● ZFS

Page 51: 地に足がついたクラウドのお話

51netmark.jp all rights reserved

誰か

できたら教えてくださいm(_ _)m

Page 52: 地に足がついたクラウドのお話

52netmark.jp all rights reserved

おまけ

Page 53: 地に足がついたクラウドのお話

53netmark.jp all rights reserved

クラウド利用時の注意点

● やっぱり物理的な配置は大事

● パフォーマンスの問題 →割となんとかなる

– 重い処理は一時的に並列度をあげて分散する– 重いデータはユーザの近くに置く(特にEC2の場合)

● 法律の問題 →なんともならない!

– 現地当局にデータを押収・閲覧される可能性● 「そのクラウド」の使い方のノウハウが必要

● クラウドのアカウント単位の制約(最大インスタンス数など)

Page 54: 地に足がついたクラウドのお話

54netmark.jp all rights reserved

PaaSできるかな

● Google互換

● AppScale● 独自で作るなら?

● kumofs● Hadoop

● MogileFS

● Lustre

● Roma(楽天)

● プログラム実行基盤・・・何かあるかな?

mixiアプリはPaaSですね。

Page 55: 地に足がついたクラウドのお話

55netmark.jp all rights reserved

ご清聴いただきありがとうございました

ばば