SlideShare a Scribd company logo
1 of 5
Download to read offline
第一章       クラウドの定義
  第一節     本稿の目的とその対象と読者の方々
  第二節     Googleの定義と米NIST(国立標準技術研究所)の定義
  第三節     クラウドをクラウドたらしめるもの
  第四節     スケールアウトを実現できるソフトウェアたち
第二章 CAPとBASE、ACIDの呪縛
  第一節     なぜスケールアウトできるのか?
  第二節     トランザクションモデル
  第三節     ローカルトランザクション
    第一項   フラットトランザクション
  第四節     グローバルトランザクション
    第一項   入れ子トランザクション
    第二項   分散トランザクション
  第五節     ACID特性
  第六節     CAP定理
  第七節     BASE特性
  第八節     なぜ我々はACID特性の呪縛に捕らわれたのか?
第三章 分散システムの基礎知識
  第一節     データセンター間の地理的レプリケーション(Geo-Replication)
  第二節     分散システムにおける同期(クロック)
  第三節     P2P技術を適用した分散相互排他アルゴリズム
第四章 分散システムとしてのクラウドの技術
  第一節     Google - BigTable
  第二節     Amazon - Dynamo
  第三節     Microsoft - Windows Azure
  第四節     OSS - Apache Cassandra
第五章 P2Pと複雑ネットワーク
第六章 セキュリティーとプライバシー
  第一節     クラウドにおける仮想マシンのセキュリティー
  第二節     CDNサービスによるDDoS攻撃の回避
  第三節     法律
第七章 総括
  第一節     分散システムとしてのクラウドのこれから
序文


 本書では、クラウド・コンピューティングとは何か、漠然としたイメージを持っている
方々を想定読者として手にとって頂ければと思います。そして、バスワードと揶揄される
クラウドの裏側に隠され、脈々と受け継がれ研究されてきた「分散システム」の技術的な
背景を知って頂ければと思います。


 分散システムという言葉を出したように、本書ではクラウド・コンピューティングを分
散システムとして位置づけています。その理由については、本書の第一章で述べられてい
ます。本書は、近年見られる多くの書籍や Web の記事のようにソフトウェアの使い方を解
説したものではありません。副題に、原理とパラダイムとあるように、あくまでもそのメ
カニズムについて注力して解説しています。


 また、分散システムの入門書となればと思い執筆しています。ですから、平易な言葉使
いや例えを用いることで、難しい分散システムの理論の世界をわかりやくすることに心が
けました。これは、筆者自身がこのような分野の研究者ではないため、普段目にしない用
語が出現した場合、その都度その用語を調べなくてはならず、加えてどれも難解であるこ
とが多々あること起因しています。


 さらに、既存の分散システムの日本語書籍や論文には解説がない分野などの執筆にも挑
戦しています。章ごとの独立性も高い構成となっているため、すべてを読む必要はなく興
味関心のある章へと進んで頂ければと思います。


 本書が皆様にとってお役に立てれば幸いです。


                                 平成 22 年 9 月吉日   荒浪一城




第一章   クラウドの定義


 皆さんにとって、クラウド・コンピューティングとは何でしょうか?各社各様の定義や
解釈があるように、それは個々人にとっても同じように思えます。クラウドとは、インタ
ーネットのように見えない漠然としたものイメージとして「雲」が使われますが、その裏
側には分散システムとしての理論的裏付けがあるということです。


 本章では、クラウドの定義に、Google の定義、IPA が平成 22 年 3 月にまとめた「クラ
ウド・コンピューティング社会の基盤に関する研究会」報告書および、経済産業省が平成
22 年 8 月にまとめた「クラウドコンピューティングと日本の競争力に関する研究会」報告
書が参照する、米 NIST(国立標準技術研究所)の定義を用います。なお、米 NIST の定義
は、日本の最大手の SIer のひとつである NTT データも採用しています。


  Google の定義


  とても簡単に、インターネットを経由して受けるサービスを、すべてクラウドと言って
いる。ただし、インターネットを経由して受けるサービスであっても、リソースの制約を
受けてスケーラブル(柔軟に拡張できる)ではないものは、クラウドとは呼べない。


  (グーグル エンタープライズ プロダクト マーケティング マネージャー:藤井彰人氏)
「クラウドならではのイノベーション起こす」グーグル藤井氏 - CIO 公開質問状:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20100204/344147/


  米 NIST(国立標準技術研究所)の定義


  クラウド・コンピューティングとは、設定可能なコンピューティング・リソース(例え
ば、ネットワーク、サーバー、ストレージ、アプリケーション、そしてサービス)から構
成される共有層へ、オンデマンドなネットワークアクセスを可能し、活用可能なモデルの
ことである。それらのリソースは、最小限の管理手順とサービスプロバイダーとのやり取
りにより、プロビジョニング(迅速に資源の割り当てと解消)がなされなければならない。


  このクラウドモデルは、5 つの本質的な特徴と、3 つのサービスモデル、そして 4 つの開
発モデルで構成され、スケーラビリティを促進させるものだ。


The NIST Definition of Cloud Computing,Authors: Peter Mell and Tim Grance,Version
15, 10-7-09,National Institute of Standards and Technology, Information Technology
Laboratory
http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc


以上が、本書で用いるクラウドの定義です。何が本質かわかりましたでしょうか?


  クラウドをクラウドたらしめるもの


  クラウドの定義から導き出されるのは、コモディティ化した廉価なコンピューターリソ
ース、スケールアウトの技術を使って並列化し、規模の経済性を確保、動的なリソースの
割り当てというプロビジョニングの仕組み、保守運用の手間を省くことであると考えられ
ます。


 これら「クラウドの要件」がすべて揃うことで、はじめて圧倒的なコスト削減が実現可
能となると言えます。クラウドの要件という、これらひとつひとつは条件であり、それを
ひとつでも満たしていないものは、クラウド・コンピューティングではないと筆者は考え
ます。これはあくまでも筆者のクラウド・コンピューティングの解釈であり、読者の方々
に、この考えに同意や賛同を求めるものではありませんが、本書は、この考えに沿って議
論が展開されていくと言うことです。


 また、項の見出しを「クラウドをクラウドたらしめるもの」としていますが、それは一
体何であると思われるでしょうか?それが、動的に資源の割り当てと解消を行うという「プ
ロビジョニング」の仕組み、すなわち本質です。このプロビジョニングは、スケールアウ
トする際に必要な仕組みです。プロビジョニングの仕組みなしには、サーバーなどの資源
の並列化というスケールアウトや保守運用の手間も省くことができないからです。まさに、
この並列化を実現するプロビジョニングこそが、クラウドの要となる技術的要素と言って
良いでしょう。


 スケールアウトを実現できるソフトウェアたち


 従来までの IT では、性能要件の壁にぶつかるとハードウェアを強化するスケールアップ
する方法が一般的でした。クラウドの要件を満たした、表1スケールアウトを実現できる
ソフトウェアたちでは、何百台から何千台というレベルで並列化することでスケールアウ
トし、従来では考えられなかった性能要件も満たしてしまいます。これは、スケールアッ
プによる限界の壁を容易に突破できてしまうものです。


 それでは、クラウドの要件を満たしたソフトウェアには、具体的にどのようなものがあ
るのでしょうか?具体的に列挙してみました。日本製のものが予想以上に多いことに気が
つくと思います。いままで日本はアメリカと比較すると、常に IT 後進国でしたが、ことク
ラウドに関しては、表1に見られるようにアメリカに迫ろうとする勢いがあります。世界
の中でも、クラウド先進国のひとつと言えるでしょう。


 それでは、これらクラウドの要件を満たした、スケールアウトを実現できるソフトウェ
アたちは具体的にどのような方法で、従来の IT では不可能だった性能要件を出せるように
なったのでしょうか?そのメカニズムについて第二章以降で解説していきたいと思います。
本稿では、主に KVS(Key Value Store、キー・バリュー型データストア)と呼ばれるもの
を取り上げます。


  KVS は、そのデータ構造上、従来のリレーショナル・データベースで利用できた SQL
                    これは SQL に慣れた開発者にとってみると、
をすべてそのまま取り扱うことができません。
敷居の高いものとなり、KVS を扱うための専門的なノウハウが必要となります。その点に
注意する必要があります。もちろん、そのまま SQL が使えるソフトウェアも存在します。


  スケールアウトを実現できるソフトウェアたちは、他にも Oracle TimesTen In-Memory
Database、IBM solidDB、VoltDB のようにインメモリー型データベースがあります。この
ようなソフトウェアは、ミリ秒からマイクロ秒と非常に高速に SQL がそのまま実行できま
す。このようなメリットを享受できる反面、全データをメモリー上に配置しなければなら
ず、パフォーマンス上の観点からも 64bit 化も不可欠となり、コストがかかります。従って、
パフォーマンスとコストとのトレードオフとなり、その効果に対する検討が必要となりま
す。


  本稿で中心的に取り上げる KVS は、それらから見て相対的な位置づけによるものです。


Apache                         Cassandra
Apache                         HBase
Amazon                         Dynamo
Google                         BigTable
IBM                            WebSphere eXtreme Scale
Microsoft                      Windows Azure Table Storage
Oracle                         Coherence
Yahoo! Research                PNUTS/Sherpa
NTT 未来ねっと研究所                   Kai
グリー                            Flare
筑波大学                           Kumofs
Mixi                           Tokyo Cabinet / Tokyo Tyrant
楽天                             ROMA
                  表 1 スケールアウトを実現できるソフトウェアたち

More Related Content

Similar to クラウドの原理とパラダイム 第一章

Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24
Kazuki Aranami
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
Recruit Technologies
 
PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows Azure
Microsoft
 

Similar to クラウドの原理とパラダイム 第一章 (20)

わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
Kspin20121201 kobayashi
Kspin20121201 kobayashiKspin20121201 kobayashi
Kspin20121201 kobayashi
 
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24
 
スマートエスイーセミナー:機外学習応用システムパターンの例
スマートエスイーセミナー:機外学習応用システムパターンの例スマートエスイーセミナー:機外学習応用システムパターンの例
スマートエスイーセミナー:機外学習応用システムパターンの例
 
知られざる。Alibaba Cloudを支えるテクノロジー (manabiya.tech)
知られざる。Alibaba Cloudを支えるテクノロジー (manabiya.tech)知られざる。Alibaba Cloudを支えるテクノロジー (manabiya.tech)
知られざる。Alibaba Cloudを支えるテクノロジー (manabiya.tech)
 
Microsoft AI Platform
Microsoft AI PlatformMicrosoft AI Platform
Microsoft AI Platform
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
 
Azureでクラウドを何となく理解する
Azureでクラウドを何となく理解するAzureでクラウドを何となく理解する
Azureでクラウドを何となく理解する
 
Microsoft AI セミナー - Microsoft AI Platform
Microsoft AI セミナー - Microsoft AI PlatformMicrosoft AI セミナー - Microsoft AI Platform
Microsoft AI セミナー - Microsoft AI Platform
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
データからビジネス変革をもたらすマイクロソフトの AI とは
データからビジネス変革をもたらすマイクロソフトの AI とはデータからビジネス変革をもたらすマイクロソフトの AI とは
データからビジネス変革をもたらすマイクロソフトの AI とは
 
PHP on Windows Azure Training
PHP on Windows Azure TrainingPHP on Windows Azure Training
PHP on Windows Azure Training
 
クラウドがもたらすパラダイムシフト
クラウドがもたらすパラダイムシフトクラウドがもたらすパラダイムシフト
クラウドがもたらすパラダイムシフト
 
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
 
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows Azure
 
PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows Azure
 
.net micro framework for toppers
.net micro framework for toppers.net micro framework for toppers
.net micro framework for toppers
 

More from Kazuki Aranami

Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論
Kazuki Aranami
 
分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大
Kazuki Aranami
 
法学入門 資金決済法
法学入門 資金決済法法学入門 資金決済法
法学入門 資金決済法
Kazuki Aranami
 
法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編
Kazuki Aranami
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
Kazuki Aranami
 
20110924静岡イベント
20110924静岡イベント20110924静岡イベント
20110924静岡イベント
Kazuki Aranami
 
20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡
Kazuki Aranami
 
20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing
Kazuki Aranami
 
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
Kazuki Aranami
 

More from Kazuki Aranami (14)

Project erp
Project erpProject erp
Project erp
 
Project erp
Project erpProject erp
Project erp
 
Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論
 
ERP FAS DESIGN
ERP FAS DESIGNERP FAS DESIGN
ERP FAS DESIGN
 
分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大
 
法学入門 資金決済法
法学入門 資金決済法法学入門 資金決済法
法学入門 資金決済法
 
法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
 
20110924静岡イベント
20110924静岡イベント20110924静岡イベント
20110924静岡イベント
 
20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡
 
20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing
 
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
 
複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
 

クラウドの原理とパラダイム 第一章