クラウドってどんなもの?
  IaaS, PaaSそしてCloud Foundry
             2012/8/6 @jacopen
自己紹介

• 草間      一人(くさま かずと)
• @jacopen


• NTTコミュニケーションズ         クラウドサービス部
 • PaaS開発担当

• 藤高屋      技術顧問
• Wells   代表
自己紹介
•   香川大学 経済学部 経営システム学科
    •   山田仁一郎ゼミ
•   学生ロボット研究所
•   NPO法人キャンパスネット メンバー
•   KadaiWiki運営(2005-2008)
•   香川大学BBS 2代目管理人(2006)
クラウドってなんぞや
クラウドの定義
人・組織によってそれぞれ
クラウドの定義
 (の一例)
NIST
           (米国国立標準技術研究所)

•   クラウドコンピューティングは、共用の構成可能なコ
    ンピューティングリソース(ネットワーク、サー
    バー、ストレージ、アプリケーション、サービス)の
    集積に、どこからでも、簡便に、必要に応じて、ネッ
    トワーク経由でアクセスすることを可能とするモデル
    であり、最小限の利用手続きまたはサービスプロバイ
    ダとのやりとりで速やかに割当てられ提供されるもの
    である。
                               NIST によるクラウドコンピューティングの定義
            http://www.ipa.go.jp/security/publications/nist/documents/SP800-145-J.pdf
GARTNER
•   スケーラブルかつ弾力性のあるITによる能力を、インター
    ネット技術を利用し、サービスとして企業外もしくは企業
    内の顧客に提供するコンピューティング・モデル
•   必要な時に必要なサービス、リソース、情報もしくは環境
    を、低コストかつ低エネルギーで提供する仕組み、および
    そこから提供されるサービス、リソース、情報もしくは環
    境
•個人的には定義はどうでもいい
•ただ、定義がバラバラで齟齬が起きてもめんどくさい
•今回はNISTの定義に沿って説明します
3つのサービスモデル
SaaS
PaaS
IaaS
SaaS
                 (Software as a Service)

•   ソフトウェアの「必要な機能」を「必要な分だけ」
    サービスとして利用できる提供形態。
•   「クラウドサービス」としては最もメジャー
•   Gmail, Salesforce, Evernote, Office365, Dropbox,etc...
•   「ブラウザで利用するアプリ」= SaaSというイメージ
    が強いが、そうとは限らない(例: Adobe Creative Cloud)
•   ASP(Application Service Provider)とSaaSプロバイダーは同
    義
SaaS
   (Software as a Service)




今回はこれ以上触れません
 (説明の都合上・・・)
IaaS
(Infrastructure as a Service)
IaaS
             (Infrastructure as a Service)

•   サーバー・ネットワークなどのインフラをサービスと
    して利用できる提供形態。
•   一般的には仮想化されたサーバー環境と、ネットワー
    クを提供
•   HaaS(Hardware as a Service)と呼ばれることも。
VPS
(Virtual Private Server)
VPS
           (Virtual Private Server)

•   仮想化されたサーバー環境とネットワークを提供する
    サービス
VPS = IaaS?
定義の上では、ちょっと違います。
仮想化技術
•   IA仮想化
    •   VMWare Workstation/Player/Fusion
    •   VMWare vSphere
    •   Hyper-V
    •   Xen Server
    •   KVM
    •   VirtualBox
すごいVPSたのしく作ろう!
1. PCの上に仮想マシンを作って

2. OSインストールして設定して

3. ネットワークを設定して

4. FAXやメールフォームなどで申し込みを受け
 付ければ

5. VPSの完成!
では、このお手製VPSはIaaSと呼べる?
NISTの定義
•クラウドコンピューティングの特徴
• オンデマンド・セルフサービス
• 幅広いネットワークアクセス
• リソースの共用
• スピーディな拡張性
• サービスが計測可能
• オンデマンド・セルフサービス
• ユーザー自ら、必要に応じてコンピューティングリソー
 スを設定できる。
• さきほどの例だと、ユーザーが自分でCPUのコア数やメ
 モリの割り当てを設定できないといけない
• スピーディな拡張性
• コンピューティング能力は自在に、ときには自動で割当
 ておよび提供が可能で、需要に応じて即座にスケールア
 ウト/スケールインできる。
• 先ほどの例だと、ユーザー自らが仮想マシンの作成や削
 除ができないといけない
• サービスが計測可能
• どのくらい各リソースを使っているのか計測され、管
 理・報告されている。またその利用結果がユーザーにも
 明示できる。
• 先ほどの例だと、仮想マシンの起動時間やI/Oの利用状
 況などがユーザーから見えなくてはいけない
VPSとIaaSの違い
• VPSとIaaSが利用する基本的な技術は一緒
• VPSは仮想マシンを提供さえすれば名乗れる
• IaaSを名乗るには、セルフサービスでリソース設
定が可能な機能が必要
• 一般的なIaaSでは、操作するためのAPIが提供され
ているケースが多い
VPS             IaaS

• さくらのVPS          • さくらのクラウド
• お名前.com VPS      • Amazon EC2
• ServersMan@VPS   • ニフティクラウド
                   • Cloudn
さくらのVPS
• KVM利用
• 仮想マシンごとにサイトから申し込む必要あり
• 仮想マシンのコントロールは専用のコントロール
パネルからのみ可能
• 月単位課金
• 上位プランへの移行は不可
• 安い
さくらのクラウド
• KVM利用
• 仮想マシンの増減はコントロールパネルのほか、
APIからも可能
• 操作はコントロールパネルの他、APIからも可能
• 時間単位課金
• プランの変更は自在
• VPSよりは高い
DEMO



• CloudnをAPIで利用してみよう!
IaaS≠VPS
 .. .: ∬ ::::: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::
        ∧_∧ . |||.: : : ::: : :: ::::::::: :::::::::::::::::::::::::::::
              /:彡ミ゛ヽ;)ー、 
. . .: : : :::::: :::::::::::::::::::::::::::::::::
    ||| / :::/::
ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
      / :::/;;:   ヽ ヽ ::l 
. :. :. .:: : :: :: :::::::: : ::::::::::::::::::
「クラウド名乗ったもん勝ち」な雰囲気もあるので、必ず
   しもこの定義に沿っているわけでなはい
クラウドの定義にあるようなIaaS機能を実現するための、
オープンソースソフトウェアがあります。

・Cloud Stack
・OpenStack
・Eucalyptus

頑張れば、自前でIaaS環境を構築できます。
興味があったら是非調べてみてください。
PaaS
(Platform as a Service)
PaaS
          (Plaftform as a Service)

•   ソフトウェアを動かすためのプラットフォームをサー
    ビスとして提供
•   サーバーやネットワークなどの存在を意識することな
    く、アプリケーションを書くだけで良くなる!
•   たとえばWordPressを構築するとき・・・


1.OSをインストール&設定

2.Apacheをインストール

3.PHPをインストール
4.mod_php等々設定

5.MySQLをインストール&設定

6.WordPressのインストール&設定
•   PaaSを使えば・・・


1.WordPressを用意

2.PaaSにデプロイ
•   たとえば負荷分散環境するとき・・・
DEMO



• とあるPaaSを使ってWordPressをデプロイしてみます
代表的なPaaS
•   Heroku
•   Google App Engine
•   Windows Azure
•   Amazon Elastic Beanstalk
OpenPaaS
•   PaaSをオープンソースにしたもの
    •   Cloud Foundry (VMWare)
    •   OpenShift (RedHat)
Cloud Foundry

• VMWareが中心に開発しているPaaS


• PHP, Ruby, Python, Java, Node.jsなどマルチ言語対応


• MySQL, PostgreSQL, MongoDB, RabbitMQ, Redisなどマルチ

 サービス対応
Cloud Foundryだと何がいいの?

• アンチベンダーロックイン


• オープンソースなので、同じCloud   Foundryのコードか
 ら構築されたCloud Foundryであれば、どのベンダーで
 あっても同じように動く。
Cloud Foundryを使った
           サービスは何があるの?
• cloudfoundry.com

• appfog

• Stackato
Cloud Foundryを使った
           サービスは何があるの?
• cloudfoundry.com   (VMWare)

• appfog             (appfog)

• Stackato           (ActiveState)
Cloud Foundryを使った
       サービスは何があるの?
• Cloudn   aPaaS (NTT Communications)




                順次サービス開始予定
Software Design 2012年5月号




• うちのチームの川口(@hamakn)と中澤(@diceken)がメイ

ン特集でCloud Foundryについて書いています
@IT
•   .NET環境も構築できる、Cloud Foundry4つの強み

    •   http://techtarget.itmedia.co.jp/tt/news/1203/23/news01.html

•   Cloud Foundryが開発者にもたらすメリット

    •   http://techtarget.itmedia.co.jp/tt/news/1205/21/news02.html

•   【徹底比較】2大Open Paas、Cloud FoundryとOpenShiftの強み/弱み

    •   http://techtarget.itmedia.co.jp/tt/news/1206/18/news02.html

Cloudってどんなもの?

Editor's Notes