Cloud Foundry Open Tour, Shanghai 2 : 中国クラウド界隈

このエントリーをはてなブックマークに追加

Cloud Foundry Open Tour, Shanghai 1 : テクニカルセッション等ではCloudFoundry自体のテクニカルセッションについて書いたが、上海会場ということもあり企業ブースには中国において代表的なクラウド企業(IaaSの盛大雲、PaaSの新浪云计算)が出典をしておりつたない中国語ながら直接話を聞くことができた。また、テクニカルセッションや企業ブースにおいて受けた中国の開発者の印象についても感想を書いてみる。

▽ 中国クラウド事情
まず、中国クラウドを説明する前に中国特有のインターネット事情に触れる必要がある。
中国は周知のとおり情報規制と国内情報産業の保護を目的としてGreatFireWall(以下GFW)と言うものがあり国の気にくわない外国コンテンツはアクセスが制限されるというかタイムアウトされたり存在しないことにされてしまう。その為に中国国内向けのコンテンツは中国国内のサーバに配置しないと突然GFWによりアクセス制限をされてしまう可能性がある。さらに国内でコンテンツを公開する為にはICPと呼ばれる許可証を取得しなければならないが、このICPが国内サーバーでなければ取得できないのだ。(ただICPの取り消しだって役所の権限で決まるのだから回線の問題を抜きにすれば外国サーバーで良い気もするのではあるけど・・・)

上記の特殊性も有り、中国では開発者はサーバーが国外にあるためそもそもアクセスできない、アクセスできても国外のサーバーはいつアクセスブロックされるかわからないため実戦で採用できないなどハードルが異常に高かった。実際、AWSについてはアクセスは可能なものの、中国国内(香港を除く)リージョンやCDNのエッジサーバーがないためスピードも遅くインフラとして採用する必然性がどこにもなかったし、GoogleAppEngineにいたってはそもそも初期の頃をのぞいてもう恒常的にアクセスできないという絶望的な状況が続いている。では中国ではクラウドは利用できないのかというとそうでもなく、IaaSとして盛大云、PaaSとして新浪云计算がある。

▽ IaaS: 盛大云 Shèngdà yún
日本の漢字で書くと盛大雲(GrandCloud)となる。一言で言うとAWSの中国版と考えれば良く、提供されているサービスもそれに類するものである。ブースに出張っていた担当者に言わせると「盛大云は中国でのAWSです!」とのことであった。
ソリューションとしては2012年4月時点で下記が提供されている。

  • 云主机 ( Yún zhǔjī )
    仮想サーバー、EC2に相当、ただしAWSと異なり転送量ではなく 2/5/10/20/50/100/200Mの専用回線を1本あるいは2本別途借りる必要がある
  • 云硬盘 ( Yún yìngpán )
    仮想ハードディスク、EBSに相当、 料金は0.026元/G/日(現在は割引セールで0.016元)のみ
  • 云分发 ( Yún fēnfā )
    CDNサービス、AkamaiとかCloudFrontに相当、料金はリクエスト数(1万req単位)と流量(GB単位)によって決定され、通常のコンテンツ用と音声映像用があり後者の方が若干安い
  • 云存储 ( Yún chúcún )
    ストレージサービス、S3に相当、料金はリクエスト数(GET0.1元/1万req、GET以外0.1元/1千req単位)、データ保存量(1元/G/日)、データ転送量(インバウンドは無料、アウトバウンドが0.8元/Gから)によって決定される
  • 云监控 ( Yún jiānkòng )
    監視サービス、CloudWatchに相当、無料
  • MongoIC
    SimpleDBに相当するわけだが、普通にMongoDBを動かしている。 料金はデータ保存量、バックアップ回数、ミラーリング回数、データ転送量によって決定される
  • 数据库云 ( Shùjùkù yún )
    データベースサービス、RDSに相当するが、MySQLのみのRDSと異なり MySQL、mongoDB、redis、PostgreSQL、SQL Serverが提供されている。料金は稼働サーバー種別(超微/微型/小型/标准/大型/超大型)毎の利用時間(1時間単位のみ)、データ保存量(0.0025元/G/小时)で決定される、ちなみにストレージのサイズは5GB以上500GB未満と書いてある
  • 网站云 ( Wǎngzhàn yún )
    これはクラウドというよりはLAMPのホスティングサービスで価格は月、年単位で払う。一例として1コア/512MB/7.5GB/2M専用線のベーシックプラン(基本型)だと月126元、年1520元となる
ラインナップだけで言えば2年程前のAWSに近い、ただしAWSとは致命的に異なる部分として、ぱっと技術ドキュメントを見る限りにおいては云存储以外において管理APIを提供していない部分である。AWSはただの仮想サーバーサービスではなくCloudWatchの情報をベースに動的にサーバーの複製や追加など行動な管理をAPIによってコントロールでき、それが物理サーバーに対する大きなアドバンテージになっているため、AWSと比べると盛大云は真のIaaSクラウドとは言い難い気がする。ただ、APIが存在せず各サービスを有機的にコントロールできない事を除けば中国国内でCDNである云分发や、ストレージサービスとしての云存储がわかりやすく提供されているのは中国国内展開を図る企業にとっては検討に値するのではないだろうかと思う。
日本とは異なり携帯電話でのメールのやりとりはSMSが主流であり、実際AWSでもSimpleNotificationServiceとしてSMSの送信がサポートされているのだが、この点についてブースの担当者に聞くと
「現在は提供しておらず、予定もないため、どうしても必要なら淘宝(Taobao)あたりで安く売ってるからそれを使ってはどうでしょう?」
と、なんとも中国らしい回答だったw

▽ PaaS: 新浪云计算(Xīnlàng yún jìsuàn)
新浪云计算(Sina Cloud)は中国版Twitterとして知られる新浪微薄を運営している新浪の研究開発部門である新浪网研发中心が運営している。新浪云计算はクラウドサービスとして下記の3つのサービスを持っている。2年ほど前にSinaAppEngineを知った際は単にGoogleAppEngineを模倣したクラウドPHPプラットフォームだと思っていたがどうもだいぶ異なった進化を遂げているみたいだ。新浪云计算において云应用商店は開発者を対称とした巨大なクラウドアプリケーションマーケットであり、SAEは利用者および開発者向けのクラウドプラットフォーム、そして新浪云计算企业服务はエンタープライズクラウドサービスである。

  1. 云应用商店
    SAE上で開発したアプリやフレームワークをパッケージとして販売、配布するためのアップマーケットで、SAEのユーザーはマーケットで選択したアプリやフレームワークを自分のSAE上にインスタンスとしてインストールをして利用する。開発者はアプリやフレームワークを開発して配布することができる。
  2. 新浪云平台(SAE)
    開発、公開の為のみではなく利用者もマーケットからアプリを自分のインスタンスとしてインストールできる。
    SAEの課金は内部の仮想通貨である云豆()が利用される。レートは100云豆=1元で内部の書くサービスの利用に伴いチャージしてある云豆で支払いが行われる。また、アプリをたくさん公開したりしている開発者は中级<高级<资深というようにランクアップし云豆によって月給が支払われるようだ。
  3. 新浪云计算企业服务
    エンタープライズクラウドサービスの総称でサブサービスとしてMAE(プライベートクラウドソリューション)、SAE+、第三方服务接入(サードパーティサービスの利用と課金提供)、24時間技術サポート が含まれる。担当者の話では中国の銀行(たしか中信銀行)もこのサービスを利用しているとのことである
この3つは独立したサービスではなく下記の様に相互に関連し一つの大きなエコシステムを構成している様である。

正直思ったより壮大で、新浪云计算の調査レポートだけで記事が何本も書ける規模である。特にエンタープライズサービスにおける第三方服务接入などはサービスとして提供したいAPIのPHP、Ruby、Python、Java 、Objective-C、node.js等のSDKを自動生成してくれたりするらしく非常に興味深いが、ここではSAEの技術的な側面についてもう少しだけ紹介するだけに抑えたい。

さて、新浪云计算のクラウドシステムの中核を担うプラットフォームとしての新浪云平台(SAE)であるが、一言で言うとLAMPのためのクラウド、ぶっちゃけPHP開発者のためのクラウド(※)である。ただ、その提供するサービスは多岐にわたり代表的なものだけで下記がある。

※ただし既にPython版Java版もクローズドベータの提供が開始されており、担当者の話だとRubyやnode.jsなども対応するとのことであった

サービス名 サービスタイプ 説明
HTTP+PHP 同期処理 ApacheとZENDによるSAEサンドボックス実行環境
Storage 永続化ストレージ ファイルシステムだがドキュメントを見る限りはS3に近い
Memcache テンポラリストレージ もうそのままMemcachedのサービス
RDC 永続化ストレージ MySQLによるDBサービス
TaskQueue 非同期処理 比較的軽量な処理向けの非同期サービス
DeferredJob 非同期処理 重い処理向けの非同期サービス
Counter 永続化ストレージ 特典とかのインクリメントされるスケーラブルなデータ管理サービス
RankDB 永続化ストレージ ランキングリストを管理するサービス
KVDB 永続化ストレージ KVS
Cron 非同期処理 cronサービス
FetchURL 同期処理 HTTP通信によるコンテンツの取得サービス
TmpFS テンポラリストレージ テンポラリファイルシステム、HTTPのリクエストが完了すると揮発してしまう
AppConfig Apache htaccessに変わるアプリケーションのデプロイ設定などを記述
Mail 非同期処理 メール送信サービス
Image 同期処理 図形処理サービス
XHProf 同期処理 Facebookが提供している強力なPHPのチューニングツール
SVN 永続化ストレージ バージョンコントロール、subversion
Online CodeEditor 永続化ストレージ オンラインコードエディター、svnやサーバーと連動している

SAEとLAMPの大きな環境差異としては大きく4つありこれらはいずれも上記のサービスで代替しろとの説明がある。

  • ローカルIO
    TmpFSやStrage、Memcacheを利用
  • アプリケーションデプロイ
    AppConfigを記述してデプロイ
  • ネットワークIO
    FetchURLを利用、あるいはcUrlやSocket通信を利用可能だがSSLは利用できない(おそらくこれは国による検閲のため?)
  • メール送信
    Mailサービスを経由してメール送信を行う
開発プロセスとしては、ローカルで開発を行いSAE上にデプロイという流れになると思われるが、ローカル向けのSAE環境も複数用意されているようだ。また、非常に充実した開発ドキュメント開発者コミュニティが準備されており好印象である。もっと突っ込んで調査したいのであるが、あまりにも対象範囲が広いため技術部分については別な記事で書きたいと思う。

感想としてIaaSの盛大云と比べるとSAEはこれから始まると言うより、既に広く利用されておりプラットフォームとしても成熟し始めている印象が強く、中国国内においてLAMPサービスを展開するのであればSAEを利用することを前提にしても決してやりすぎではないと思った。
実際、ブースに居た担当者も新浪で動いているアプリケーションの7割(微薄とかのプラットフォームではない)は既に何らかの形でSAEを利用しており、エンタープライズ版は銀行での採用例もあるため安定性にもまったく不安はないよと自信満々で話していたw

▽ 中国のエンジニア達
まず、このカンファレンスに参加していたエンジニア達であるが全体としてクラウドに対してはあまり知らない感じであり、企業ブースにいても的外れな質問や担当者による初歩的な説明が目立っており、クラウド関連の技術レベル面としてはいまいちな感じであった。
その一方で、 非常に驚いたのがこのカンファレンスでは外国人のスピーチでも通訳が一切おらず、質疑応答でも英語でやりとりをしていたことだ。もちろん全てのエンジニアがそういうわけではないだろうが、正直これには大きな衝撃を受けた。今の日本ではどうなのか知らないが、私が日本に居た5、6年前はこの手の講演には同時通訳がいて、質疑応答でも通訳がサポートしてくれたと記憶している。中国の開発者すげえな!!

# 2回に渡りCloud Foundry Open Tour, Shanghaiのレポートをしたが、SAEの規模が大きく下調べで時間がかかり、前回から約1週間程開いてしまった。引き続きSAEや盛大雲については調査を行っていきたいと思う。